Tell the unwinder we can't unwind swi_entry. This fixes an infinite loop
when the kernel attempts to unwind through this function. The .fnstart and .fnend in this function should be moved to macros but we are currently missing an END macro on ARM.
This commit is contained in:
parent
67727fbfce
commit
536daf817a
@ -77,6 +77,9 @@ Lreset_panicmsg:
|
||||
* Handler for the Software Interrupt exception.
|
||||
*/
|
||||
ASENTRY_NP(swi_entry)
|
||||
.fnstart
|
||||
.cantunwind /* Don't unwind past here */
|
||||
|
||||
PUSHFRAME
|
||||
|
||||
mov r0, sp /* Pass the frame to any function */
|
||||
@ -88,6 +91,7 @@ ASENTRY_NP(swi_entry)
|
||||
DO_AST
|
||||
PULLFRAME
|
||||
movs pc, lr /* Exit */
|
||||
.fnend
|
||||
|
||||
/*
|
||||
* prefetch_abort_entry:
|
||||
|
Loading…
x
Reference in New Issue
Block a user