Subject: Re: Kernel function having physical address. how?

From: Scott Wood <[email-masked]>
Date: Tue, 23 Oct 2007 13:51:43 -0500

Barisa Kisku wrote:
> I have  ported linux-2.6.20 in cutom board based on MPC860.Kernel
> with the KERNELBASE as default 0xc00000000. uImage is downloaded at
> some address and booted with "bootm" command.Kernel is uncompressed
> and  loaded at 0x00000000.All  the kernel function is now having
> physical address (e.g.  0x000020c8 instead of 0xc00020c8, which is
> given by compiler).I think this required, to run kernel before MMU is
>  on, but how  this change in assembled code happens.

There is no change in the code itself -- the kernel is merely careful to 
avoid (or fix up) data references before the MMU is turned on (which 
happens quite early).

> Does u-boot do
> this when uncompressing and loading the kernel.

No.

-Scott