aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kvm/powerpc.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/powerpc/kvm/powerpc.c')
-rw-r--r--arch/powerpc/kvm/powerpc.c20
1 files changed, 10 insertions, 10 deletions
diff --git a/arch/powerpc/kvm/powerpc.c b/arch/powerpc/kvm/powerpc.c
index 6fd2405c7f4a..a3b182dcb823 100644
--- a/arch/powerpc/kvm/powerpc.c
+++ b/arch/powerpc/kvm/powerpc.c
@@ -919,21 +919,17 @@ int kvm_vcpu_ioctl_get_one_reg(struct kvm_vcpu *vcpu, struct kvm_one_reg *reg)
919 r = -ENXIO; 919 r = -ENXIO;
920 break; 920 break;
921 } 921 }
922 vcpu->arch.vr.vr[reg->id - KVM_REG_PPC_VR0] = val.vval; 922 val.vval = vcpu->arch.vr.vr[reg->id - KVM_REG_PPC_VR0];
923 break; 923 break;
924 case KVM_REG_PPC_VSCR: 924 case KVM_REG_PPC_VSCR:
925 if (!cpu_has_feature(CPU_FTR_ALTIVEC)) { 925 if (!cpu_has_feature(CPU_FTR_ALTIVEC)) {
926 r = -ENXIO; 926 r = -ENXIO;
927 break; 927 break;
928 } 928 }
929 vcpu->arch.vr.vscr.u[3] = set_reg_val(reg->id, val); 929 val = get_reg_val(reg->id, vcpu->arch.vr.vscr.u[3]);
930 break; 930 break;
931 case KVM_REG_PPC_VRSAVE: 931 case KVM_REG_PPC_VRSAVE:
932 if (!cpu_has_feature(CPU_FTR_ALTIVEC)) { 932 val = get_reg_val(reg->id, vcpu->arch.vrsave);
933 r = -ENXIO;
934 break;
935 }
936 vcpu->arch.vrsave = set_reg_val(reg->id, val);
937 break; 933 break;
938#endif /* CONFIG_ALTIVEC */ 934#endif /* CONFIG_ALTIVEC */
939 default: 935 default:
@@ -974,17 +970,21 @@ int kvm_vcpu_ioctl_set_one_reg(struct kvm_vcpu *vcpu, struct kvm_one_reg *reg)
974 r = -ENXIO; 970 r = -ENXIO;
975 break; 971 break;
976 } 972 }
977 val.vval = vcpu->arch.vr.vr[reg->id - KVM_REG_PPC_VR0]; 973 vcpu->arch.vr.vr[reg->id - KVM_REG_PPC_VR0] = val.vval;
978 break; 974 break;
979 case KVM_REG_PPC_VSCR: 975 case KVM_REG_PPC_VSCR:
980 if (!cpu_has_feature(CPU_FTR_ALTIVEC)) { 976 if (!cpu_has_feature(CPU_FTR_ALTIVEC)) {
981 r = -ENXIO; 977 r = -ENXIO;
982 break; 978 break;
983 } 979 }
984 val = get_reg_val(reg->id, vcpu->arch.vr.vscr.u[3]); 980 vcpu->arch.vr.vscr.u[3] = set_reg_val(reg->id, val);
985 break; 981 break;
986 case KVM_REG_PPC_VRSAVE: 982 case KVM_REG_PPC_VRSAVE:
987 val = get_reg_val(reg->id, vcpu->arch.vrsave); 983 if (!cpu_has_feature(CPU_FTR_ALTIVEC)) {
984 r = -ENXIO;
985 break;
986 }
987 vcpu->arch.vrsave = set_reg_val(reg->id, val);
988 break; 988 break;
989#endif /* CONFIG_ALTIVEC */ 989#endif /* CONFIG_ALTIVEC */
990 default: 990 default: