Changeset View
Changeset View
Standalone View
Standalone View
head/sys/arm/arm/swtch-v6.S
Show First 20 Lines • Show All 444 Lines • ▼ Show 20 Lines | #endif | ||||
str r11, [r8, #PC_CURTHREAD] | str r11, [r8, #PC_CURTHREAD] | ||||
mcr CP15_TPIDRPRW(r11) | mcr CP15_TPIDRPRW(r11) | ||||
/* store pcb in per cpu structure */ | /* store pcb in per cpu structure */ | ||||
str r7, [r8, #PC_CURPCB] | str r7, [r8, #PC_CURPCB] | ||||
/* | /* | ||||
* Restore all saved registers and return. Note that some saved | * Restore all saved registers and return. Note that some saved | ||||
* registers can be changed when either cpu_fork(), cpu_set_upcall(), | * registers can be changed when either cpu_fork(), cpu_copy_thread(), | ||||
* cpu_set_fork_handler(), or makectx() was called. | * cpu_fork_kthread_handler(), or makectx() was called. | ||||
*/ | */ | ||||
add r3, r7, #PCB_R4 | add r3, r7, #PCB_R4 | ||||
ldmia r3, {r4-r12, sp, pc} | ldmia r3, {r4-r12, sp, pc} | ||||
#ifdef INVARIANTS | #ifdef INVARIANTS | ||||
badsw1: | badsw1: | ||||
ldr r0, =sw1_panic_str | ldr r0, =sw1_panic_str | ||||
bl _C_LABEL(panic) | bl _C_LABEL(panic) | ||||
Show All 31 Lines |