qemu-e2k/hw
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
..
9pfs hw/9pfs: Be robust against paths without FS_IOC_GETVERSION 2013-05-28 15:23:12 +05:30
acpi piix: fix some printf errors when debug is enabled 2013-06-14 14:38:45 +04:00
alpha include: avoid useless includes of exec/ headers 2013-04-15 18:19:26 +02:00
arm arm: Remove CONFIG_FDT conditionals 2013-06-14 15:34:19 +01:00
audio Merge branch 'realize-isa.v2' of git://github.com/afaerber/qemu-cpu 2013-06-15 10:53:44 +00:00
block dma: eliminate DMAContext 2013-06-20 16:39:52 +02:00
bt sysemu: avoid proliferation of include/ subdirectories 2013-04-15 18:19:25 +02:00
char char/serial: fix copy&paste error (fifo8_is_full vs empty) 2013-06-17 12:57:50 +04:00
core memory: make section size a 128-bit integer 2013-06-20 16:32:47 +02:00
cpu target-i386: Move APIC to ICC bus 2013-05-01 13:06:07 +02:00
cris hw: move private headers to hw/ subdirectories. 2013-04-08 18:13:16 +02:00
display memory: make section size a 128-bit integer 2013-06-20 16:32:47 +02:00
dma dma: eliminate DMAContext 2013-06-20 16:39:52 +02:00
gpio Remove unneeded type casts 2013-04-19 11:36:33 +02:00
i2c qdev: Drop FROM_QBUS() macro 2013-06-07 14:55:33 +02:00
i386 pc: Make -no-fd-bootchk stick across boot order changes 2013-06-19 14:10:43 -05:00
ide ide: Add handler to ide_cmd_table 2013-06-24 10:25:15 +02:00
input isa: Use realizefn for ISADevice 2013-06-07 12:14:45 +02:00
intc intc/xilinx_intc: Dont lower IRQ when HIE cleared 2013-06-18 09:45:00 +02:00
isa isa: QOM'ify ISADevice 2013-06-07 14:55:33 +02:00
lm32 qdev: Drop taddr properties 2013-04-20 17:54:52 +00:00
m68k hw: move char devices to hw/char/, configure via default-configs/ 2013-04-08 18:13:14 +02:00
microblaze microblaze/petalogix_s3adsp1800_mmu: Fix UART IRQ 2013-06-18 09:44:59 +02:00
mips remove some double-includes 2013-05-18 16:35:12 +04:00
misc vfio: abort if an emulated iommu is used 2013-06-20 16:32:47 +02:00
moxie Trivial grammar and spelling fixes 2013-05-01 20:55:21 +04:00
net Merge branch 'realize-isa.v2' of git://github.com/afaerber/qemu-cpu 2013-06-15 10:53:44 +00:00
nvram fw_cfg: fw_cfg is a singleton 2013-06-02 18:14:14 +03:00
openrisc hw: move headers to include/ 2013-04-08 18:13:10 +02:00
pci memory: give name to every AddressSpace 2013-06-20 16:39:52 +02:00
pci-bridge dec.c - move to pci-bridge 2013-06-02 18:13:37 +03:00
pci-host dec.c - move to pci-bridge 2013-06-02 18:13:37 +03:00
ppc memory: give name to every AddressSpace 2013-06-20 16:39:52 +02:00
s390x virtio-rng: Fix crash with non-default backend 2013-06-18 10:05:45 -05:00
scsi dma: eliminate DMAContext 2013-06-20 16:39:52 +02:00
sd dma: eliminate DMAContext 2013-06-20 16:39:52 +02:00
sh4 arm: fix location of some include files 2013-04-15 15:16:01 +02:00
sparc refer to FWCfgState explicitly 2013-06-02 18:14:02 +03:00
sparc64 isa: QOM'ify ISABus 2013-06-07 14:55:25 +02:00
ssi qdev: Drop FROM_QBUS() macro 2013-06-07 14:55:33 +02:00
timer i8254: Convert PITCommonState to QOM realizefn 2013-06-07 14:55:24 +02:00
tpm Move TPM passthrough specific command line options to backend structure 2013-04-23 10:40:40 -05:00
unicore32 console: add device link to QemuConsoles 2013-04-25 14:45:46 -05:00
usb dma: eliminate DMAContext 2013-06-20 16:39:52 +02:00
virtio memory: make section size a 128-bit integer 2013-06-20 16:32:47 +02:00
watchdog wdt_i6300esb: fix vmstate versioning 2013-06-18 13:44:37 -05:00
xen memory: make section size a 128-bit integer 2013-06-20 16:32:47 +02:00
xtensa sysemu: avoid proliferation of include/ subdirectories 2013-04-15 18:19:25 +02:00
Makefile.objs virtio: simplify Makefile conditionals 2013-04-19 16:18:11 +02:00