aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMax Filippov <jcmvbkbc@gmail.com>2013-04-05 20:10:13 -0400
committerChris Zankel <chris@zankel.net>2013-05-09 04:07:10 -0400
commit4e96274e2b7a7463de6849c0411d876182ee8889 (patch)
treed8211160acf059ec75501875ce7b978170f163e9
parentf4b93ba93184c23f7a903cc790b573195fb41c37 (diff)
xtensa: clean up stpill_registers
- remove unused asm parameters; - fix EXCM bit setting in the PS SR during _spill_registers call. Signed-off-by: Max Filippov <jcmvbkbc@gmail.com> Signed-off-by: Chris Zankel <chris@zankel.net>
-rw-r--r--arch/xtensa/include/asm/traps.h5
1 files changed, 2 insertions, 3 deletions
diff --git a/arch/xtensa/include/asm/traps.h b/arch/xtensa/include/asm/traps.h
index b5464ef3cf66..917488a0ab00 100644
--- a/arch/xtensa/include/asm/traps.h
+++ b/arch/xtensa/include/asm/traps.h
@@ -22,10 +22,9 @@ extern void do_unhandled(struct pt_regs *regs, unsigned long exccause);
22 22
23static inline void spill_registers(void) 23static inline void spill_registers(void)
24{ 24{
25 unsigned int a0, ps;
26 25
27 __asm__ __volatile__ ( 26 __asm__ __volatile__ (
28 "movi a14, " __stringify(PS_EXCM_BIT | LOCKLEVEL) "\n\t" 27 "movi a14, "__stringify((1 << PS_EXCM_BIT) | LOCKLEVEL)"\n\t"
29 "mov a12, a0\n\t" 28 "mov a12, a0\n\t"
30 "rsr a13, sar\n\t" 29 "rsr a13, sar\n\t"
31 "xsr a14, ps\n\t" 30 "xsr a14, ps\n\t"
@@ -35,7 +34,7 @@ static inline void spill_registers(void)
35 "mov a0, a12\n\t" 34 "mov a0, a12\n\t"
36 "wsr a13, sar\n\t" 35 "wsr a13, sar\n\t"
37 "wsr a14, ps\n\t" 36 "wsr a14, ps\n\t"
38 : : "a" (&a0), "a" (&ps) 37 : :
39#if defined(CONFIG_FRAME_POINTER) 38#if defined(CONFIG_FRAME_POINTER)
40 : "a2", "a3", "a4", "a11", "a12", "a13", "a14", "a15", 39 : "a2", "a3", "a4", "a11", "a12", "a13", "a14", "a15",
41#else 40#else