freebsd-dev/sys/powerpc
Brandon Bergren bad9fa5662 [PowerPC] Fix AP bringup on 32-bit AIM SMP
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.
2021-03-06 15:46:28 -06:00
..
aim [PowerPC] Fix AP bringup on 32-bit AIM SMP 2021-03-06 15:46:28 -06:00
amigaone powerpc: clean up empty lines in .c and .h files 2020-09-01 21:20:08 +00:00
booke Add CFI start/end proc directives to arm64, i386, and ppc 2020-12-05 00:33:28 +00:00
conf [PowerPC64] add mpr to GENERIC64 and GENERIC64LE 2021-03-02 22:21:43 -03:00
cpufreq powerpc: clean up empty lines in .c and .h files 2020-09-01 21:20:08 +00:00
fpu powerpc: clean up empty lines in .c and .h files 2020-09-01 21:20:08 +00:00
include [PowerPC] Floating-point exception trap followup 2020-12-13 03:58:43 +00:00
mambo Add CFI start/end proc directives to arm64, i386, and ppc 2020-12-05 00:33:28 +00:00
mikrotik powerpc: clean up empty lines in .c and .h files 2020-09-01 21:20:08 +00:00
mpc85xx Make MAXPHYS tunable. Bump MAXPHYS to 1M. 2020-11-28 12:12:51 +00:00
ofw Add CFI start/end proc directives to arm64, i386, and ppc 2020-12-05 00:33:28 +00:00
powermac powerpc: clean up empty lines in .c and .h files 2020-09-01 21:20:08 +00:00
powernv [POWERPC64LE] fix sysctl dev.opal_sensor.* on little-endian kernel 2020-12-30 22:00:28 -03:00
powerpc gdb: only return signal values for powerpc's gdb_cpu_signal() 2021-01-22 15:01:49 -04:00
ps3 Add CFI start/end proc directives to arm64, i386, and ppc 2020-12-05 00:33:28 +00:00
pseries [PowerPC64LE] pseries: Fix input buffering logic. 2021-02-25 14:50:13 -06:00
psim powerpc: clean up empty lines in .c and .h files 2020-09-01 21:20:08 +00:00