
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.
Yes, this is exactly what I meant.
Thanks,
llandre
DAVE Electronics System House - R&D Department web: http://www.dave-tech.it email: r&d2@dave-tech.it