]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - arch/arm64/kvm/sys_regs.c
Merge tag 'kvm-arm-for-v4.12-round2' of git://git.kernel.org/pub/scm/linux/kernel...
[karo-tx-linux.git] / arch / arm64 / kvm / sys_regs.c
index efbe9e8e7a7800eee33eb519fb38c5006b1c821c..0fe27024a2e1a749b2ba08fc3971c10f5ad5adc0 100644 (file)
@@ -1529,8 +1529,8 @@ static int kvm_handle_cp_64(struct kvm_vcpu *vcpu,
 {
        struct sys_reg_params params;
        u32 hsr = kvm_vcpu_get_hsr(vcpu);
-       int Rt = (hsr >> 5) & 0xf;
-       int Rt2 = (hsr >> 10) & 0xf;
+       int Rt = kvm_vcpu_sys_get_rt(vcpu);
+       int Rt2 = (hsr >> 10) & 0x1f;
 
        params.is_aarch32 = true;
        params.is_32bit = false;
@@ -1586,7 +1586,7 @@ static int kvm_handle_cp_32(struct kvm_vcpu *vcpu,
 {
        struct sys_reg_params params;
        u32 hsr = kvm_vcpu_get_hsr(vcpu);
-       int Rt  = (hsr >> 5) & 0xf;
+       int Rt  = kvm_vcpu_sys_get_rt(vcpu);
 
        params.is_aarch32 = true;
        params.is_32bit = true;
@@ -1688,7 +1688,7 @@ int kvm_handle_sys_reg(struct kvm_vcpu *vcpu, struct kvm_run *run)
 {
        struct sys_reg_params params;
        unsigned long esr = kvm_vcpu_get_hsr(vcpu);
-       int Rt = (esr >> 5) & 0x1f;
+       int Rt = kvm_vcpu_sys_get_rt(vcpu);
        int ret;
 
        trace_kvm_handle_sys_reg(esr);