[PATCH 1/3] fit_dtb: relocate whole fit dtb image instead of selected dtb only

Simon Glass sjg at chromium.org
Fri Jun 28 09:33:02 CEST 2024


Hi Mikhail,

On Thu, 27 Jun 2024 at 12:35, Mikhail Kshevetskiy
<mikhail.kshevetskiy at iopsys.eu> wrote:
>
> U-Boot with linked fit dtb image may be loaded by a bootloader to
> a low memory. On a later stage U-Boot will relocate itself and used
> dtb.
>
> There is no problem until we decide to reselect dtb on a later stage.
> In this case dtb placed in the low memory address may be selected.
> But this data can be overwritted by flash reading or network file
> transfer. Thus we will use damaged dtb.
>
> To fix it move the whole fit dtb image instead of just used dtb.
>
> Signed-off-by: Mikhail Kshevetskiy <mikhail.kshevetskiy at iopsys.eu>
> ---
>  boot/boot_fit.c    | 48 ++++++++++++++++++++++++++++++++++++++++++++++
>  common/board_f.c   | 34 ++++++++++++++++++++++++++++----
>  include/boot_fit.h |  8 ++++++++
>  3 files changed, 86 insertions(+), 4 deletions(-)
>

The current mechanism is in reloc_fdt() but it only happens during
relocation. What is the later stage you refer to? Is it after
relocation, or before?

Regards,
Simon


More information about the U-Boot mailing list