summaryrefslogtreecommitdiffstats
path: root/arch/tile/kernel/intvec_32.S
diff options
context:
space:
mode:
authorChris Metcalf2010-10-14 22:32:41 +0200
committerChris Metcalf2010-10-15 21:38:26 +0200
commit233325b94999d4bb8df227bb39904a57509e4995 (patch)
tree1f195bded03ce5aa483b41531e739a8cc61ce392 /arch/tile/kernel/intvec_32.S
parentarch/tile: parameterize system PLs to support KVM port (diff)
downloadkernel-qcow2-linux-233325b94999d4bb8df227bb39904a57509e4995.tar.gz
kernel-qcow2-linux-233325b94999d4bb8df227bb39904a57509e4995.tar.xz
kernel-qcow2-linux-233325b94999d4bb8df227bb39904a57509e4995.zip
arch/tile: enable single-step support for TILE-Gx
This is not quite the complete support, since we're not yet shipping intvec_64.S, but it is the support relevant to the set of files we are currently shipping, and makes it easier to track changes between our internal sources and our public GIT repository. Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
Diffstat (limited to 'arch/tile/kernel/intvec_32.S')
-rw-r--r--arch/tile/kernel/intvec_32.S7
1 files changed, 6 insertions, 1 deletions
diff --git a/arch/tile/kernel/intvec_32.S b/arch/tile/kernel/intvec_32.S
index 206dc7e1fe36..f5821626247f 100644
--- a/arch/tile/kernel/intvec_32.S
+++ b/arch/tile/kernel/intvec_32.S
@@ -1472,7 +1472,12 @@ handle_ill:
lw r26, r24
sw r28, r26
- /* Clear TIF_SINGLESTEP */
+ /*
+ * Clear TIF_SINGLESTEP to prevent recursion if we execute an ill.
+ * The normal non-arch flow redundantly clears TIF_SINGLESTEP, but we
+ * need to clear it here and can't really impose on all other arches.
+ * So what's another write between friends?
+ */
GET_THREAD_INFO(r0)
addi r1, r0, THREAD_INFO_FLAGS_OFFSET