
29 Oct
2008
29 Oct
'08
1:26 a.m.
Peter Korsgaard wrote:
fdt_add_mem_rsv() requires space for a struct fdt_reserve_entry (16 bytes), so make sure that fdt_resize at least adds that much padding, no matter what the location or size of the fdt is.
Signed-off-by: Peter Korsgaard jacmet@sunsite.dk Acked-by: Andy Fleming afleming@freescale.com
common/fdt_support.c | 7 +++++-- 1 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/common/fdt_support.c b/common/fdt_support.c index 8ceeb0f..138334e 100644 --- a/common/fdt_support.c +++ b/common/fdt_support.c @@ -575,9 +575,12 @@ int fdt_resize(void *blob) } }
- /* Calculate the actual size of the fdt */
- /*
* Calculate the actual size of the fdt
* plus the size needed for fdt_add_mem_rsv
actualsize = fdt_off_dt_strings(blob) +*/
fdt_size_dt_strings(blob);
fdt_size_dt_strings(blob) + sizeof(struct fdt_reserve_entry);
/* Make it so the fdt ends on a page boundary */ actualsize = ALIGN(actualsize, 0x1000);
Applied to the u-boot-fdt subrepo.
Thanks, gvb