
17 Jan
2009
17 Jan
'09
7:19 p.m.
Peter Korsgaard wrote:
The code in fdt_resize() to extend the fdt size to end on a page boundary is wrong for fdt's not located at an address aligned on a page boundary. What's even worse, the code would make actualsize shrink rather than grow if (blob & 0xfff) was bigger than the amount of padding added by ALIGN(), causing fdt_add_mem_rsv to fail.
Fix it by aligning end address (blob + size) to a page boundary instead. For aligned fdt's this is equivalent to what we had before.
Signed-off-by: Peter Korsgaard jacmet@sunsite.dk
Applied to u-boot-fdt. I will call for Wolfgang to pull shortly.
Thanks, gvb