qemu-e2k/hw/ide
Kevin Wolf a0436e9239 ide: Add handler to ide_cmd_table
As a preparation for moving all IDE commands into their own function
like in the ATAPI code, introduce a 'handler' callback to ide_cmd_table.

Commands using this new infrastructure get some things handled
automatically:

* The BSY flag is set before calling the handler (in order to avoid bugs
  like the one fixed in f68ec837) and reset on completion.

* The (obsolete) DSC flag in the status register is set on completion if
  the command is flagged with SET_DSC in the command table

* An IRQ is triggered on completion.

* The error register and the ERR flag in the status register are cleared
  before calling the handler and on completion it is asserted that
  either none or both of them are set.

No commands are converted at this point.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2013-06-24 10:25:15 +02:00
..
ahci.c dma: eliminate DMAContext 2013-06-20 16:39:52 +02:00
ahci.h dma: eliminate DMAContext 2013-06-20 16:39:52 +02:00
atapi.c
cmd646.c ahci: Don't allow creating slave drives 2013-05-08 15:28:49 +02:00
core.c ide: Add handler to ide_cmd_table 2013-06-24 10:25:15 +02:00
ich.c dma: eliminate DMAContext 2013-06-20 16:39:52 +02:00
internal.h ahci: Don't allow creating slave drives 2013-05-08 15:28:49 +02:00
isa.c isa: Use realizefn for ISADevice 2013-06-07 12:14:45 +02:00
macio.c dma: eliminate DMAContext 2013-06-20 16:39:52 +02:00
Makefile.objs hw: make all of hw/ide/ configurable via default-configs/ 2013-04-08 18:13:12 +02:00
microdrive.c
mmio.c ahci: Don't allow creating slave drives 2013-05-08 15:28:49 +02:00
pci.c ide: Reset BMIDEA bit when the bus master is stopped 2013-05-08 15:28:49 +02:00
pci.h
piix.c ahci: Don't allow creating slave drives 2013-05-08 15:28:49 +02:00
qdev.c ahci: Don't allow creating slave drives 2013-05-08 15:28:49 +02:00
via.c ahci: Don't allow creating slave drives 2013-05-08 15:28:49 +02:00