Return to locore.S CVS log | Up to [cvs.NetBSD.org] / src / sys / arch / arm / arm32 |
Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. |
version 1.10, 2002/10/15 23:10:32 | version 1.11, 2002/10/19 12:22:33 | ||
---|---|---|---|
|
|
||
b _C_LABEL(abort) | b _C_LABEL(abort) | ||
/* | |||
* Atomic bit set and clear functions | |||
*/ | |||
ENTRY(atomic_set_bit) | |||
mrs r2, cpsr | |||
orr r3, r2, #(I32_bit) | |||
msr cpsr_all, r3 | |||
ldr r3, [r0] | |||
orr r3, r3, r1 | |||
str r3, [r0] | |||
msr cpsr_all, r2 | |||
mov pc, lr | |||
ENTRY(atomic_clear_bit) | |||
mrs r2, cpsr | |||
orr r3, r2, #(I32_bit) | |||
msr cpsr_all, r3 | |||
ldr r3, [r0] | |||
bic r3, r3, r1 | |||
str r3, [r0] | |||
msr cpsr_all, r2 | |||
mov pc, lr | |||
/* End of locore.S */ | /* End of locore.S */ |