On 08/09/14 16:49, Nicolas Pitre wrote: > On Mon, 8 Sep 2014, Daniel Thompson wrote: > >> +@ >> +@ Taking a FIQ in abort mode is similar to taking a FIQ in SVC mode >> +@ and reuses the same macros. However in abort mode we must also >> +@ save/restore lr_abt and spsr_abt to make nested aborts safe. >> +@ >> + .align 5 >> +__fiq_abt: >> + svc_entry 0, 0 >> + >> + ARM( msr cpsr_c, #ABT_MODE | PSR_I_BIT | PSR_F_BIT ) >> + THUMB( mov r0, #ABT_MODE | PSR_I_BIT | PSR_F_BIT ) >> + THUMB( msr cpsr_c, r0 ) >> + mov r1, lr @ Save lr_abt >> + mrs r2, spsr @ Save spsr_abt, abort is now safe >> + ARM( msr cpsr_c, #SVC_MODE | PSR_I_BIT | PSR_F_BIT ) >> + THUMB( mov r0, #SVC_MODE | PSR_I_BIT | PSR_F_BIT ) >> + THUMB( msr cpsr_c, r0 ) >> + push {r1 - r2} > > stmfd sp!, {r1 - r2} > >> + >> + sub r0, sp, #8 @ struct pt_regs *regs >> + bl handle_fiq_as_nmi >> + >> + pop {r1 - r2} > > ldmfd sp!, {r1 - r2} > > ... so that old binutils we still accept to compile the kernel (in ARM > mode) are happy.
Will do. > Otherwise... > > Acked-by: Nicolas Pitre <n...@linaro.org> Thanks :-) -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/