|
@@ -1529,8 +1529,8 @@ static int kvm_handle_cp_64(struct kvm_vcpu *vcpu,
|
|
{
|
|
{
|
|
struct sys_reg_params params;
|
|
struct sys_reg_params params;
|
|
u32 hsr = kvm_vcpu_get_hsr(vcpu);
|
|
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_aarch32 = true;
|
|
params.is_32bit = false;
|
|
params.is_32bit = false;
|
|
@@ -1586,7 +1586,7 @@ static int kvm_handle_cp_32(struct kvm_vcpu *vcpu,
|
|
{
|
|
{
|
|
struct sys_reg_params params;
|
|
struct sys_reg_params params;
|
|
u32 hsr = kvm_vcpu_get_hsr(vcpu);
|
|
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_aarch32 = true;
|
|
params.is_32bit = 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;
|
|
struct sys_reg_params params;
|
|
unsigned long esr = kvm_vcpu_get_hsr(vcpu);
|
|
unsigned long esr = kvm_vcpu_get_hsr(vcpu);
|
|
- int Rt = (esr >> 5) & 0x1f;
|
|
|
|
|
|
+ int Rt = kvm_vcpu_sys_get_rt(vcpu);
|
|
int ret;
|
|
int ret;
|
|
|
|
|
|
trace_kvm_handle_sys_reg(esr);
|
|
trace_kvm_handle_sys_reg(esr);
|