[U-Boot-Users] MMU and Linux kernel booting
Wolfgang Denk
wd at denx.de
Tue Dec 7 17:41:03 CET 2004
In message <6.0.1.1.0.20041207170247.03f5a280 at 192.168.2.1> you wrote:
>
> >... if you need it. Maybe one bank of memory is sufficient for the
> >operation of U-Boot?
>
> It is definitively sufficient for U-Boot/Linux but I think
> it is not for (please don't blame me) WindowsCE (brrrrr!).
OK - but then there is no need to bother with this problem in U-Boot.
> >Why would you need virtual addresses? U-Boot does not need these for
> >operation, and Linux will not use these anyway.
>
> For example U-Boot should let the user to use one virtual and contiguous
> memory region (for this purpose I suggest to introduce something
> like bd->bi_dram_v). For "regular" operations, it could use the
> existing bd->bi_dram fields (for example to set up the memory
> tags for the kernel).
In U-Boot, the user does not need to make any difference between
physical or virtual RAM addresses. Just provide one mapping that
works. For exmaple, map all your RAM banks as one big (virtually)
contiguous area to (virtual) address 0x0000. Then just run U-Boot as
if it were a physical mapping. Nobody will even notice.
Then turn off the MMU when booting your OS. Of course the OS will
have to know where to find it's memory and how to map it.
Best regards,
Wolfgang Denk
--
Software Engineering: Embedded and Realtime Systems, Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
No user-servicable parts inside. Refer to qualified service personnel.
More information about the U-Boot
mailing list