]> git.proxmox.com Git - qemu.git/commit
ioapic: Do not set irr for masked edge IRQs
authorJan Kiszka <jan.kiszka@web.de>
Sat, 9 Apr 2011 11:18:59 +0000 (13:18 +0200)
committerAurelien Jarno <aurelien@aurel32.net>
Wed, 27 Apr 2011 18:04:51 +0000 (20:04 +0200)
commit47f7be394aa7baf7855fe78f56b8ba4c69bf75d9
tree9633e60e984359013a156d84e3f6c3c9ac6a0cea
parent661bfc80e876d32da8befe53ba0234d87fc0bcc2
ioapic: Do not set irr for masked edge IRQs

So far we set IRR for edge IRQs even if the pin is masked. If the guest
later on unmasks and switches the pin to level-triggered mode, irr will
remain set, causing an IRQ storm. The point is that setting IRR is not
correct in this case according to the spec, and avoiding this resolves
the issue.

Reported-and-tested-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
hw/ioapic.c