diff options
Diffstat (limited to 'arch/sh/kernel/entry-common.S')
-rw-r--r-- | arch/sh/kernel/entry-common.S | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/arch/sh/kernel/entry-common.S b/arch/sh/kernel/entry-common.S index efbb4268875e..d62359cfbbe2 100644 --- a/arch/sh/kernel/entry-common.S +++ b/arch/sh/kernel/entry-common.S | |||
@@ -308,15 +308,19 @@ ENTRY(system_call) | |||
308 | mov.l 1f, r9 | 308 | mov.l 1f, r9 |
309 | mov.l @r9, r8 ! Read from TRA (Trap Address) Register | 309 | mov.l @r9, r8 ! Read from TRA (Trap Address) Register |
310 | #endif | 310 | #endif |
311 | |||
312 | mov #OFF_TRA, r10 | ||
313 | add r15, r10 | ||
314 | mov.l r8, @r10 ! set TRA value to tra | ||
315 | |||
311 | /* | 316 | /* |
312 | * Check the trap type | 317 | * Check the trap type |
313 | */ | 318 | */ |
314 | mov #((0x20 << 2) - 1), r9 | 319 | mov #((0x20 << 2) - 1), r9 |
315 | cmp/hi r9, r8 | 320 | cmp/hi r9, r8 |
316 | bt/s debug_trap ! it's a debug trap.. | 321 | bt/s debug_trap ! it's a debug trap.. |
317 | mov #OFF_TRA, r9 | 322 | nop |
318 | add r15, r9 | 323 | |
319 | mov.l r8, @r9 ! set TRA value to tra | ||
320 | #ifdef CONFIG_TRACE_IRQFLAGS | 324 | #ifdef CONFIG_TRACE_IRQFLAGS |
321 | mov.l 5f, r10 | 325 | mov.l 5f, r10 |
322 | jsr @r10 | 326 | jsr @r10 |