aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/powerpc/include/asm/reg.h2
-rw-r--r--arch/powerpc/kernel/asm-offsets.c2
-rw-r--r--arch/powerpc/kvm/booke_interrupts.S6
3 files changed, 3 insertions, 7 deletions
diff --git a/arch/powerpc/include/asm/reg.h b/arch/powerpc/include/asm/reg.h
index 97d37278ea2d..11ae3d8ba3a2 100644
--- a/arch/powerpc/include/asm/reg.h
+++ b/arch/powerpc/include/asm/reg.h
@@ -919,8 +919,6 @@
919#define SPRN_SPRG_RSCRATCH_DBG SPRN_SPRG9 919#define SPRN_SPRG_RSCRATCH_DBG SPRN_SPRG9
920#define SPRN_SPRG_WSCRATCH_DBG SPRN_SPRG9 920#define SPRN_SPRG_WSCRATCH_DBG SPRN_SPRG9
921#endif 921#endif
922#define SPRN_SPRG_RVCPU SPRN_SPRG1
923#define SPRN_SPRG_WVCPU SPRN_SPRG1
924#endif 922#endif
925 923
926#ifdef CONFIG_8xx 924#ifdef CONFIG_8xx
diff --git a/arch/powerpc/kernel/asm-offsets.c b/arch/powerpc/kernel/asm-offsets.c
index 4e23ba2f3ca7..46f6afd2172a 100644
--- a/arch/powerpc/kernel/asm-offsets.c
+++ b/arch/powerpc/kernel/asm-offsets.c
@@ -117,7 +117,7 @@ int main(void)
117#ifdef CONFIG_KVM_BOOK3S_32_HANDLER 117#ifdef CONFIG_KVM_BOOK3S_32_HANDLER
118 DEFINE(THREAD_KVM_SVCPU, offsetof(struct thread_struct, kvm_shadow_vcpu)); 118 DEFINE(THREAD_KVM_SVCPU, offsetof(struct thread_struct, kvm_shadow_vcpu));
119#endif 119#endif
120#ifdef CONFIG_KVM_BOOKE_HV 120#if defined(CONFIG_KVM) && defined(CONFIG_BOOKE)
121 DEFINE(THREAD_KVM_VCPU, offsetof(struct thread_struct, kvm_vcpu)); 121 DEFINE(THREAD_KVM_VCPU, offsetof(struct thread_struct, kvm_vcpu));
122#endif 122#endif
123 123
diff --git a/arch/powerpc/kvm/booke_interrupts.S b/arch/powerpc/kvm/booke_interrupts.S
index bb46b32f9813..ca16d57f7686 100644
--- a/arch/powerpc/kvm/booke_interrupts.S
+++ b/arch/powerpc/kvm/booke_interrupts.S
@@ -56,7 +56,8 @@
56_GLOBAL(kvmppc_handler_\ivor_nr) 56_GLOBAL(kvmppc_handler_\ivor_nr)
57 /* Get pointer to vcpu and record exit number. */ 57 /* Get pointer to vcpu and record exit number. */
58 mtspr \scratch , r4 58 mtspr \scratch , r4
59 mfspr r4, SPRN_SPRG_RVCPU 59 mfspr r4, SPRN_SPRG_THREAD
60 lwz r4, THREAD_KVM_VCPU(r4)
60 stw r3, VCPU_GPR(R3)(r4) 61 stw r3, VCPU_GPR(R3)(r4)
61 stw r5, VCPU_GPR(R5)(r4) 62 stw r5, VCPU_GPR(R5)(r4)
62 stw r6, VCPU_GPR(R6)(r4) 63 stw r6, VCPU_GPR(R6)(r4)
@@ -402,9 +403,6 @@ lightweight_exit:
402 lwz r8, kvmppc_booke_handlers@l(r8) 403 lwz r8, kvmppc_booke_handlers@l(r8)
403 mtspr SPRN_IVPR, r8 404 mtspr SPRN_IVPR, r8
404 405
405 /* Save vcpu pointer for the exception handlers. */
406 mtspr SPRN_SPRG_WVCPU, r4
407
408 lwz r5, VCPU_SHARED(r4) 406 lwz r5, VCPU_SHARED(r4)
409 407
410 /* Can't switch the stack pointer until after IVPR is switched, 408 /* Can't switch the stack pointer until after IVPR is switched,