qemu-e2k/hw/ide
Peter Lieven 5f81724d80 ide/atapi: make PIO read requests async
PIO read requests on the ATAPI interface used to be sync blk requests.
This has two significant drawbacks. First the main loop hangs util an
I/O request is completed and secondly if the I/O request does not
complete (e.g. due to an unresponsive storage) Qemu hangs completely.

Note: Due to possible race conditions requests during an ongoing
elementary transfer are still sync.

Signed-off-by: Peter Lieven <pl@kamp.de>
Reviewed-by: John Snow <jsnow@redhat.com>
Message-id: 1447345846-15624-2-git-send-email-pl@kamp.de
Signed-off-by: John Snow <jsnow@redhat.com>
2015-11-17 15:06:15 -05:00
..
Makefile.objs hw: make all of hw/ide/ configurable via default-configs/ 2013-04-08 18:13:12 +02:00
ahci.c ahci: Add allwinner AHCI 2015-11-06 14:09:01 -05:00
ahci.h ahci: Add allwinner AHCI 2015-11-06 14:09:01 -05:00
atapi.c ide/atapi: make PIO read requests async 2015-11-17 15:06:15 -05:00
cmd646.c cmd646: add to storage category 2015-10-23 12:35:17 +11:00
core.c ide: Account for failed and invalid operations 2015-11-12 16:22:47 +01:00
ich.c ahci: split realize and init 2015-11-06 14:09:00 -05:00
internal.h ide: remove hardcoded 2GiB transactional limit 2015-11-06 14:09:00 -05:00
isa.c ide: support PIO restart for the ISA controller 2015-03-10 14:02:23 +01:00
macio.c macio: Account for failed operations 2015-11-12 16:22:47 +01:00
microdrive.c hmp: Remove "info pcmcia" 2014-10-24 12:19:11 +01:00
mmio.c hw: Convert from BlockDriverState to BlockBackend, mostly 2014-10-20 14:02:25 +02:00
pci.c ide: remove hardcoded 2GiB transactional limit 2015-11-06 14:09:00 -05:00
pci.h ide: place initial state of the current request to IDEBus 2015-03-10 14:02:22 +01:00
piix.c Fix release_drive on unplugged devices (pci_piix3_xen_ide_unplug) 2015-08-03 14:27:12 +00:00
qdev.c BlockConf: Call backend functions to detect geometry and blocksizes 2015-03-10 14:02:22 +01:00
via.c Block patches for 2.3 2015-03-10 14:01:22 +00:00