svn commit: r341805 - head/sys/powerpc/booke
Justin Hibbits
jhibbits at FreeBSD.org
Tue Dec 11 02:03:01 UTC 2018
Author: jhibbits
Date: Tue Dec 11 02:03:00 2018
New Revision: 341805
URL: https://svnweb.freebsd.org/changeset/base/341805
Log:
powerpc/booke: Don't get and use the load offset for TOC on APs
The code was a near exact copy of the code in startup, but it doesn't need
the complexity since the kernel is already relocated. With
VM_MIN_KERNEL_ADDRESS as currently set to KERNBASE, this doesn't cause a
problem, because it's a zero offset. However, when KERNBASE is changed to a
physical load address, it then has a non-zero offset, and ends up with an
invalid stack pointer, causing the AP to hang.
Modified:
head/sys/powerpc/booke/locore.S
Modified: head/sys/powerpc/booke/locore.S
==============================================================================
--- head/sys/powerpc/booke/locore.S Tue Dec 11 01:49:06 2018 (r341804)
+++ head/sys/powerpc/booke/locore.S Tue Dec 11 02:03:00 2018 (r341805)
@@ -549,14 +549,9 @@ bp_kernload:
add %r2,%r1,%r2
mtspr SPR_SPRG8, %r2
- /* Get load offset */
- ld %r31,-0x8000(%r2) /* First TOC entry is TOC base */
- subf %r31,%r31,%r2 /* Subtract from real TOC base to get base */
-
/* Set up the stack pointer */
ld %r1,TOC_REF(tmpstack)(%r2)
addi %r1,%r1,TMPSTACKSZ-96
- add %r1,%r1,%r31
#else
/*
* Setup a temporary stack
More information about the svn-src-all
mailing list