KVM: PPC: Implement Level interrupts on Book3S
authorAlexander Graf <agraf@suse.de>
Mon, 30 Aug 2010 08:44:15 +0000 (10:44 +0200)
committerAvi Kivity <avi@redhat.com>
Sun, 24 Oct 2010 08:52:19 +0000 (10:52 +0200)
commit17bd158006a33615270f9dba15c62f49bd447435
tree05f60fb73b8f5fed8045220fe8a8adecde672dde
parent591bd8e7b4c8b9246d7a1c81ffbd28e35dc5de4e
KVM: PPC: Implement Level interrupts on Book3S

The current interrupt logic is just completely broken. We get a notification
from user space, telling us that an interrupt is there. But then user space
expects us that we just acknowledge an interrupt once we deliver it to the
guest.

This is not how real hardware works though. On real hardware, the interrupt
controller pulls the external interrupt line until it gets notified that the
interrupt was received.

So in reality we have two events: pulling and letting go of the interrupt line.

To maintain backwards compatibility, I added a new request for the pulling
part. The letting go part was implemented earlier already.

With this in place, we can now finally start guests that do not randomly stall
and stop to work at random times.

This patch implements above logic for Book3S.

Signed-off-by: Alexander Graf <agraf@suse.de>
arch/powerpc/include/asm/kvm.h
arch/powerpc/include/asm/kvm_asm.h
arch/powerpc/kvm/book3s.c