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.
This commit is contained in:
parent
46a4fa605e
commit
5b0ef9c55b
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user