| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| #include <linux/linkage.h> |
| #include <asm/assembler.h> |
| |
| |
| |
| |
| |
| |
| ENTRY(__set_fiq_regs) |
| <------>mov r2, #PSR_I_BIT | PSR_F_BIT | FIQ_MODE |
| <------>mrs r1, cpsr |
| <------>msr cpsr_c, r2 @ select FIQ mode |
| <------>mov r0, r0 @ avoid hazard prior to ARMv4 |
| <------>ldmia r0!, {r8 - r12} |
| <------>ldr sp, [r0], #4 |
| <------>ldr lr, [r0] |
| <------>msr cpsr_c, r1 @ return to SVC mode |
| <------>mov r0, r0 @ avoid hazard prior to ARMv4 |
| <------>ret lr |
| ENDPROC(__set_fiq_regs) |
| |
| ENTRY(__get_fiq_regs) |
| <------>mov r2, #PSR_I_BIT | PSR_F_BIT | FIQ_MODE |
| <------>mrs r1, cpsr |
| <------>msr cpsr_c, r2 @ select FIQ mode |
| <------>mov r0, r0 @ avoid hazard prior to ARMv4 |
| <------>stmia r0!, {r8 - r12} |
| <------>str sp, [r0], #4 |
| <------>str lr, [r0] |
| <------>msr cpsr_c, r1 @ return to SVC mode |
| <------>mov r0, r0 @ avoid hazard prior to ARMv4 |
| <------>ret lr |
| ENDPROC(__get_fiq_regs) |
| |