ARM bootm regression
Sascha Hauer
s.hauer at pengutronix.de
Wed Oct 21 10:44:04 EDT 2020
On Fri, Oct 16, 2020 at 11:49:16AM +0300, Alexander Shiyan wrote:
> Hello.
>
> Found a regression in arm/lib32/bootm.c after a patch
> "ARM: bootm: make sure we place the kernel in free memory".
>
> The initial memory size for the board is set to 8 MB (before reading the real value from DT),
You could read the real value from DT earlier using libfdt, see
arch/arm/cpu/board-dt-2nd.c for usage examples. That doesn't solve it of
course when your board really has only 8MB memory.
> so the stack, malloc_space, etc. are placed in the initial 8M space.
> Then get_kernel_addresses() gets the real SDRAM area (for my board it is 64M),
> but decreases this size by the first children size (malloc_space),
> so mem_end is incorrect in this case.
Does an additional:
if (kaddr < mem_start)
kaddr = mem_start;
help?
Sascha
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
More information about the barebox
mailing list