This series contains a number of cleanups to the libqos code for accessing PCI devices, and to tests which use it.
The general aim is to improve the consistency of semantics across functions, and reduce the amount of intimate knowledge of the libqos PCI layer needed by tests. This should make it easier to write PCI tests which will be portable to different guest machines with different PCI host bridge arrangements. This series is on top of my ppc-for-2.8 branch, since it contains patches enabling the virtio tests on ppc, which would otherwise conflict with the changes here. Changes since v3: * Fixed another endian bug introduced in ide-test Changes since v2: * Fixed build bugs in virtio-9p-test, which I didn't find earlier due to not having the right libraries installed * Fixed an endian bug I accidentally introduced in ide-test * Better handling of invalid BAR tokens Changes since v1: * Split out updates to tco-test into separate patch * Split out updates to ide-test into separate patch * Neater and more general handling of legacy PIO addresses * Removed now-redundant fields from platform specific bus structures * Introduced CONFIG_BASE() macro to virtio-pci to remove many similar assignments * Fixed handling of two guest testcasesin ivshmem * Added 64-bit accessors * Rebase on ppc-for-2.8 to avoid conflict with Laurent's series in the same area *** BLURB HERE *** David Gibson (11): libqos: Give qvirtio_config_read*() consistent semantics libqos: Handle PCI IO de-multiplexing in common code libqos: Move BAR assignment to common code libqos: Better handling of PCI legacy IO tests: Adjust tco-test to use qpci_legacy_iomap() libqos: Add streaming accessors for PCI MMIO libqos: Implement mmio accessors in terms of mem{read,write} tests: Clean up IO handling in ide-test libqos: Add 64-bit PCI IO accessors tests: Use qpci_mem{read,write} in ivshmem-test libqos: Change PCI accessors to take opaque BAR handle tests/ahci-test.c | 4 +- tests/e1000e-test.c | 7 +- tests/ide-test.c | 177 ++++++++++++++++++++++++++-------------- tests/ivshmem-test.c | 47 +++++++---- tests/libqos/ahci.c | 3 +- tests/libqos/ahci.h | 6 +- tests/libqos/pci-pc.c | 187 ++++++++++-------------------------------- tests/libqos/pci-spapr.c | 194 ++++++++++++-------------------------------- tests/libqos/pci.c | 196 +++++++++++++++++++++++++++++++++++++-------- tests/libqos/pci.h | 70 +++++++++++----- tests/libqos/usb.c | 6 +- tests/libqos/usb.h | 2 +- tests/libqos/virtio-mmio.c | 16 ++-- tests/libqos/virtio-pci.c | 123 ++++++++++++++-------------- tests/libqos/virtio-pci.h | 2 +- tests/rtl8139-test.c | 10 +-- tests/tco-test.c | 80 +++++++++--------- tests/usb-hcd-ehci-test.c | 5 +- tests/virtio-9p-test.c | 8 +- tests/virtio-blk-test.c | 42 +++------- tests/virtio-scsi-test.c | 4 +- 21 files changed, 598 insertions(+), 591 deletions(-) -- 2.7.4