summary refs log tree commit diff stats
path: root/hw/ide.c
diff options
context:
space:
mode:
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2004-12-02 20:20:21 +0000
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2004-12-02 20:20:21 +0000
commitc451ee717aceddabc636729c49de112b45af3741 (patch)
treecca28f5659d844768dc8865ab0b13f15c45ef025 /hw/ide.c
parenta07167d3d4022c3c754dff78b1889cbc4796e1e9 (diff)
downloadfocaccia-qemu-c451ee717aceddabc636729c49de112b45af3741.tar.gz
focaccia-qemu-c451ee717aceddabc636729c49de112b45af3741.zip
added WIN_IDLEIMMEDIATE and WIN_DIAGNOSE commands
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1161 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'hw/ide.c')
-rw-r--r--hw/ide.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/hw/ide.c b/hw/ide.c
index db7d73744d..3997a06e26 100644
--- a/hw/ide.c
+++ b/hw/ide.c
@@ -1570,6 +1570,7 @@ static void ide_ioport_write(void *opaque, uint32_t addr, uint32_t val)
             }
             break;
 	case WIN_STANDBYNOW1:
+        case WIN_IDLEIMMEDIATE:
 	    s->status = READY_STAT;
             ide_set_irq(s);
             break;
@@ -1584,6 +1585,11 @@ static void ide_ioport_write(void *opaque, uint32_t addr, uint32_t val)
             }
             ide_set_irq(s);
             break;
+        case WIN_DIAGNOSE:
+            ide_set_signature(s);
+            s->status = 0x00; /* NOTE: READY is _not_ set */
+            s->error = 0x01;
+            break;
         case WIN_SRST:
             if (!s->is_cdrom)
                 goto abort_cmd;