qemu/hw/scsi
Mark Cave-Ayland 4e78f3bf35 esp: defer command completion interrupt on incoming data transfers
The MacOS toolbox ROM issues a command to the ESP controller as part of its
"FAST" SCSI routines and then proceeds to read the incoming data soon after
receiving the command completion interrupt.

Unfortunately due to SCSI block transfers being asynchronous the incoming data
may not yet be present causing an underflow error. Resolve this by waiting for
the SCSI subsystem transfer_data callback before raising the command completion
interrupt.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <20210304221103.6369-34-mark.cave-ayland@ilande.co.uk>
2021-03-07 10:39:05 +00:00
..
emulation.c scsi-generic: avoid invalid access to struct when emulating block limits 2018-11-06 21:35:06 +01:00
esp-pci.c esp: add vmstate_esp version to embedded ESPState 2021-03-07 10:39:05 +00:00
esp.c esp: defer command completion interrupt on incoming data transfers 2021-03-07 10:39:05 +00:00
Kconfig hw/nvram/Kconfig: Add an entry for the NMC93xx EEPROM 2020-01-07 12:08:39 +01:00
lsi53c895a.c scsi: drop 'result' argument from command_complete callback 2021-02-25 14:14:32 +01:00
megasas.c scsi: drop 'result' argument from command_complete callback 2021-02-25 14:14:32 +01:00
meson.build meson: convert hw/scsi 2020-08-21 06:30:28 -04:00
mfi.h Clean up header guards that don't match their file name 2016-07-12 16:19:16 +02:00
mpi.h hw: Add support for LSI SAS1068 (mptsas) device 2016-02-09 15:45:26 +01:00
mptconfig.c nomaintainer: Fix Lesser GPL version number 2020-11-15 17:04:40 +01:00
mptendian.c nomaintainer: Fix Lesser GPL version number 2020-11-15 17:04:40 +01:00
mptsas.c scsi: drop 'result' argument from command_complete callback 2021-02-25 14:14:32 +01:00
mptsas.h Use DECLARE_*CHECKER* macros 2020-09-09 09:27:09 -04:00
scsi-bus.c scsi: drop 'result' argument from command_complete callback 2021-02-25 14:14:32 +01:00
scsi-disk.c scsi-disk: pass guest recoverable errors through even for rerror=stop 2021-02-25 14:14:32 +01:00
scsi-generic.c scsi: allow user to set werror as report 2021-02-25 14:14:32 +01:00
spapr_vscsi.c scsi: drop 'result' argument from command_complete callback 2021-02-25 14:14:32 +01:00
srp.h spapr-vscsi: add task management 2013-09-12 08:46:21 +02:00
trace-events esp: add PDMA trace events 2021-03-07 10:39:05 +00:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00
vhost-scsi-common.c vhost-scsi: support inflight io track 2020-09-30 19:09:20 +02:00
vhost-scsi.c monitor: Use getter/setter functions for cur_mon 2020-10-09 07:08:19 +02:00
vhost-user-scsi.c qdev: Move softmmu properties to qdev-properties-system.h 2020-12-18 15:20:17 -05:00
viosrp.h hw/scsi/spapr_vscsi: Do not mix SRP IU size with DMA buffer size 2020-03-17 15:08:50 +11:00
virtio-scsi-dataplane.c virtio-scsi: don't process IO on fenced dataplane 2021-02-25 14:14:32 +01:00
virtio-scsi.c scsi: drop 'result' argument from command_complete callback 2021-02-25 14:14:32 +01:00
vmw_pvscsi.c scsi: drop 'result' argument from command_complete callback 2021-02-25 14:14:32 +01:00
vmw_pvscsi.h scsi: VMWare PVSCSI paravirtual device implementation 2013-04-19 10:44:17 +02:00