bad9fa5662
In r361544, the pmap drivers were converted to ifuncs. When doing so, this changed the call type of pmap functions to be called via the secure-plt stubs. These stubs depend on the TOC base being loaded to r30 to run properly. On SMP AIM (i.e. a dual processor G4 or running 32-bit on G5), since the APs were being started up from the reset vector instead of going through __start, they had never had r30 initialized properly, so when the cpu_reset code in trap_subr32.S attempted to branch to pmap_cpu_bootstrap(), it was loading the target from the wrong location. Ensure r30 is set up directly in the cpu_reset trap code, so we can make PLT calls as normal. Fixes boot on my SMP G4. Reviewed by: jhibbits MFC after: 3 days Sponsored by: Tag1 Consulting, Inc. |
||
---|---|---|
.. | ||
aim_machdep.c | ||
locore32.S | ||
locore64.S | ||
locore.S | ||
mmu_oea64.c | ||
mmu_oea64.h | ||
mmu_oea.c | ||
mmu_radix.c | ||
moea64_native.c | ||
mp_cpudep.c | ||
slb.c | ||
trap_subr32.S | ||
trap_subr64.S |