X-Git-Url: https://git.karo-electronics.de/?a=blobdiff_plain;f=arch%2Fblackfin%2Fkernel%2Ffixed_code.S;h=90262691b11a299993108608e0ad63d19feb0a63;hb=3b470ac43fcd9848fa65e58e54875ad75be61cec;hp=d8b1ebc7099684d1dd46fea05cf4d94186fcd7df;hpb=2e85622042cb5fd56a606e884651ffde52f21028;p=mv-sheeva.git diff --git a/arch/blackfin/kernel/fixed_code.S b/arch/blackfin/kernel/fixed_code.S index d8b1ebc7099..90262691b11 100644 --- a/arch/blackfin/kernel/fixed_code.S +++ b/arch/blackfin/kernel/fixed_code.S @@ -129,4 +129,18 @@ ENTRY(_atomic_xor32) rts; ENDPROC (_atomic_ior32) +.align 16 + /* + * safe_user_instruction + * Four NOPS are enough to allow the pipeline to speculativily load + * execute anything it wants. After that, things have gone bad, and + * we are stuck - so panic. Since we might be in user space, we can't + * call panic, so just cause a unhandled exception, this should cause + * a dump of the trace buffer so we can tell were we are, and a reboot + */ +ENTRY(_safe_user_instruction) + NOP; NOP; NOP; NOP; + EXCPT 0x4; +ENDPROC(_safe_user_instruction) + ENTRY(_fixed_code_end)