This patch series introduces a number of small fixes and tweaks to help support an AHCI test suite that in the future I hope to expand to a fuller regression suite to help guide the development of the AHCI device support under, in particular, the Q35 machine type in QEMU.
Paolo Bonzini has contributed a number of cleanup and refactoring patches that support changes to the PIO setup FIS packet construction code, which is necessary for testing ths specification adherence of the IDENTIFY command, which issues its data exclusively via PIO mechanisms. The ahci-test code being checked in represents a minimum of functionality needed in order to issue and receive commands from the AHCI HBA. John Snow (11): q35: Enable the ioapic device to be seen by qtest. qtest: Adding qtest_memset and qmemset. libqos: Correct memory leak libqtest: Correct small memory leak. libqos: Fixes a small memory leak. ahci: Adding basic functionality qtest. ahci: Add test_pci_spec to ahci-test. ahci: add test_pci_enable to ahci-test. ahci: Add test_hba_spec to ahci-test. ahci: Add test_hba_enable to ahci-test. ahci: Add test_identify case to ahci-test. Paolo Bonzini (17): blkdebug: report errors on flush too libqtest: add QTEST_LOG for debugging qtest testcases ide-test: add test for werror=stop ide: stash aiocb for flushes ide: simplify reset callbacks ide: simplify set_inactive callbacks ide: simplify async_cmd_done callbacks ide: simplify start_transfer callbacks ide: wrap start_dma callback ide: remove wrong setting of BM_STATUS_INT ide: fold add_status callback into set_inactive ide: move BM_STATUS bits to pci.[ch] ide: move retry constants out of BM_STATUS_* namespace ahci: remove duplicate PORT_IRQ_* constants ide: stop PIO transfer on errors ide: make all commands go through cmd_done ahci: construct PIO Setup FIS for PIO commands block/blkdebug.c | 20 + hw/i386/pc_q35.c | 2 +- hw/ide/ahci.c | 100 +-- hw/ide/ahci.h | 21 - hw/ide/atapi.c | 11 +- hw/ide/core.c | 96 +-- hw/ide/internal.h | 38 +- hw/ide/macio.c | 9 - hw/ide/pci.c | 45 +- hw/ide/pci.h | 7 + tests/Makefile | 2 + tests/ahci-test.c | 1579 ++++++++++++++++++++++++++++++++++++++++++++++ tests/ide-test.c | 74 +++ tests/libqos/malloc-pc.c | 3 + tests/libqos/pci-pc.c | 7 + tests/libqos/pci-pc.h | 1 + tests/libqtest.c | 20 +- tests/libqtest.h | 24 + 18 files changed, 1878 insertions(+), 181 deletions(-) create mode 100644 tests/ahci-test.c -- 1.9.3