|
@@ -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
|