Patch "arm64: head.S: initialise mdcr_el2 in el2_setup" has been added to the 4.2-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    arm64: head.S: initialise mdcr_el2 in el2_setup

to the 4.2-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     arm64-head.s-initialise-mdcr_el2-in-el2_setup.patch
and it can be found in the queue-4.2 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.


>From d10bcd473301888f957ec4b6b12aa3621be78d59 Mon Sep 17 00:00:00 2001
From: Will Deacon <will.deacon@xxxxxxx>
Date: Wed, 2 Sep 2015 18:49:28 +0100
Subject: arm64: head.S: initialise mdcr_el2 in el2_setup

From: Will Deacon <will.deacon@xxxxxxx>

commit d10bcd473301888f957ec4b6b12aa3621be78d59 upstream.

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.

Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx>
Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>

---
 arch/arm64/kernel/head.S |    5 +++++
 1 file changed, 5 insertions(+)

--- a/arch/arm64/kernel/head.S
+++ b/arch/arm64/kernel/head.S
@@ -528,6 +528,11 @@ CPU_LE(	movk	x0, #0x30d0, lsl #16	)	// C
 	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
 


Patches currently in stable-queue which might be from will.deacon@xxxxxxx are

queue-4.2/arm64-head.s-initialise-mdcr_el2-in-el2_setup.patch
queue-4.2/arm64-set-max_memblock_addr-according-to-linear-region-size.patch
queue-4.2/arm64-kconfig-move-list_poison-to-a-safe-value.patch
queue-4.2/arm64-flush-fp-simd-state-correctly-after-execve.patch
queue-4.2/arm64-entry-always-restore-x0-from-the-stack-on-syscall-return.patch
queue-4.2/kvm-arm64-add-workaround-for-cortex-a57-erratum-852523.patch
queue-4.2/of-fdt-make-memblock-maximum-physical-address-arch-configurable.patch
queue-4.2/arm64-errata-add-module-build-workaround-for-erratum-843419.patch
queue-4.2/arm64-compat-fix-vfp-save-restore-across-signal-handlers-in-big-endian.patch
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]