aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kvm/book3s_hv_rmhandlers.S
diff options
context:
space:
mode:
authorPaul Mackerras <paulus@samba.org>2014-01-08 21:25:28 +1100
committerAlexander Graf <agraf@suse.de>2014-01-27 16:01:13 +0100
commit5d00f66b865e3782c5852cdafe1cea11a292a81e (patch)
tree5d1fc36361174c760ab5c315b98c336fdcaf83f3 /arch/powerpc/kvm/book3s_hv_rmhandlers.S
parente0622bd9f2fccc8a801fa7aaf4fa6d7c728c3a78 (diff)
downloadkernel_replicant_linux-5d00f66b865e3782c5852cdafe1cea11a292a81e.tar.gz
kernel_replicant_linux-5d00f66b865e3782c5852cdafe1cea11a292a81e.tar.bz2
kernel_replicant_linux-5d00f66b865e3782c5852cdafe1cea11a292a81e.zip
KVM: PPC: Book3S HV: Prepare for host using hypervisor doorbells
POWER8 has support for hypervisor doorbell interrupts. Though the kernel doesn't use them for IPIs on the powernv platform yet, it probably will in future, so this makes KVM cope gracefully if a hypervisor doorbell interrupt arrives while in a guest. Signed-off-by: Paul Mackerras <paulus@samba.org> Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'arch/powerpc/kvm/book3s_hv_rmhandlers.S')
-rw-r--r--arch/powerpc/kvm/book3s_hv_rmhandlers.S7
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/powerpc/kvm/book3s_hv_rmhandlers.S b/arch/powerpc/kvm/book3s_hv_rmhandlers.S
index 9e89c7577b4a..eae4ab9b9135 100644
--- a/arch/powerpc/kvm/book3s_hv_rmhandlers.S
+++ b/arch/powerpc/kvm/book3s_hv_rmhandlers.S
@@ -1997,10 +1997,17 @@ ALT_FTR_SECTION_END_IFSET(CPU_FTR_ARCH_207S)
BEGIN_FTR_SECTION
cmpwi r6, 5 /* privileged doorbell? */
beq 0f
+ cmpwi r6, 3 /* hypervisor doorbell? */
+ beq 3f
END_FTR_SECTION_IFSET(CPU_FTR_ARCH_207S)
li r3, 1 /* anything else, return 1 */
0: blr
+ /* hypervisor doorbell */
+3: li r12, BOOK3S_INTERRUPT_H_DOORBELL
+ li r3, 1
+ blr
+
/*
* Determine what sort of external interrupt is pending (if any).
* Returns: