Post-holiday bump that this is sitting out there, awaiting love.
If this gets merged, we should be able to enable Q35 migration soon,
which would be nice.
--js
On 12/16/2014 08:35 PM, John Snow wrote:
This series was written mostly by Paolo Bonzini to do two things:
1. Unify the restart callbacks for ISA, AHCI and BMDMA
2. Ensure we can restart a command after migration
Many of the early patches only make much sense considering the
end-goal of eliminating BMDMA specific restart code to be shared
with ISA and AHCI codepaths.
Migration for halted commands is fixed for ISA, PCI and AHCI.
As a consequence, operations halted via rerror=stop or werror=stop
should be able to be successfully migrated and resumed when using
ISA, PCI, or AHCI.
This series includes tests for ISA and PCI/BMDMA, but does not
yet include tests for AHCI, which require some more qtest work
to be upstreamed first. Regardless, the AHCI tests have been
written and can be observed at:
https://github.com/jnsnow/qemu/commits/ahci-devel-latest
See "ahci: add migrate dma test" and "ahci-test: add flush migrate test"
for the WIP versions of the AHCI test that I used to exercise this
patchset.
John Snow (3):
ahci: Migrate IDEStatus
ahci: Recompute cur_cmd on migrate post load
qtest/ide: Test flush / retry for ISA and PCI
Paolo Bonzini (14):
ide: start extracting ide_restart_dma out of bmdma_restart_dma
ide: prepare to move restart to common code
ide: introduce ide_register_restart_cb
ide: do not use BMDMA in restart callback
ide: pass IDEBus to the restart_cb
ide: move restart callback to common code
ide: remove restart_cb callback
ide: replace set_unit callback with more IDEBus state
ide: place initial state of the current request to IDEBus
ide: migrate initial request state via IDEBus
ide: commonize io_buffer_index initialization
ide: make more functions static
ide: support PIO restart for the ISA controller
ahci: add support for restarting non-queued commands
hw/ide/ahci.c | 37 +++++++++---------
hw/ide/atapi.c | 3 +-
hw/ide/cmd646.c | 3 +-
hw/ide/core.c | 109 +++++++++++++++++++++++++++++++++++++++++++++++-------
hw/ide/internal.h | 16 +++++---
hw/ide/isa.c | 3 +-
hw/ide/macio.c | 6 ---
hw/ide/pci.c | 98 ++++++++----------------------------------------
hw/ide/pci.h | 12 +++---
hw/ide/piix.c | 3 +-
hw/ide/via.c | 3 +-
tests/ide-test.c | 20 +++++++---
12 files changed, 165 insertions(+), 148 deletions(-)
--
—js