boottime kernel relocation, what I missed?

meerkat yiming at windriver.com
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: http://www.nabble.com/boottime-kernel-relocation%2C-what-I-missed--tf4072673.html#a11588451
Sent from the linuxppc-embedded mailing list archive at Nabble.com.




More information about the Linuxppc-embedded mailing list