|
Hi there
> Does it reclaim the area that U-Boot was residing in?
Sort of, but not explicitly. The kernel is not aware of where U-Boot is/was. That RAM is part of the memory that is put under kernel control.
> Does it relocate itself to the top of memory?
Sort of. The kernel is loaded to the physical memory address that was specified when it was built, which might be 0x20008000. When memory management is enabled, the kernel image is mapped to virtual memory starting at 0xC0000000. It's a physical to virtual memory mapping performed by the MMU that does not involve copying.
> And if you have a ram disk passed in from U-Boot as an initrd (initrd and rootfs=dev/ram), > how does linux work around this area, before and after it in SDRAM?
Don't understand your question. The physical memory (in 4KiB page chunks) can be assigned to any virtual (page aligned) memory address.
BTW the ARM architecture does not use the bd_info structure any more (at least U-Boot 1.1.5). U-Boot configured for ARM passes memory, CPU, board information to the kernel using ATAGs.
Regards
|