qemu/hw/scsi
Mark Cave-Ayland 6f8ce26bb0 esp.c: only allow ESP commands permitted in the current asc_mode
If an ESP command is issued in an incorrect mode then an illegal command
interrupt should be generated. Add a new esp_cmd_is_valid() function to
indicate whether the ESP command is valid for the current mode, and if not
then raise the illegal command interrupt.

This fixes WinNT MIPS which issues ICCS after a Chip Reset which is not
permitted, but will fail with an INACCESSIBLE_BOOT_DEVICE error unless an
interrupt is generated.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Fixes: 83428f7a97 ("esp.c: move write_response() non-DMA logic to esp_do_nodma()")
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2464
Tested-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20250711204636.542964-8-mark.cave-ayland@ilande.co.uk>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
2025-07-15 00:25:21 +02: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 qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
esp.c esp.c: only allow ESP commands permitted in the current asc_mode 2025-07-15 00:25:21 +02:00
Kconfig hw/scsi: Introduce VHOST_SCSI_COMMON symbol in Kconfig 2023-06-23 02:54:44 -04:00
lsi53c895a.c hw/scsi/lsi53c895a: skip automatic zero-init of large array 2025-06-12 13:40:16 -04:00
megasas.c hw/scsi/megasas: skip automatic zero-init of large arrays 2025-06-12 13:40:16 -04:00
meson.build hw/virtio: Build various target-agnostic objects just once 2023-06-23 02:54:44 -04:00
mfi.h hw/other: spelling fixes 2023-09-21 11:31:16 +03: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 include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
mptsas.c qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
mptsas.h include/hw/pci: Split pci_device.h off pci.h 2023-01-08 01:54:22 -05:00
scsi-bus.c system/runstate: add VM state change cb with return value 2025-05-14 05:39:14 -04:00
scsi-disk.c scsi-disk: Advertise FUA support by default 2025-05-21 18:52:17 +02:00
scsi-generic.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
spapr_vscsi.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
srp.h spapr-vscsi: add task management 2013-09-12 08:46:21 +02:00
trace-events esp.c: only allow ESP commands permitted in the current asc_mode 2025-07-15 00:25:21 +02: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-user: return failure if backend crash when live migration 2025-05-14 05:39:15 -04:00
vhost-scsi.c vhost-scsi: support VIRTIO_SCSI_F_HOTPLUG 2025-05-14 05:39:15 -04:00
vhost-user-scsi.c vhost-user: return failure if backend crash when live migration 2025-05-14 05:39:15 -04:00
viosrp.h Updated the FSF address to <https://www.gnu.org/licenses/> 2023-02-27 09:15:39 +01:00
virtio-scsi-dataplane.c virtio-scsi: only expose cmd vqs via iothread-vq-mapping 2025-03-13 17:57:23 +01:00
virtio-scsi.c qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
vmw_pvscsi.c hw/scsi/vmw_pvscsi: Convert DeviceRealize -> InstanceInit 2025-05-30 09:52:08 +02:00
vmw_pvscsi.h hw: replace FSF postal address with licenses URL 2025-06-26 00:42:37 +02:00