From: Pat Campbell <plc@novell.com>
To: xen-devel <xen-devel@lists.xensource.com>
Subject: [PATCH] qemu: Send unit_attention on cd-rom not_ready to ready transition
Date: Tue, 13 May 2008 11:57:34 -0600 [thread overview]
Message-ID: <4829D68E.9060802@novell.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 440 bytes --]
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.
Signed-off-by: Pat Campbell <plc@novell.com>
[-- Attachment #2: qemu-unit-attention.patch --]
[-- Type: text/x-patch, Size: 994 bytes --]
diff -r af8da3f10449 tools/ioemu/hw/ide.c
--- a/tools/ioemu/hw/ide.c Tue May 13 11:46:39 2008 -0600
+++ b/tools/ioemu/hw/ide.c Tue May 13 06:42:09 2008 -0600
@@ -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,
[-- Attachment #3: Type: text/plain, Size: 138 bytes --]
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
next reply other threads:[~2008-05-13 17:57 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-05-13 17:57 Pat Campbell [this message]
2008-05-14 9:18 ` [PATCH] qemu: Send unit_attention on cd-rom not_ready to ready transition Ian Jackson
2008-05-14 17:37 ` Pat Campbell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4829D68E.9060802@novell.com \
--to=plc@novell.com \
--cc=xen-devel@lists.xensource.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.