qemu-e2k/include
Mark Cave-Ayland 389e18eb9a scsi-disk: add SCSI_DISK_QUIRK_MODE_PAGE_TRUNCATED quirk for Macintosh
When A/UX configures the CDROM device it sends a truncated MODE SELECT request
for page 1 (MODE_PAGE_R_W_ERROR) which is only 6 bytes in length rather than
10. This seems to be due to bug in Apple's code which calculates the CDB message
length incorrectly.

The work at [1] suggests that this truncated request is accepted on real
hardware whereas in QEMU it generates an INVALID_PARAM_LEN sense code which
causes A/UX to get stuck in a loop retrying the command in an attempt to succeed.

Alter the mode page request length check so that truncated requests are allowed
if the SCSI_DISK_QUIRK_MODE_PAGE_TRUNCATED quirk is enabled, whilst also adding a
trace event to enable the condition to be detected.

[1] https://68kmla.org/bb/index.php?threads/scsi2sd-project-anyone-interested.29040/page-7#post-316444

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Message-Id: <20220622105314.802852-10-mark.cave-ayland@ilande.co.uk>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2022-07-13 16:58:58 +02:00
..
authz Prefer 'on' | 'off' over 'yes' | 'no' for bool options 2021-01-29 17:07:53 +00:00
block block/block-copy: block_copy(): add timeout_ns parameter 2022-06-29 10:56:12 +03:00
chardev Clean up ill-advised or unusual header guards 2022-05-11 16:50:01 +02:00
crypto crypto: Introduce akcipher crypto class 2022-05-26 11:41:47 +01:00
disas target/loongarch: Add disassembler 2022-06-06 18:09:03 +00:00
exec disas: Remove libvixl disassembler 2022-07-05 10:15:49 +02:00
fpu Clean up decorations and whitespace around header guards 2022-05-11 16:50:32 +02:00
hw scsi-disk: add SCSI_DISK_QUIRK_MODE_PAGE_TRUNCATED quirk for Macintosh 2022-07-13 16:58:58 +02:00
io io: add a QIOChannelNull equivalent to /dev/null 2022-06-22 18:11:21 +01:00
libdecnumber Replace config-time define HOST_WORDS_BIGENDIAN 2022-04-06 10:50:37 +02:00
migration migration: Remove load_state_old and minimum_version_id_old 2022-03-02 18:20:45 +00:00
monitor qmp: add filtering of statistics by name 2022-06-14 16:50:30 +02:00
net Replace config-time define HOST_WORDS_BIGENDIAN 2022-04-06 10:50:37 +02:00
qapi include: move qdict_{crumple,flatten} declarations 2022-04-21 17:03:51 +04:00
qemu cutils: Introduce bundle mechanism 2022-07-13 16:58:57 +02:00
qom qom/object: Remove circular include dependency 2022-06-28 10:53:32 +02:00
scsi scsi-disk: add SCSI_DISK_QUIRK_MODE_PAGE_VENDOR_SPECIFIC_APPLE quirk for Macintosh 2022-07-13 16:58:58 +02:00
semihosting semihosting: Create semihost_sys_poll_one 2022-06-28 04:41:37 +05:30
standard-headers m68k: virt: pass RNG seed via bootinfo block 2022-07-06 12:30:41 +02:00
sysemu block: get rid of blk->guest_block_size 2022-06-24 17:07:06 +02:00
tcg tcg: Add tcg_gen_mov_ptr 2022-06-02 08:09:46 -07:00
ui ui/console: allow display device to be labeled with given id 2022-07-01 12:33:51 +02:00
user Clean up decorations and whitespace around header guards 2022-05-11 16:50:32 +02:00
elf.h elf: Add machine type value for LoongArch 2021-12-21 13:17:06 -08:00
glib-compat.h compiler.h: replace QEMU_NORETURN with G_NORETURN 2022-04-21 17:03:51 +04:00
qemu-io.h Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
qemu-main.h Simplify softmmu/main.c 2022-04-21 16:56:55 +04:00