aboutsummaryrefslogtreecommitdiff
path: root/hw/ide
diff options
context:
space:
mode:
authorJohn Snow <jsnow@redhat.com>2020-07-24 01:22:59 -0400
committerJohn Snow <jsnow@redhat.com>2020-10-01 13:04:16 -0400
commit6f52e69f468f3b75db0292be3ee479db699a9a57 (patch)
tree9af30f58886697c49d2c3d7a8f22a15251d6166d /hw/ide
parent0c7515e1c47372ae5d53f2e281b2ccd425ebbcc6 (diff)
downloadqemu-6f52e69f468f3b75db0292be3ee479db699a9a57.zip
qemu-6f52e69f468f3b75db0292be3ee479db699a9a57.tar.gz
qemu-6f52e69f468f3b75db0292be3ee479db699a9a57.tar.bz2
ide: clear interrupt on command write
Not known to fix any bug, but I couldn't help but notice that ATA specifies that writing to this register should clear an interrupt. ATA7: Section 5.3.3 (Command register - Effect) ATA6: Section 7.4.4 (Command register - Effect) ATA5: Section 7.4.4 (Command register - Effect) ATA4: Section 7.4.4 (Command register - Effect) ATA3: Section 5.2.2 (Command register) Other editions: try searching for the phrase "Writing this register". Signed-off-by: John Snow <jsnow@redhat.com>
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 8a55352..0d745d6 100644
--- a/hw/ide/core.c
+++ b/hw/ide/core.c
@@ -1312,6 +1312,7 @@ void ide_ioport_write(void *opaque, uint32_t addr, uint32_t val)
default:
case ATA_IOPORT_WR_COMMAND:
ide_clear_hob(bus);
+ qemu_irq_lower(bus->irq);
ide_exec_cmd(bus, val);
break;
}