summaryrefslogtreecommitdiff
path: root/arch/xtensa
diff options
context:
space:
mode:
authorMax Filippov <jcmvbkbc@gmail.com>2013-04-06 04:10:13 +0400
committerChris Zankel <chris@zankel.net>2013-05-09 01:07:10 -0700
commit4e96274e2b7a7463de6849c0411d876182ee8889 (patch)
treed8211160acf059ec75501875ce7b978170f163e9 /arch/xtensa
parentf4b93ba93184c23f7a903cc790b573195fb41c37 (diff)
downloadlinux-3.10-4e96274e2b7a7463de6849c0411d876182ee8889.tar.gz
linux-3.10-4e96274e2b7a7463de6849c0411d876182ee8889.tar.bz2
linux-3.10-4e96274e2b7a7463de6849c0411d876182ee8889.zip
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>
Diffstat (limited to 'arch/xtensa')
-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 b5464ef3cf6..917488a0ab0 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);
static inline void spill_registers(void)
{
- unsigned int a0, ps;
__asm__ __volatile__ (
- "movi a14, " __stringify(PS_EXCM_BIT | LOCKLEVEL) "\n\t"
+ "movi a14, "__stringify((1 << PS_EXCM_BIT) | LOCKLEVEL)"\n\t"
"mov a12, a0\n\t"
"rsr a13, sar\n\t"
"xsr a14, ps\n\t"
@@ -35,7 +34,7 @@ static inline void spill_registers(void)
"mov a0, a12\n\t"
"wsr a13, sar\n\t"
"wsr a14, ps\n\t"
- : : "a" (&a0), "a" (&ps)
+ : :
#if defined(CONFIG_FRAME_POINTER)
: "a2", "a3", "a4", "a11", "a12", "a13", "a14", "a15",
#else