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>
This commit is contained in:
John Snow 2020-07-24 01:22:59 -04:00
parent 0c7515e1c4
commit 6f52e69f46

View File

@ -1312,6 +1312,7 @@ void ide_ioport_write(void *opaque, uint32_t addr, uint32_t val)
default: default:
case ATA_IOPORT_WR_COMMAND: case ATA_IOPORT_WR_COMMAND:
ide_clear_hob(bus); ide_clear_hob(bus);
qemu_irq_lower(bus->irq);
ide_exec_cmd(bus, val); ide_exec_cmd(bus, val);
break; break;
} }