qemu/hw/block
Sven Schnelle 9e58f17270 fdc/i8257: implement verify transfer mode
While working on the Tulip driver i tried to write some Teledisk images to
a floppy image which didn't work. Turned out that Teledisk checks the written
data by issuing a READ command to the FDC but running the DMA controller
in VERIFY mode. As we ignored the DMA request in that case, the DMA transfer
never finished, and Teledisk reported an error.

The i8257 spec says about verify transfers:

3) DMA verify, which does not actually involve the transfer of data. When an
8257 channel is in the DMA verify mode, it will respond the same as described
for transfer operations, except that no memory or I/O read/write control signals
will be generated.

Hervé proposed to remove all the dma_mode_ok stuff from fdc to have a more
clear boundary between DMA and FDC, so this patch also does that.

Suggested-by: Hervé Poussineau <hpoussin@reactos.org>
Signed-off-by: Sven Schnelle <svens@stackframe.org>
Reviewed-by: Hervé Poussineau <hpoussin@reactos.org>
2020-03-27 14:30:08 -04:00
..
dataplane xen-bus/block: explicitly assign event channels to an AioContext 2020-02-27 11:50:30 +00:00
block.c pflash: Require backend size to match device, improve errors 2019-03-26 08:16:24 +01:00
cdrom.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
ecc.c Include hw/hw.h exactly where needed 2019-08-16 13:31:52 +02:00
fdc.c fdc/i8257: implement verify transfer mode 2020-03-27 14:30:08 -04:00
hd-geometry.c block: Remove blk_pread_unthrottled() 2019-08-16 10:25:16 +02:00
Kconfig hw/m68k: add a dummy SWIM floppy controller 2019-10-28 19:06:51 +01:00
m25p80.c m25p80: Improve command handling for unsupported commands 2020-03-17 11:36:42 +00:00
Makefile.objs hw/*/Makefile.objs: Move many .o files to common-objs 2020-02-04 09:00:57 +01:00
nand.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
nvme.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
nvme.h nvme: add Get/Set Feature Timestamp support 2019-06-04 15:22:09 +02:00
onenand.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
pflash_cfi01.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
pflash_cfi02.c hw/block/pflash_cfi02: Remove unneeded variable assignment 2020-02-18 20:20:49 +01:00
swim.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
tc58128.c Include hw/hw.h exactly where needed 2019-08-16 13:31:52 +02:00
trace-events m25p80: Convert to support tracing 2020-03-17 11:23:14 +00:00
vhost-user-blk.c vhost-user-blk: convert to new virtio_delete_queue 2020-02-25 08:32:56 -05:00
virtio-blk.c virtio: increase virtqueue size for virtio-scsi and virtio-blk 2020-02-22 08:26:47 +00:00
xen_blkif.h xen: Import other xen/io/*.h 2019-06-24 10:42:30 +01:00
xen-block.c xen-block: Use one Error * variable instead of two 2020-03-17 17:29:31 +01:00