Changeset View
Changeset View
Standalone View
Standalone View
sys/powerpc/booke/locore.S
Show First 20 Lines • Show All 108 Lines • ▼ Show 20 Lines | |||||
* | * | ||||
* We rearrange the TLB1 layout as follows: | * We rearrange the TLB1 layout as follows: | ||||
* - Find TLB1 entry we started in | * - Find TLB1 entry we started in | ||||
* - Make sure it's protected, invalidate other entries | * - Make sure it's protected, invalidate other entries | ||||
* - Create temp entry in the second AS (make sure it's not TLB[1]) | * - Create temp entry in the second AS (make sure it's not TLB[1]) | ||||
* - Switch to temp mapping | * - Switch to temp mapping | ||||
* - Map 64MB of RAM in TLB1[1] | * - Map 64MB of RAM in TLB1[1] | ||||
* - Use AS=1, set EPN to KERNBASE and RPN to kernel load address | * - Use AS=1, set EPN to KERNBASE and RPN to kernel load address | ||||
* - Switch to to TLB1[1] mapping | * - Switch to TLB1[1] mapping | ||||
* - Invalidate temp mapping | * - Invalidate temp mapping | ||||
* | * | ||||
* locore registers use: | * locore registers use: | ||||
* r1 : stack pointer | * r1 : stack pointer | ||||
* r2 : trace pointer (AP only, for early diagnostics) | * r2 : trace pointer (AP only, for early diagnostics) | ||||
* r3-r27 : scratch registers | * r3-r27 : scratch registers | ||||
* r28 : temp TLB1 entry | * r28 : temp TLB1 entry | ||||
* r29 : initial TLB1 entry we started in | * r29 : initial TLB1 entry we started in | ||||
▲ Show 20 Lines • Show All 879 Lines • Show Last 20 Lines |