aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kvm/book3s_hv_interrupts.S
diff options
context:
space:
mode:
authorPaul Mackerras <paulus@samba.org>2013-04-15 16:28:01 -0400
committerMichael Ellerman <michael@ellerman.id.au>2013-04-17 23:03:57 -0400
commit3cc33d50f52521760da29ebd9db239741da7f21a (patch)
treeb0968eaa092072c83b54bedadc7f2f03d42e6556 /arch/powerpc/kvm/book3s_hv_interrupts.S
parentc843be8a5480c04a18410aaf32d5a339a8b3a61b (diff)
powerpc: Fix build errors with UP configs in HV-style KVM
This fixes these errors when building UP with CONFIG_KVM_BOOK3S_64_HV=y: arch/powerpc/kvm/book3s_hv.c:1855:2: error: implicit declaration of function 'inhibit_secondary_onlining' [-Werror=implicit-function-declaration] arch/powerpc/kvm/book3s_hv.c:1862:2: error: implicit declaration of function 'uninhibit_secondary_onlining' [-Werror=implicit-function-declaration] cc1: all warnings being treated as errors and this error (with CONFIG_KVM_BOOK3S_64=m, or a vmlinux link error with CONFIG_KVM_BOOK3S_64=y): ERROR: "smp_send_reschedule" [arch/powerpc/kvm/kvm.ko] undefined! make[2]: *** [__modpost] Error 1 The fix for the link error is suboptimal; ideally we want a self_ipi() function from irq.c, connected at least to the MPIC code, to initiate an IPI to this cpu. The fix here at least lets the code build, and it will work, just with interrupts being delayed sometimes. Signed-off-by: Paul Mackerras <paulus@samba.org> Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Diffstat (limited to 'arch/powerpc/kvm/book3s_hv_interrupts.S')
-rw-r--r--arch/powerpc/kvm/book3s_hv_interrupts.S6
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/powerpc/kvm/book3s_hv_interrupts.S b/arch/powerpc/kvm/book3s_hv_interrupts.S
index 84035a528c80..37f1cc417ca0 100644
--- a/arch/powerpc/kvm/book3s_hv_interrupts.S
+++ b/arch/powerpc/kvm/book3s_hv_interrupts.S
@@ -122,11 +122,16 @@ END_FTR_SECTION_IFSET(CPU_FTR_ARCH_201)
122 add r8,r8,r7 122 add r8,r8,r7
123 std r8,HSTATE_DECEXP(r13) 123 std r8,HSTATE_DECEXP(r13)
124 124
125#ifdef CONFIG_SMP
125 /* 126 /*
126 * On PPC970, if the guest vcpu has an external interrupt pending, 127 * On PPC970, if the guest vcpu has an external interrupt pending,
127 * send ourselves an IPI so as to interrupt the guest once it 128 * send ourselves an IPI so as to interrupt the guest once it
128 * enables interrupts. (It must have interrupts disabled, 129 * enables interrupts. (It must have interrupts disabled,
129 * otherwise we would already have delivered the interrupt.) 130 * otherwise we would already have delivered the interrupt.)
131 *
132 * XXX If this is a UP build, smp_send_reschedule is not available,
133 * so the interrupt will be delayed until the next time the vcpu
134 * enters the guest with interrupts enabled.
130 */ 135 */
131BEGIN_FTR_SECTION 136BEGIN_FTR_SECTION
132 ld r0, VCPU_PENDING_EXC(r4) 137 ld r0, VCPU_PENDING_EXC(r4)
@@ -141,6 +146,7 @@ BEGIN_FTR_SECTION
141 mr r4, r31 146 mr r4, r31
14232: 14732:
143END_FTR_SECTION_IFSET(CPU_FTR_ARCH_201) 148END_FTR_SECTION_IFSET(CPU_FTR_ARCH_201)
149#endif /* CONFIG_SMP */
144 150
145 /* Jump to partition switch code */ 151 /* Jump to partition switch code */
146 bl .kvmppc_hv_entry_trampoline 152 bl .kvmppc_hv_entry_trampoline