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. _______________________________________________ Linuxppc-embedded mailing list [email protected] https://ozlabs.org/mailman/listinfo/linuxppc-embedded
