changeset e2716d523716 in /z/repo/gem5 details: http://repo.gem5.org/gem5?cmd=changeset;node=e2716d523716 description: dev: Correctly clear interrupts in VirtIO PCI
Correctly clear the PCI interrupt belonging to a VirtIO device when the ISR register is read. diffstat: src/dev/virtio/pci.cc | 7 +++++-- 1 files changed, 5 insertions(+), 2 deletions(-) diffs (17 lines): diff -r d59e40b074c6 -r e2716d523716 src/dev/virtio/pci.cc --- a/src/dev/virtio/pci.cc Tue Feb 03 14:25:43 2015 -0500 +++ b/src/dev/virtio/pci.cc Tue Feb 03 14:25:47 2015 -0500 @@ -123,8 +123,11 @@ case OFF_ISR_STATUS: { DPRINTF(VIOPci, " ISR_STATUS\n"); assert(size == sizeof(uint8_t)); - uint8_t isr_status(interruptDeliveryPending ? 1 : 0); - interruptDeliveryPending = false; + const uint8_t isr_status(interruptDeliveryPending ? 1 : 0); + if (interruptDeliveryPending) { + interruptDeliveryPending = false; + intrClear(); + } pkt->set<uint8_t>(isr_status); } break; _______________________________________________ gem5-dev mailing list gem5-dev@gem5.org http://m5sim.org/mailman/listinfo/gem5-dev