Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d10bcd47 authored by Will Deacon's avatar Will Deacon
Browse files

arm64: head.S: initialise mdcr_el2 in el2_setup



When entering the kernel at EL2, we fail to initialise the MDCR_EL2
register which controls debug access and PMU capabilities at EL1.

This patch ensures that the register is initialised so that all traps
are disabled and all the PMU counters are available to the host. When a
guest is scheduled, KVM takes care to configure trapping appropriately.

Cc: <stable@vger.kernel.org>
Acked-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
parent 2314ee4d
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -523,6 +523,11 @@ CPU_LE( movk x0, #0x30d0, lsl #16 ) // Clear EE and E0E on LE systems
	msr	hstr_el2, xzr			// Disable CP15 traps to EL2
#endif

	/* EL2 debug */
	mrs	x0, pmcr_el0			// Disable debug access traps
	ubfx	x0, x0, #11, #5			// to EL2 and allow access to
	msr	mdcr_el2, x0			// all PMU counters from EL1

	/* Stage-2 translation */
	msr	vttbr_el2, xzr