aboutsummaryrefslogtreecommitdiff
path: root/tests/qtest/libqos/pci-pc.c
diff options
context:
space:
mode:
authorEric Auger <eric.auger@redhat.com>2022-05-04 17:20:23 +0200
committerPaolo Bonzini <pbonzini@redhat.com>2022-05-12 12:07:06 +0200
commit3df72d1c5500347eac0b5b6d9894713dc443a079 (patch)
tree93b0bc1da8f32e94d8478d31b16849bec1c9746c /tests/qtest/libqos/pci-pc.c
parent76acef2b735729c642c54385b7566de509506d9a (diff)
tests/qtest/libqos/pci: Introduce pio_limit
At the moment the IO space limit is hardcoded to QPCI_PIO_LIMIT = 0x10000. When accesses are performed to a bar, the base address of this latter is compared against the limit to decide whether we perform an IO or a memory access. On ARM, we cannot keep this PIO limit as the arm-virt machine uses [0x3eff0000, 0x3f000000 ] for the IO space map and we are mandated to allocate at 0x0. Add a new flag in QPCIBar indicating whether it is an IO bar or a memory bar. This flag is set on QPCIBar allocation and provisionned based on the BAR configuration. Then the new flag is used in access functions and in iomap() function. Signed-off-by: Eric Auger <eric.auger@redhat.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20220504152025.1785704-2-eric.auger@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'tests/qtest/libqos/pci-pc.c')
-rw-r--r--tests/qtest/libqos/pci-pc.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/tests/qtest/libqos/pci-pc.c b/tests/qtest/libqos/pci-pc.c
index e9dd5a57ec..81c2c055ca 100644
--- a/tests/qtest/libqos/pci-pc.c
+++ b/tests/qtest/libqos/pci-pc.c
@@ -150,6 +150,7 @@ void qpci_init_pc(QPCIBusPC *qpci, QTestState *qts, QGuestAllocator *alloc)
qpci->bus.qts = qts;
qpci->bus.pio_alloc_ptr = 0xc000;
+ qpci->bus.pio_limit = 0x10000;
qpci->bus.mmio_alloc_ptr = 0xE0000000;
qpci->bus.mmio_limit = 0x100000000ULL;