qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [WIP PATCH 00/24] IDE cleanups, initial work on AHCI rerror/werror=stop
@ 2013-10-28 16:43 Paolo Bonzini
  2013-10-28 16:43 ` [Qemu-devel] [PATCH 01/24] blkdebug: report errors on flush too Paolo Bonzini
                   ` (25 more replies)
  0 siblings, 26 replies; 49+ messages in thread
From: Paolo Bonzini @ 2013-10-28 16:43 UTC (permalink / raw)
  To: qemu-devel; +Cc: mst

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

^ permalink raw reply	[flat|nested] 49+ messages in thread

end of thread, other threads:[~2013-10-30 16:56 UTC | newest]

Thread overview: 49+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-10-28 16:43 [Qemu-devel] [WIP PATCH 00/24] IDE cleanups, initial work on AHCI rerror/werror=stop Paolo Bonzini
2013-10-28 16:43 ` [Qemu-devel] [PATCH 01/24] blkdebug: report errors on flush too Paolo Bonzini
2013-10-30 12:01   ` Kevin Wolf
2013-10-28 16:43 ` [Qemu-devel] [PATCH 02/24] libqtest: return progress from qmp/qmpv Paolo Bonzini
2013-10-30 12:06   ` Kevin Wolf
2013-10-30 12:10     ` Paolo Bonzini
2013-10-28 16:43 ` [Qemu-devel] [PATCH 03/24] libqtest: add QTEST_LOG for debugging qtest testcases Paolo Bonzini
2013-10-30 12:08   ` Kevin Wolf
2013-10-28 16:43 ` [Qemu-devel] [PATCH 04/24] ide-test: add test for werror=stop Paolo Bonzini
2013-10-28 16:43 ` [Qemu-devel] [PATCH 05/24] ide: simplify reset callbacks Paolo Bonzini
2013-10-28 16:43 ` [Qemu-devel] [PATCH 06/24] ide: simplify set_inactive callbacks Paolo Bonzini
2013-10-30 12:20   ` Kevin Wolf
2013-10-28 16:43 ` [Qemu-devel] [PATCH 07/24] ide: simplify async_cmd_done callbacks Paolo Bonzini
2013-10-28 16:43 ` [Qemu-devel] [PATCH 08/24] ide: simplify start_transfer callbacks Paolo Bonzini
2013-10-28 16:43 ` [Qemu-devel] [PATCH 09/24] ide: wrap start_dma callback Paolo Bonzini
2013-10-30 12:29   ` Kevin Wolf
2013-10-30 12:44     ` Paolo Bonzini
2013-10-28 16:43 ` [Qemu-devel] [PATCH 10/24] ide: add trigger_irq callback Paolo Bonzini
2013-10-30 12:47   ` Kevin Wolf
2013-10-30 13:16     ` Paolo Bonzini
2013-10-30 13:34       ` Kevin Wolf
2013-10-30 14:33         ` Paolo Bonzini
2013-10-28 16:43 ` [Qemu-devel] [PATCH 11/24] ide: fold add_status callback into set_inactive Paolo Bonzini
2013-10-28 16:43 ` [Qemu-devel] [PATCH 12/24] ide: move BM_STATUS bits to pci.[ch] Paolo Bonzini
2013-10-28 16:43 ` [Qemu-devel] [PATCH 13/24] ide: move retry constants out of BM_STATUS_* namespace Paolo Bonzini
2013-10-30 12:55   ` Kevin Wolf
2013-10-28 16:43 ` [Qemu-devel] [PATCH 14/24] ide: start extracting ide_restart_dma out of bmdma_restart_dma Paolo Bonzini
2013-10-28 16:43 ` [Qemu-devel] [PATCH 15/24] ide: prepare to move restart to common code Paolo Bonzini
2013-10-30 12:14   ` Paolo Bonzini
2013-10-28 16:43 ` [Qemu-devel] [PATCH 16/24] ide: introduce ide_register_restart_cb Paolo Bonzini
2013-10-30 13:13   ` Kevin Wolf
2013-10-30 13:19     ` Paolo Bonzini
2013-10-28 16:43 ` [Qemu-devel] [PATCH 17/24] ide: do not use BMDMA in restart callback Paolo Bonzini
2013-10-28 16:43 ` [Qemu-devel] [PATCH 18/24] ide: pass IDEBus to the restart_cb Paolo Bonzini
2013-10-30 12:19   ` Paolo Bonzini
2013-10-28 16:43 ` [Qemu-devel] [PATCH 19/24] ide: move restart callback to common code Paolo Bonzini
2013-10-28 16:43 ` [Qemu-devel] [PATCH 20/24] ide: remove restart_cb callback Paolo Bonzini
2013-10-28 16:43 ` [Qemu-devel] [PATCH 21/24] ide: replace set_unit callback with more IDEBus state Paolo Bonzini
2013-10-28 16:43 ` [Qemu-devel] [PATCH 22/24] ide: place initial state of the current request to IDEBus Paolo Bonzini
2013-10-28 16:43 ` [Qemu-devel] [PATCH 23/24] ide: migrate initial request state via IDEBus Paolo Bonzini
2013-10-28 16:43 ` [Qemu-devel] [PATCH 24/24] ide: commonize io_buffer_index initialization Paolo Bonzini
2013-10-28 17:16 ` [Qemu-devel] [WIP PATCH 00/24] IDE cleanups, initial work on AHCI rerror/werror=stop Michael S. Tsirkin
2013-10-28 17:26   ` Paolo Bonzini
2013-10-28 18:00     ` Michael S. Tsirkin
2013-10-28 18:36       ` Paolo Bonzini
2013-10-28 18:42         ` Michael S. Tsirkin
2013-10-29  9:10           ` Paolo Bonzini
2013-10-29 18:30 ` Kevin Wolf
2013-10-30 16:56   ` Paolo Bonzini

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).