aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc
diff options
context:
space:
mode:
Diffstat (limited to 'arch/powerpc')
-rw-r--r--arch/powerpc/kvm/book3s.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/powerpc/kvm/book3s.c b/arch/powerpc/kvm/book3s.c
index 7696d0f547e3..d2b3dabe2dc3 100644
--- a/arch/powerpc/kvm/book3s.c
+++ b/arch/powerpc/kvm/book3s.c
@@ -609,7 +609,9 @@ void kvmppc_giveup_ext(struct kvm_vcpu *vcpu, ulong msr)
609{ 609{
610 struct thread_struct *t = &current->thread; 610 struct thread_struct *t = &current->thread;
611 u64 *vcpu_fpr = vcpu->arch.fpr; 611 u64 *vcpu_fpr = vcpu->arch.fpr;
612#ifdef CONFIG_VSX
612 u64 *vcpu_vsx = vcpu->arch.vsr; 613 u64 *vcpu_vsx = vcpu->arch.vsr;
614#endif
613 u64 *thread_fpr = (u64*)t->fpr; 615 u64 *thread_fpr = (u64*)t->fpr;
614 int i; 616 int i;
615 617
@@ -689,7 +691,9 @@ static int kvmppc_handle_ext(struct kvm_vcpu *vcpu, unsigned int exit_nr,
689{ 691{
690 struct thread_struct *t = &current->thread; 692 struct thread_struct *t = &current->thread;
691 u64 *vcpu_fpr = vcpu->arch.fpr; 693 u64 *vcpu_fpr = vcpu->arch.fpr;
694#ifdef CONFIG_VSX
692 u64 *vcpu_vsx = vcpu->arch.vsr; 695 u64 *vcpu_vsx = vcpu->arch.vsr;
696#endif
693 u64 *thread_fpr = (u64*)t->fpr; 697 u64 *thread_fpr = (u64*)t->fpr;
694 int i; 698 int i;
695 699
@@ -1221,8 +1225,12 @@ int __kvmppc_vcpu_run(struct kvm_run *kvm_run, struct kvm_vcpu *vcpu)
1221{ 1225{
1222 int ret; 1226 int ret;
1223 struct thread_struct ext_bkp; 1227 struct thread_struct ext_bkp;
1228#ifdef CONFIG_ALTIVEC
1224 bool save_vec = current->thread.used_vr; 1229 bool save_vec = current->thread.used_vr;
1230#endif
1231#ifdef CONFIG_VSX
1225 bool save_vsx = current->thread.used_vsr; 1232 bool save_vsx = current->thread.used_vsr;
1233#endif
1226 ulong ext_msr; 1234 ulong ext_msr;
1227 1235
1228 /* No need to go into the guest when all we do is going out */ 1236 /* No need to go into the guest when all we do is going out */