diff options
Diffstat (limited to 'arch/powerpc/kvm/powerpc.c')
-rw-r--r-- | arch/powerpc/kvm/powerpc.c | 20 |
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: |