diff --git a/soc/runtime/exception_jmp.S b/soc/runtime/exception_jmp.S index a537472fe..014422960 100644 --- a/soc/runtime/exception_jmp.S +++ b/soc/runtime/exception_jmp.S @@ -1,5 +1,5 @@ .global exception_setjmp -.type exception_setjmp,@function +.type exception_setjmp, @function exception_setjmp: l.sw 0(r3), r1 l.sw 4(r3), r2 @@ -15,16 +15,12 @@ exception_setjmp: l.sw 44(r3), r28 l.sw 48(r3), r30 l.jr r9 - l.ori r11,r0,0 + l.ori r11, r0, 0 .global exception_longjmp -.type exception_longjmp,@function +.type exception_longjmp, @function exception_longjmp: - l.sfeqi r4, 0 - l.bnf 1f - l.addi r11, r4, 0 - l.ori r11, r0, 1 -1: l.lwz r1, 0(r3) + l.lwz r1, 0(r3) l.lwz r2, 4(r3) l.lwz r9, 8(r3) l.lwz r10, 12(r3) @@ -38,4 +34,4 @@ exception_longjmp: l.lwz r28, 44(r3) l.lwz r30, 48(r3) l.jr r9 - l.nop + l.ori r11, r0, 1 diff --git a/soc/runtime/exceptions.c b/soc/runtime/exceptions.c index b284236f5..263913e33 100644 --- a/soc/runtime/exceptions.c +++ b/soc/runtime/exceptions.c @@ -30,5 +30,5 @@ int exception_getid(void) void exception_raise(int id) { - exception_longjmp(exception_contexts[--ec_top].jb, 1); + exception_longjmp(exception_contexts[--ec_top].jb); } diff --git a/soc/runtime/exceptions.h b/soc/runtime/exceptions.h index 7ece718b6..f5b9782ac 100644 --- a/soc/runtime/exceptions.h +++ b/soc/runtime/exceptions.h @@ -6,7 +6,7 @@ enum { }; int exception_setjmp(void *jb) __attribute__((returns_twice)); -void exception_longjmp(void *jb, int val) __attribute__((noreturn)); +void exception_longjmp(void *jb) __attribute__((noreturn)); void *exception_push(void); void exception_pop(int levels);