aboutsummaryrefslogtreecommitdiff
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)
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;