|
@@ -36,7 +36,11 @@ static void __hyp_text __activate_traps(struct kvm_vcpu *vcpu)
|
|
|
write_sysreg(val, hcr_el2);
|
|
|
/* Trap on AArch32 cp15 c15 accesses (EL1 or EL0) */
|
|
|
write_sysreg(1 << 15, hstr_el2);
|
|
|
- write_sysreg(CPTR_EL2_TTA | CPTR_EL2_TFP, cptr_el2);
|
|
|
+
|
|
|
+ val = CPTR_EL2_DEFAULT;
|
|
|
+ val |= CPTR_EL2_TTA | CPTR_EL2_TFP;
|
|
|
+ write_sysreg(val, cptr_el2);
|
|
|
+
|
|
|
write_sysreg(vcpu->arch.mdcr_el2, mdcr_el2);
|
|
|
}
|
|
|
|
|
@@ -45,7 +49,7 @@ static void __hyp_text __deactivate_traps(struct kvm_vcpu *vcpu)
|
|
|
write_sysreg(HCR_RW, hcr_el2);
|
|
|
write_sysreg(0, hstr_el2);
|
|
|
write_sysreg(read_sysreg(mdcr_el2) & MDCR_EL2_HPMN_MASK, mdcr_el2);
|
|
|
- write_sysreg(0, cptr_el2);
|
|
|
+ write_sysreg(CPTR_EL2_DEFAULT, cptr_el2);
|
|
|
}
|
|
|
|
|
|
static void __hyp_text __activate_vm(struct kvm_vcpu *vcpu)
|