summaryrefslogtreecommitdiff
path: root/arch/arc/kernel/entry.S
diff options
context:
space:
mode:
authorVineet Gupta <vgupta@synopsys.com>2014-10-13 15:12:25 +0530
committerVineet Gupta <vgupta@synopsys.com>2015-06-19 18:09:34 +0530
commitfbfa26ae3b2001d0885938175f9af5a4c50a528c (patch)
treed98a145290cb48f8393bcc1888db747d86da07c0 /arch/arc/kernel/entry.S
parent11e14896ea3b0acbdcadb171bc40fc8fef37370e (diff)
ARC: entry.S: common'ize scrtach reg freeup in intr + exceptions
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Diffstat (limited to 'arch/arc/kernel/entry.S')
-rw-r--r--arch/arc/kernel/entry.S10
1 files changed, 2 insertions, 8 deletions
diff --git a/arch/arc/kernel/entry.S b/arch/arc/kernel/entry.S
index d868289c5a26..13b14b8dcd8d 100644
--- a/arch/arc/kernel/entry.S
+++ b/arch/arc/kernel/entry.S
@@ -186,9 +186,8 @@ reserved: ; processor restart
; ---------------------------------------------
ENTRY(handle_interrupt_level2)
- ; TODO-vineetg for SMP this wont work
; free up r9 as scratchpad
- st r9, [@int2_saved_reg]
+ PROLOG_FREEUP_REG r9, @int2_saved_reg
;Which mode (user/kernel) was the system in when intr occured
lr r9, [status32_l2]
@@ -234,12 +233,7 @@ END(handle_interrupt_level2)
; ---------------------------------------------
ENTRY(handle_interrupt_level1)
- /* free up r9 as scratchpad */
-#ifdef CONFIG_SMP
- sr r9, [ARC_REG_SCRATCH_DATA0]
-#else
- st r9, [@int1_saved_reg]
-#endif
+ PROLOG_FREEUP_REG r9, @int1_saved_reg
;Which mode (user/kernel) was the system in when intr occured
lr r9, [status32_l1]