summaryrefslogtreecommitdiff
path: root/hw/ide
diff options
context:
space:
mode:
authorDavid du Colombier <0intro@gmail.com>2013-12-25 15:17:43 +0100
committerMichael Tokarev <mjt@tls.msk.ru>2014-01-15 23:34:17 +0400
commit850484a295a856474978d9338b8c17eb8e00f549 (patch)
tree6ca195dcaa795baa0282a1d6bb124b13a27426af /hw/ide
parente6baf6130ef26f32a45e0282bd4720913a1ff472 (diff)
downloadqemu-850484a295a856474978d9338b8c17eb8e00f549.tar.gz
ide: cmd_exec_dev_diagnostic() always set error register to 0x01
This notably fix IDE CD probing on the Plan 9 operating system, which rely on the error register set by the Execute Device Diagnostic command to detect drive configurations. Thanks to RĂ©mi Pommarel for reporting this issue. Signed-off-by: David du Colombier <0intro@gmail.com> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
Diffstat (limited to 'hw/ide')
-rw-r--r--hw/ide/core.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/hw/ide/core.c b/hw/ide/core.c
index e1f4c33fb8..7783d58291 100644
--- a/hw/ide/core.c
+++ b/hw/ide/core.c
@@ -1321,6 +1321,7 @@ static bool cmd_exec_dev_diagnostic(IDEState *s, uint8_t cmd)
s->status = 0; /* ATAPI spec (v6) section 9.10 defines packet
* devices to return a clear status register
* with READY_STAT *not* set. */
+ s->error = 0x01;
} else {
s->status = READY_STAT | SEEK_STAT;
/* The bits of the error register are not as usual for this command!