[U-Boot] [PATCH] libfdt: Add option to disable arch_fixup_fdt() calls

Michal Simek michal.simek at xilinx.com
Fri Jun 10 13:07:42 CEST 2016


On 9.6.2016 16:40, Alexander Graf wrote:
> On 06/09/2016 04:32 PM, Michal Simek wrote:
>> On 9.6.2016 16:29, Alexander Graf wrote:
>>> On 06/09/2016 04:23 PM, Michal Simek wrote:
>>>> Disable arch_fixup_fdt() calls for cases where U-Boot shouldn't update
>>>> memory setup in DTB file.
>>>> One example of usage of this option is to boot OS with different memory
>>>> setup than U-Boot use.
>>>>
>>>> Signed-off-by: Michal Simek <michal.simek at xilinx.com>
>>> Could we instead just have the board file provide a fixup? It could then
>>> also fix up the efi memory map.
>> Not sure what exactly you are asking for.
>> Do you mean to add fixup function to board file and overwrite default
>> one?
> 
> You have to touch some other code anyway to make this work with a
> particular board, right? In that case, you can as well add a function to
> the board file that explicitly provides a different, known good memory map.

I cant' see the reason to touch particular board. In past AMP solution
where one core use the part of memory and second another part was the
reason I needed this.
For ARM64 case as you know from arm IRC I was trying to boot Linux from
memory above 32bit space and for these tests I need to convince u-boot
not to touch dtb memory setup.

But for the same board I want to use standard behavior but for some case
this needs to be enabled.

> 
> Can you have a weaker overload? Basically I would like to have a board
> provide arch_fixup_fdt() which would override the one in bootm-fdt.c.
> But we can also rename arch_fixup_fdt() in bootm-fdt.c to
> board_fixup_fdt() function, declare it weak and have arch_fixup_fdt()
> call that.

arch_fixup_fdt is already weaker function in image-fdt.c and ARM and
MIPS define it.

I don't think that renaming solve anything. This patch is really just
ON/OFF switch of fixup behavior.

Thanks,
Michal



More information about the U-Boot mailing list