qemu-patch-raspberry4/hw/ide
Peter Lieven 1d8c11d631 ide: add support for IDEBufferedRequest
this patch adds a new aio readv compatible function which copies
all data through a bounce buffer. These buffered requests can be
flagged as orphaned which means that their original callback has
already been invoked and the request has just not been completed
by the backend storage. The bounce buffer guarantees that guest
memory corruption is avoided when such a orphaned request is
completed by the backend at a later stage.

This trick only works for read requests as a write request completed
at a later stage might corrupt data as there is no way to control
if and what data has already been written to the storage.

Signed-off-by: Peter Lieven <pl@kamp.de>
Reviewed-by: Fam Zheng <famz@redhat.com>
Message-id: 1447345846-15624-4-git-send-email-pl@kamp.de
Signed-off-by: John Snow <jsnow@redhat.com>
2015-11-17 15:06:25 -05: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: add support for IDEBufferedRequest 2015-11-17 15:06:25 -05:00
ich.c ahci: split realize and init 2015-11-06 14:09:00 -05:00
internal.h ide: add support for IDEBufferedRequest 2015-11-17 15:06:25 -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
Makefile.objs hw: make all of hw/ide/ configurable via default-configs/ 2013-04-08 18:13:12 +02: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