summary refs log tree commit diff stats
diff options
context:
space:
mode:
-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;