• Peter Korsgaard's avatar
    fdt_resize(): fix actualsize calculations with unaligned blobs · c088a108
    Peter Korsgaard authored
    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: default avatarPeter Korsgaard <jacmet@sunsite.dk>
    c088a108
fdt_support.c 17.8 KB