qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [WIP PATCH 00/24] IDE cleanups, initial work on AHCI rerror


From: Paolo Bonzini
Subject: [Qemu-devel] [WIP PATCH 00/24] IDE cleanups, initial work on AHCI rerror/werror=stop
Date: Mon, 28 Oct 2013 17:43:16 +0100

Hi all,

this is some cleanup to the IDE code that I started long ago
and picked up again on my flight back from KVM Forum...

The patches clean up the callbacks to prepare for implementing request
retry for AHCI.  After these patches, PIO retry should work for AHCI and
non-NCQ retry should be very close (you need an implementation of the
new restart_dma callback).  NCQ retry and save/restore is AHCI-specific
and has to be done separately, similar to how we do it for SCSI already.

Patches 1-4 set up a new (incomplete) testcase.  Patches 5-13 are no-op
cleanups, or so I hope.  Patches 14-23 genericize retry and make it
"just work" for all adapters for PIO.  Patch 24 is another cleanup that
could probably be moved earlier in the series.

Throwing it out since I know Kevin and mst are working on AHCI, to avoid
doing duplicate work.  Patches 2 and 4 are known to be racy and
incomplete.  Extremely light testing, if something breaks tells me and
I'll look at it.

Paolo

Paolo Bonzini (24):
  blkdebug: report errors on flush too
  libqtest: return progress from qmp/qmpv
  libqtest: add QTEST_LOG for debugging qtest testcases
  ide-test: add test for werror=stop
  ide: simplify reset callbacks
  ide: simplify set_inactive callbacks
  ide: simplify async_cmd_done callbacks
  ide: simplify start_transfer callbacks
  ide: wrap start_dma callback
  ide: add trigger_irq callback
  ide: fold add_status callback into set_inactive
  ide: move BM_STATUS bits to pci.[ch]
  ide: move retry constants out of BM_STATUS_* namespace
  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

 block/blkdebug.c  |  20 ++++++++
 hw/ide/ahci.c     |  45 +++-------------
 hw/ide/atapi.c    |  14 +++--
 hw/ide/cmd646.c   |   3 +-
 hw/ide/core.c     | 151 +++++++++++++++++++++++++++++++++++++++---------------
 hw/ide/internal.h |  48 ++++++++---------
 hw/ide/macio.c    |  15 ------
 hw/ide/pci.c      | 130 +++++++++++-----------------------------------
 hw/ide/pci.h      |  19 ++++---
 hw/ide/piix.c     |   3 +-
 hw/ide/via.c      |   3 +-
 tests/ide-test.c  |  74 ++++++++++++++++++++++++++
 tests/libqtest.c  |  17 ++++--
 tests/libqtest.h  |  17 +++---
 14 files changed, 307 insertions(+), 252 deletions(-)

-- 
1.8.3.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]