[46/60] arm64: Clear OSDLR_EL1 on CPU boot

Message ID 20190515091737.18578-46-Jonathan.Cameron@huawei.com
State New
Headers show
Series
  • Untitled series #20378
Related show

Commit Message

Jonathan Cameron May 15, 2019, 9:17 a.m.
From: Jean-Philippe Brucker <jean-philippe.brucker@arm.com>


Some firmwares may reboot CPUs with OS Double Lock set. Make sure that
it is unlocked, in order to use debug exceptions.

Cc: <stable@vger.kernel.org>
Signed-off-by: Jean-Philippe Brucker <jean-philippe.brucker@arm.com>

Signed-off-by: Will Deacon <will.deacon@arm.com>

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>

---
 arch/arm64/kernel/debug-monitors.c | 1 +
 1 file changed, 1 insertion(+)

-- 
2.19.1

Patch

diff --git a/arch/arm64/kernel/debug-monitors.c b/arch/arm64/kernel/debug-monitors.c
index 800486cc48239..555b6bd2f3d68 100644
--- a/arch/arm64/kernel/debug-monitors.c
+++ b/arch/arm64/kernel/debug-monitors.c
@@ -135,6 +135,7 @@  NOKPROBE_SYMBOL(disable_debug_monitors);
  */
 static int clear_os_lock(unsigned int cpu)
 {
+	write_sysreg(0, osdlr_el1);
 	write_sysreg(0, oslar_el1);
 	isb();
 	return 0;