Patch boot/common/relocate.S to start kernel at 0x000c

Dale Farnsworth dale at farnsworth.org
Wed Mar 5 11:07:08 EST 2003


On Tue, Mar 04, 2003 at 11:42:53PM +0000, Tom Rini wrote:
> Thinking waaaay back, it was probably me doing something wrong. :)

That was my first thought, since prep/head.S starts the kernel at 0xc. :)

> The easy way to verify what really happens is to check out the MP code in
> prep/misc.c.  I would have thought that chrp smp would do the pmac thing
> of calling back to the fw, but I could be wrong here..

prep/misc.c just starts the secondary cpu at 0xc0, __secondary_hold.
It's ok for that to happen before cpu 0 runs the kernel, since
prep/head.S runs it at 0xc.

Pmacs also start the secondary at __secondary_hold, but after cpu 0 is
already running the kernel, so it's not an issue.

It looks to me like all ppc smp systems start their secondary cpus
at __secondary_hold.  (I'd like to know if I'm wrong about that.)
Since __secondary_hold writes to 0x4 and only reads 0x0 looking for
it's cpu id, I still like the "b __start" at 0x0.

Thanks,
-Dale

** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/





More information about the Linuxppc-dev mailing list