boottime kernel relocation, what I missed?

meerkat yiming at
Fri Jul 13 17:17:18 EST 2007

Good day all,

For the first time I begin working on PPC, and on low level, and right start
from boot sequence, one issue puzzled me.

After bootstrap code (zImage) uncompressed the kernel vmLinux to physical
memory (say from addr 0),
it jumps to the kernel entry point, _start, using physically address. 

 At this time, the MMU is not yet setup to map the kernel virtual address 
(which is statically linked against base address KERNELBASE) to the
physically address.

$ nm vmlinux |grep early_init
c038b8e0 T early_init

_start calls early_init before mmu is on to map the KERNEL_BASE to
physically address

The question is how "bl  early_init"  can branch to the early_init entry
point, properly, as early_init is still a virtual address?


View this message in context:
Sent from the linuxppc-embedded mailing list archive at

More information about the Linuxppc-embedded mailing list