[PATCH] riscv: Only enable OF_BOARD_FIXUP for S-Mode

Heinrich Schuchardt xypron.glpk at gmx.de
Sun Sep 6 13:18:54 CEST 2020


On 9/5/20 3:22 PM, Sean Anderson wrote:
> It is unsafe to enable OF_BOARD_FIXUP only based on OF_SEPARATE.
> OF_SEPARATE may indicate that the user wishes U-Boot to use a different
> device tree than one obtained via OF_PRIOR_STAGE. However, OF_SEPARATE may
> also indicate that the device tree which would be obtained via
> OF_PRIOR_STAGE is invalid, nonexistant, or otherwise unusable. In this
> latter case, enabling OF_BOARD_FIXUP will result in corruption of the
> device tree. To remedy this, only enable OF_BOARD_FIXUP if U-Boot is
> configured for S-Mode.
>
> Fixes: 1c17e55594a394ced7de88d91be294eaf8c564c1
> Signed-off-by: Sean Anderson <seanga2 at gmail.com>
> ---
>
>  arch/riscv/Kconfig | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
> index 009a545fcf..13fac51483 100644
> --- a/arch/riscv/Kconfig
> +++ b/arch/riscv/Kconfig
> @@ -288,6 +288,6 @@ config STACK_SIZE_SHIFT
>  	default 14
>
>  config OF_BOARD_FIXUP
> -	default y if OF_SEPARATE
> +	default y if OF_SEPARATE && RISCV_SMODE


OF_BOARD_FIXUP is also defined in dts/Kconfig.
Moving the "default" line to dts/Kconfig would simplify the code.

Why do we need the dependency on OF_SEPARATE? Isn't RISCV_SMODE enough?

Best regards

Heinrich

>
>  endmenu
>



More information about the U-Boot mailing list