From: will.deacon@arm.com (Will Deacon)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/7] ARM: hw_breakpoint: only clear OS lock when implemented on v7
Date: Wed, 17 Oct 2012 16:31:35 +0100 [thread overview]
Message-ID: <1350487901-3108-2-git-send-email-will.deacon@arm.com> (raw)
In-Reply-To: <1350487901-3108-1-git-send-email-will.deacon@arm.com>
The OS save and restore register are optional in debug architecture v7,
so check the status register before attempting to clear the OS lock.
Signed-off-by: Will Deacon <will.deacon@arm.com>
---
arch/arm/kernel/hw_breakpoint.c | 10 +++++++++-
1 files changed, 9 insertions(+), 1 deletions(-)
diff --git a/arch/arm/kernel/hw_breakpoint.c b/arch/arm/kernel/hw_breakpoint.c
index 281bf33..ec16ada 100644
--- a/arch/arm/kernel/hw_breakpoint.c
+++ b/arch/arm/kernel/hw_breakpoint.c
@@ -929,6 +929,13 @@ static void reset_ctrl_regs(void *unused)
asm volatile("mrc p14, 0, %0, c1, c5, 4" : "=r" (dbg_power));
if ((dbg_power & 0x1) == 0)
err = -EPERM;
+
+ /*
+ * Check whether we implement OS save and restore.
+ */
+ asm volatile("mrc p14, 0, %0, c1, c1, 4" : "=r" (dbg_power));
+ if ((dbg_power & 0x9) == 0)
+ goto clear_vcr;
break;
case ARM_DEBUG_ARCH_V7_1:
/*
@@ -947,7 +954,7 @@ static void reset_ctrl_regs(void *unused)
}
/*
- * Unconditionally clear the lock by writing a value
+ * Unconditionally clear the OS lock by writing a value
* other than 0xC5ACCE55 to the access register.
*/
asm volatile("mcr p14, 0, %0, c1, c0, 4" : : "r" (0));
@@ -957,6 +964,7 @@ static void reset_ctrl_regs(void *unused)
* Clear any configured vector-catch events before
* enabling monitor mode.
*/
+clear_vcr:
asm volatile("mcr p14, 0, %0, c0, c7, 0" : : "r" (0));
isb();
--
1.7.4.1
next prev parent reply other threads:[~2012-10-17 15:31 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-10-17 15:31 [PATCH 0/7] ARM: hw_breakpoint: fix reset sequence for debug arch v7.1 Will Deacon
2012-10-17 15:31 ` Will Deacon [this message]
2012-10-24 22:53 ` [PATCH 1/7] ARM: hw_breakpoint: only clear OS lock when implemented on v7 Stephen Boyd
2012-10-25 14:49 ` Will Deacon
2012-10-17 15:31 ` [PATCH 2/7] ARM: hw_breakpoint: fix monitor mode detection with v7.1 Will Deacon
2012-10-24 22:53 ` Stephen Boyd
2012-10-17 15:31 ` [PATCH 3/7] ARM: hw_breakpoint: fix ordering of debug register reset sequence Will Deacon
2012-10-24 22:53 ` Stephen Boyd
2012-10-17 15:31 ` [PATCH 4/7] ARM: hw_breakpoint: don't try to clear v6 debug registers during boot Will Deacon
2012-10-24 22:53 ` Stephen Boyd
2012-10-17 15:31 ` [PATCH 5/7] ARM: hw_breakpoint: make boot quieter without CPUID feature registers Will Deacon
2012-10-24 22:53 ` Stephen Boyd
2012-10-17 15:31 ` [PATCH 6/7] ARM: hw_breakpoint: check if monitor mode is enabled during validation Will Deacon
2012-10-17 15:31 ` [PATCH 7/7] ARM: hw_breakpoint: use CRn as argument for debug reg accessor macros Will Deacon
2012-10-24 22:54 ` Stephen Boyd
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1350487901-3108-2-git-send-email-will.deacon@arm.com \
--to=will.deacon@arm.com \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.