On Tue, Dec 16, 2014 at 08:35:50PM -0500, 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(-)
Looks good but please double-check input validation for migrated fields. I pointed out a patch that seems to lack input validation. Stefan
pgpyvslVqWw0F.pgp
Description: PGP signature