scsi-disk: add MODE_PAGE_APPLE_VENDOR quirk for Macintosh
commit09d37867627a86f23248c138f380bd38bada4073
authorMark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Wed, 22 Jun 2022 10:53:02 +0000 (22 11:53 +0100)
committerPaolo Bonzini <pbonzini@redhat.com>
Wed, 13 Jul 2022 14:58:57 +0000 (13 16:58 +0200)
treed7179914b08f3723937a3012b48b2c01f8239700
parent3412f9c3b41c3a98f85f81476d5542ac7662bb06
scsi-disk: add MODE_PAGE_APPLE_VENDOR quirk for Macintosh

One of the mechanisms MacOS uses to identify CDROM drives compatible with MacOS
is to send a custom MODE SELECT command for page 0x30 to the drive. The
response to this is a hard-coded manufacturer string which must match in order
for the CDROM to be usable within MacOS.

Add an implementation of the MODE SELECT page 0x30 response guarded by a newly
defined SCSI_DISK_QUIRK_MODE_PAGE_APPLE_VENDOR quirk bit so that CDROM drives
attached to non-Apple machines function exactly as before.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <20220622105314.802852-3-mark.cave-ayland@ilande.co.uk>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
hw/scsi/scsi-disk.c
include/hw/scsi/scsi.h
include/scsi/constants.h