]> www.infradead.org Git - users/dwmw2/qemu.git/commitdiff
misc scsi disk/cdrom fixes/improvements 2/4
authorblueswir1 <blueswir1@c046a42c-6fe2-441c-8c8c-71466251a162>
Sun, 29 Mar 2009 15:40:21 +0000 (15:40 +0000)
committerblueswir1 <blueswir1@c046a42c-6fe2-441c-8c8c-71466251a162>
Sun, 29 Mar 2009 15:40:21 +0000 (15:40 +0000)
Implement cdrom load/eject functionality (Start Stop Unit command)

Signed-off-by: Juergen Lock <nox@jelal.kn-bremen.de>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6952 c046a42c-6fe2-441c-8c8c-71466251a162

hw/scsi-disk.c

index da3fa417bea19cc718e0a6f0285b0a830f1d1550..6438fb60d1d41d1571026b8f0bf4bb527abd7eb6 100644 (file)
@@ -725,6 +725,10 @@ static int32_t scsi_send_command(SCSIDevice *d, uint32_t tag,
         break;
     case 0x1b:
         DPRINTF("Start Stop Unit\n");
+        if (bdrv_get_type_hint(s->bdrv) == BDRV_TYPE_CDROM &&
+            (buf[4] & 2))
+            /* load/eject medium */
+            bdrv_eject(s->bdrv, !(buf[4] & 1));
        break;
     case 0x1e:
         DPRINTF("Prevent Allow Medium Removal (prevent = %d)\n", buf[4] & 3);