]> git.karo-electronics.de Git - karo-tx-linux.git/commit
KVM: PPC: Book3S: Call into C interrupt handlers
authorAlexander Graf <agraf@suse.de>
Wed, 25 Apr 2012 19:59:06 +0000 (21:59 +0200)
committerAlexander Graf <agraf@suse.de>
Thu, 26 Apr 2012 10:16:56 +0000 (12:16 +0200)
commit483157026ba6318b1a9268d37e9fac933511c34b
tree10cdb594a971cd73bff529ef4d2509bcaff89622
parentf4601ff9398005e8dad12c2ed0c8cb1f03c71407
KVM: PPC: Book3S: Call into C interrupt handlers

Some interrupts only should be deferred when intercepted by KVM code,
not completely handled by KVM. Thus we need to call into Linux' interrupt
handling code for a few vectors.

So far, this has been done by calling right back into the original
interrupt vector once we're far enough in the guest exit code path.

However, this adds more code to be executed, because we need to save
and restore more state during the full interrupt cycle. We also lose
out on compiler optimizations, since it's all hand written asm.

So switch the code over to call into the Linux C handlers from C code,
speeding up everything along the way.

Along the way, this fixes a bug where we would have to set HSSR instead
of SSR SPRs for the interrupt vector, making hv capable hosts work again
properly.

Signed-off-by: Alexander Graf <agraf@suse.de>
arch/powerpc/kvm/book3s_pr.c
arch/powerpc/kvm/book3s_segment.S