boottime kernel relocation, what I missed?

meerkat yiming at
Sat Jul 14 08:07:41 EST 2007

Figure that out, the bootstrap actually mapped the first 16M from C000000 to
the physicall address,
so calling a c routine, as long as it is in the first 16M, is OK

meerkat wrote:
> 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?
> Thanks
> Jim

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

More information about the Linuxppc-embedded mailing list