Currently, the AHCI device tries to re-map guest memory every time the low or high address registers are written to, whether or not the AHCI device is currently active. If the other register has stale information in it, this may lead to runtime failures.
Reconfigure the AHCI device to ignore writes to these registers while the device is active, and otherwise postpone the dma memory map until the device becomes active. John Snow (2): AHCI: Do not (re)map FB/CLB buffers while not running AHCI: Protect cmd register hw/ide/ahci.c | 61 ++++++++++++++++++++++++++++++++++++++++++++--------------- hw/ide/ahci.h | 2 ++ 2 files changed, 48 insertions(+), 15 deletions(-) -- 1.9.3