aboutsummaryrefslogtreecommitdiff
path: root/test/py
diff options
context:
space:
mode:
Diffstat (limited to 'test/py')
-rw-r--r--test/py/libvfio_user.py9
-rw-r--r--test/py/test_vfu_realize_ctx.py20
2 files changed, 27 insertions, 2 deletions
diff --git a/test/py/libvfio_user.py b/test/py/libvfio_user.py
index 289f10a..976590c 100644
--- a/test/py/libvfio_user.py
+++ b/test/py/libvfio_user.py
@@ -84,6 +84,13 @@ PCI_EXT_CAP_DSN_SIZEOF = 12
PCI_EXT_CAP_VNDR_HDR_SIZEOF = 8
+PCI_BASE_ADDRESS_SPACE_IO = 0x01
+PCI_BASE_ADDRESS_SPACE_MEMORY = 0x00
+PCI_BASE_ADDRESS_MEM_TYPE_32 = 0x00
+PCI_BASE_ADDRESS_MEM_TYPE_1M = 0x02
+PCI_BASE_ADDRESS_MEM_TYPE_64 = 0x04
+PCI_BASE_ADDRESS_MEM_PREFETCH = 0x08
+
# MSI registers
PCI_MSI_FLAGS = 2 # Message Control offset
PCI_MSI_ADDRESS_LO = 4 # Message Address offset
@@ -201,6 +208,8 @@ VFU_REGION_FLAG_WRITE = 2
VFU_REGION_FLAG_RW = (VFU_REGION_FLAG_READ | VFU_REGION_FLAG_WRITE)
VFU_REGION_FLAG_MEM = 4
VFU_REGION_FLAG_ALWAYS_CB = 8
+VFU_REGION_FLAG_64_BITS = 16
+VFU_REGION_FLAG_PREFETCH = 32
VFIO_USER_F_DMA_REGION_READ = (1 << 0)
VFIO_USER_F_DMA_REGION_WRITE = (1 << 1)
diff --git a/test/py/test_vfu_realize_ctx.py b/test/py/test_vfu_realize_ctx.py
index ab0b86a..4b001a4 100644
--- a/test/py/test_vfu_realize_ctx.py
+++ b/test/py/test_vfu_realize_ctx.py
@@ -73,14 +73,30 @@ def test_vfu_realize_ctx_pci_bars():
ret = vfu_setup_region(ctx, index=VFU_PCI_DEV_BAR1_REGION_IDX, size=4096,
flags=(VFU_REGION_FLAG_RW | VFU_REGION_FLAG_MEM))
assert ret == 0
+ ret = vfu_setup_region(ctx, index=VFU_PCI_DEV_BAR2_REGION_IDX,
+ size=1048576,
+ flags=(VFU_REGION_FLAG_RW | VFU_REGION_FLAG_MEM
+ | VFU_REGION_FLAG_64_BITS))
+ assert ret == 0
+ ret = vfu_setup_region(ctx, index=VFU_PCI_DEV_BAR4_REGION_IDX,
+ size=1073741824,
+ flags=(VFU_REGION_FLAG_RW | VFU_REGION_FLAG_MEM
+ | VFU_REGION_FLAG_64_BITS
+ | VFU_REGION_FLAG_PREFETCH))
+ assert ret == 0
ret = vfu_realize_ctx(ctx)
assert ret == 0
# region_type should be set non-MEM BAR, unset otherwise
hdr = get_pci_header(ctx)
- assert hdr.bars[0].io == 0x1
- assert hdr.bars[1].io == 0
+ assert hdr.bars[0].io == PCI_BASE_ADDRESS_SPACE_IO
+ assert hdr.bars[1].mem == PCI_BASE_ADDRESS_SPACE_MEMORY
+ assert hdr.bars[2].mem == (PCI_BASE_ADDRESS_SPACE_MEMORY
+ | PCI_BASE_ADDRESS_MEM_TYPE_64)
+ assert hdr.bars[4].mem == (PCI_BASE_ADDRESS_SPACE_MEMORY
+ | PCI_BASE_ADDRESS_MEM_TYPE_64
+ | PCI_BASE_ADDRESS_MEM_PREFETCH)
vfu_destroy_ctx(ctx)