summaryrefslogtreecommitdiffstats
path: root/arch/arm/kvm/hyp/switch.c
diff options
context:
space:
mode:
authorMarc Zyngier <marc.zyngier@arm.com>2017-06-15 10:35:15 +0200
committerMarc Zyngier <marc.zyngier@arm.com>2017-06-15 10:35:15 +0200
commit6f2f10cabe73944488a62df16695c86e20d4c3f9 (patch)
tree514fa4c6127892ed55d5a00611ce95555c3ce011 /arch/arm/kvm/hyp/switch.c
parentKVM: arm/arm64: Don't assume initialized vgic when setting PMU IRQ (diff)
parentarm: KVM: Allow unaligned accesses at HYP (diff)
downloadlinux-6f2f10cabe73944488a62df16695c86e20d4c3f9.tar.xz
linux-6f2f10cabe73944488a62df16695c86e20d4c3f9.zip
Merge branch 'kvmarm-master/master' into HEAD
Diffstat (limited to 'arch/arm/kvm/hyp/switch.c')
-rw-r--r--arch/arm/kvm/hyp/switch.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/arm/kvm/hyp/switch.c b/arch/arm/kvm/hyp/switch.c
index c8f15bb5c8b3..ebd2dd46adf7 100644
--- a/arch/arm/kvm/hyp/switch.c
+++ b/arch/arm/kvm/hyp/switch.c
@@ -48,7 +48,9 @@ static void __hyp_text __activate_traps(struct kvm_vcpu *vcpu, u32 *fpexc_host)
write_sysreg(HSTR_T(15), HSTR);
write_sysreg(HCPTR_TTA | HCPTR_TCP(10) | HCPTR_TCP(11), HCPTR);
val = read_sysreg(HDCR);
- write_sysreg(val | HDCR_TPM | HDCR_TPMCR, HDCR);
+ val |= HDCR_TPM | HDCR_TPMCR; /* trap performance monitors */
+ val |= HDCR_TDRA | HDCR_TDOSA | HDCR_TDA; /* trap debug regs */
+ write_sysreg(val, HDCR);
}
static void __hyp_text __deactivate_traps(struct kvm_vcpu *vcpu)