Skip to contentSkip to conversation

qemu: Send unit_attention on cd-rom not_ready to ready transition

PATCH In review Pat Campbell 2 participants 3 messages May 13, 2008 – May 14, 2008

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 qemu: Send unit_attention on cd-rom not_ready to ready transition

Patch sends a UNIT_ATTENTION(6), MEDIUM_MAY_HAVE_CHANGED(0x28) sense when cdrom transitions from not ready to ready.

ATA Packet interface for CD-ROMS, SFF8020i.pdf. See state diagram Figure 12, page 82 and Table 44 -recommended Sense Key, ASC

With patch in place HVM win2008 server guest sees the CD/DVD contents have changed when the media is switched.

Please apply to xen-unstable tip.

tools/ioemu/hw/ide.c +6 -0
diff -r af8da3f10449 tools/ioemu/hw/ide.c
@@ -289,6 +289,7 @@
 #define ASC_ILLEGAL_OPCODE                   0x20
 #define ASC_LOGICAL_BLOCK_OOR                0x21
 #define ASC_INV_FIELD_IN_CMD_PACKET          0x24
+#define ASC_MEDIUM_MAY_HAVE_CHANGED          0x28
 #define ASC_MEDIUM_NOT_PRESENT               0x3a
 #define ASC_SAVING_PARAMETERS_NOT_SUPPORTED  0x39
 
@@ -1456,6 +1457,11 @@ static void ide_atapi_cmd(IDEState *s)
     switch(s->io_buffer[0]) {
     case GPCMD_TEST_UNIT_READY:
         if (bdrv_is_inserted(s->bs)) {
+            if (s->is_cdrom && s->sense_key == SENSE_NOT_READY) {
+                ide_atapi_cmd_error(s, SENSE_UNIT_ATTENTION, 
+                                    ASC_MEDIUM_MAY_HAVE_CHANGED);
+                break;
+            }
             ide_atapi_cmd_ok(s);
         } else {
             ide_atapi_cmd_error(s, SENSE_NOT_READY, 

_______________________________________________
Xen-devel mailing list
[email protected]
http://lists.xensource.com/xen-devel

#1 lore raw

Pat Campbell writes ("[Xen-devel][PATCH] qemu: Send unit_attention on cd-rom not_ready to ready transition"):

Quoted 2 lines

Patch sends a UNIT_ATTENTION(6), MEDIUM_MAY_HAVE_CHANGED(0x28) sense when cdrom transitions from not ready to ready.

It seems to me that this patch should go upstream to qemu. Is there some reason why not ?

If it should, please prepare a version of it against qemu CVS head and submit it to the qemu list ([email protected]). I'll keep an eye on it there too, as the qemu guys are quite busy and have a tendency to overlook things so a reminder can be necessary.

in general it would be helpful if contributors helped keep to a minimum the non-Xen-specific changes to ioemu. For larger patches which need to vary substantially because of the existing differences between upstream and ioemu, it's probably easier for someone who knows those differences (eg, me) to do this. But I think that at least for a small independent change like this it would be good for patch submitters to talk to upstream as well as us.

I haven't double-checked the ATA spec but your patch looks reasonable for xen-unstable, anyway.

Thanks,
Ian.

#2 lore raw
Quoted 9 lines · Ian Jackson

Pat Campbell writes ("[Xen-devel][PATCH] qemu: Send unit_attention on cd-rom not_ready to ready transition"):

Quoted 3 lines

Patch sends a UNIT_ATTENTION(6), MEDIUM_MAY_HAVE_CHANGED(0x28) sense when cdrom transitions from not ready to ready.

It seems to me that this patch should go upstream to qemu. Is there some reason why not ?

Submitted upstream to qemu this morning.

Quoted 24 lines

If it should, please prepare a version of it against qemu CVS head and submit it to the qemu list ([email protected]). I'll keep an eye on it there too, as the qemu guys are quite busy and have a tendency to overlook things so a reminder can be necessary.

in general it would be helpful if contributors helped keep to a minimum the non-Xen-specific changes to ioemu. For larger patches which need to vary substantially because of the existing differences between upstream and ioemu, it's probably easier for someone who knows those differences (eg, me) to do this. But I think that at least for a small independent change like this it would be good for patch submitters to talk to upstream as well as us.

I haven't double-checked the ATA spec but your patch looks reasonable for xen-unstable, anyway.

Thanks,
Ian.

_______________________________________________
Xen-devel mailing list
[email protected]
http://lists.xensource.com/xen-devel