[U-Boot] ARM/Versatile - bootup

Roman Mashak romez777 at gmail.com
Thu Oct 9 10:10:51 CEST 2008


Hello

Studying the ARM/Versatile port of U-Boot in order to understand
booting and initialization nuances.

As per documentation from http://infocenter.arm.com/  SDRAM on this
platform is selected by CS#0 and gets mapped in 0x0000_0000 -
0x0800_0000. Versatile configuration defines TEXT_BASE=0x0100_0000, so
it is 16Mb away from 0x0; Linux port of Versatile defines loading
address of the kernel as 0x0000_8000, resulting in 32kB gap form the
beginning of RAM.

I understand that 16Mb gap is to let kernel image to fit in RAM, but
isn't it too large, seems a waste of space to me? Then why do we need
to keep 32KB space, what's the point?

As U-Boot image usually occupies ~200KB, wouldn't it be easier to
allocate ~8Mb room, which would be quite enough for the U-Boot, its
environment, malloc area, stack etc., Linux kKernel then starts and
reclaims the memory of U-Boot.

Would appreciate if someone explains me this nuance. Thanks in advance!

-- 
Roman Mashak


More information about the U-Boot mailing list