|
Value: asm volatile( \
"mrc p15, 0, r2, c3, c0\n\t" \
"adr lr, 1f\n\t" \
"mrs r3, cpsr\n\t" \
"ldr ip, [%[oldp]]\n\t" \
"stmfd sp!, {r0 - fp, lr}\n\t" \
"str %[new], [%[oldp]]\n\t" \
"str sp, [ip]\n\t" \
"ldr sp, [%[new]]\n\t" \
"ldmfd sp!, {r0-r3}\n\t" \
"mcr p15, 0, r2, c3, c0\n\t" \
"msr cpsr_c, %[psr]\n\t" \
"msr spsr, r3\n\t" \
"ldmfd sp!, {r4 - fp, pc}^\n\t" \
"1:" \
: \
: [oldp] "r" (&old_task), \
[ new] "r" (new_task), \
[psr] "i" (SVC_MODE| I_BIT) \
: "lr", "ip", "r2", "r3", "memory" \
)
Definition at line 89 of file rtai_sched.h. |