On Tue, Sep 09, 2014 at 01:16:41PM -0400, John Snow wrote: > > > On 08/21/2014 01:44 PM, John Snow wrote: > >This submission does not re-send earlier patches in the series which > >have already been merged into QEMU, which were primarily staging > >fixes and small tweaks to support this smaller set of patches. > > > >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 under the > >libqos / qtest environment. > > > >In V3+, there is one assertion for incorrect behavior that is expected to > >be fixed in a future patch set, where the Descriptor Processed interrupt > >is not set or posted within the identify test. > > > >V4: > > - Endianness fixes, primarily in ahci_test_identify, tested on ppc64 > > - Style issues (define and structure names) > > - Reshuffled barsize changes into later, more relevant patches > > - Some additional comments for clarification. > > > >V3: > > - All tests complete successfully. > > - Fixed the PCI capabilities ordering for AHCI. > > - Corrected the boot-time values of the PxTFD and PxSIG registers > > - Corrected PxTFD register being updated prior to PxCMD.FRE being set > > > >V2: > >"ide-test: add test for werror=stop" > > - changed filename variable name > > - altered the QMP event polling to avoid sleep > > - debug_path file cleanup on exit. > >"ide: stop PIO transfer on errors" > > - Modified logic to be unconditional. > >"ahci: construct PIO Setup FIS for PIO commands" > > - Added in dma_memory_map success checks and error pathways. > >"libqtest: Correct small memory leak." > > - Corrected raw usage of free() > >"ahci: Adding basic functionality qtest." > > - Removed HBA type. > > - Corrected cleanup order. > > - Corrected raw usage of free() > > - Removed needless conditional around g_free() > > - Altered ahci_boot to return by value instead of parameter. > >"ahci: Add test_pci_spec to ahci-test." > > - Removed all ifdef logic in favor of runtime tuning. (--pedantic) > > - Removed all warnings, all infractions are now hard assertions. > > - Replaced g_assert with g_assert_cmphex in many cases > >"ahci: add test_pci_enable to ahci-test." > > - Removed MSI codepaths, as it was incomplete and unused. > >"ahci: Add test_hba_spec to ahci-test." > > - Removed unneeded macros > > - Added in an optional bar_size return parameter to qpci_iomap > >"ahci: Add test_identify case to ahci-test." > > - Corrected raw usage of free() > > > >For convenience; https://github.com/jnsnow/qemu/tree/ahci-test-v4 > > > >John Snow (8): > > ahci: Adding basic functionality qtest. > > ahci: MSI capability should be at 0x80, not 0x50. > > ahci: Add test_pci_spec to ahci-test. > > ahci: add test_pci_enable to ahci-test. > > ahci: properly shadow the TFD register > > ahci: Add test_hba_spec to ahci-test. > > ahci: Add test_hba_enable to ahci-test. > > ahci: Add test_identify case to ahci-test. > > > > hw/ide/ahci.c | 42 +- > > hw/ide/ich.c | 7 +- > > tests/Makefile | 2 + > > tests/ahci-test.c | 1561 > > ++++++++++++++++++++++++++++++++++++++++++++++++++++ > > tests/libqos/pci.c | 6 + > > 5 files changed, 1603 insertions(+), 15 deletions(-) > > create mode 100644 tests/ahci-test.c > > > > > Ping?
Stefan?