Clearly, AHCI as is is not perfect yet (intentionally, release early, release often, remember?). This patch set makes it work with SeaBIOS so booting Windows 7 works flawlessly for me. it also adds some speedups and fixes a level based interrupts, rendering ahci useful on PPC targets.
In preparation of potential non-ich9 implementations, this set also splits ahci code from concrete ich9 specific code. That way we can later on create other AHCI adapters while reusing a lot of code. Git tree (including BIOS patch to enable booting from AHCI): git://repo.or.cz/qemu/ahci.git ahci v1 -> v2: - drop dma helper removal - drop "free dynamically allocated iovs" patch - add "add license header in ahci.h" - rephrase interrupt bugfix - add comment on d2h delay hack Alexander Graf (6): ahci: add license header in ahci.h ahci: split ICH and AHCI even more ahci: send init d2h fis on fis enable ahci: Implement HBA reset ahci: make number of ports runtime determined ahci: work around bug with level interrupts Sebastian Herbszt (1): ahci: split ICH9 from core Makefile.objs | 1 + hw/ide/ahci.c | 488 +++++++-------------------------------------------------- hw/ide/ahci.h | 333 +++++++++++++++++++++++++++++++++++++++ hw/ide/ich.c | 148 +++++++++++++++++ 4 files changed, 540 insertions(+), 430 deletions(-) create mode 100644 hw/ide/ahci.h create mode 100644 hw/ide/ich.c