[U-Boot] libfdt: make fdt_increase_size() available to everyone
Kumar Gala
galak at kernel.crashing.org
Wed May 19 23:46:44 CEST 2010
So I tried to read this whole thread and got lost in the discussion. I'm wondering of something along the following lines would address your concerns:
#define CONFIG_SYS_FDT_PAD 0x3000
/* Allow for arch specific config before we boot */
int __fdt_board_size(void)
{
return CONFIG_SYS_FDT_PAD;
}
int fdt_board_size(void) __attribute__((weak, alias("__ fdt_board_size")));
int boot_relocate_fdt (struct lmb *lmb, ulong bootmap_base,
char **of_flat_tree, ulong *of_size)
{
...
if ((fdt_blob + *of_size + fdt_board_size()) >=
((char *)CONFIG_SYS_BOOTMAPSZ + bootmap_base))
relocate = 1;
...
}
Than board specific code knows what fix ups might happen and can implement dynamic behavior and do something like:
int fdt_board_size(void)
{
determine_my_firmsize() + __fdt_board_size()
}
- k
More information about the U-Boot
mailing list