diff options
author | John Snow | 2020-07-24 07:22:59 +0200 |
---|---|---|
committer | John Snow | 2020-10-01 19:04:16 +0200 |
commit | 6f52e69f468f3b75db0292be3ee479db699a9a57 (patch) | |
tree | 9af30f58886697c49d2c3d7a8f22a15251d6166d | |
parent | ide: remove magic constants from the device register (diff) | |
download | qemu-6f52e69f468f3b75db0292be3ee479db699a9a57.tar.gz qemu-6f52e69f468f3b75db0292be3ee479db699a9a57.tar.xz qemu-6f52e69f468f3b75db0292be3ee479db699a9a57.zip |
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>
-rw-r--r-- | hw/ide/core.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/hw/ide/core.c b/hw/ide/core.c index 8a55352e4b..0d745d63a1 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; } |