riscv: Only enable OF_BOARD_FIXUP for S-Mode
authorSean Anderson <seanga2@gmail.com>
Sat, 5 Sep 2020 13:22:11 +0000 (09:22 -0400)
committerAndes <uboot@andestech.com>
Mon, 26 Oct 2020 01:27:19 +0000 (09:27 +0800)
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@gmail.com>
Reviewed-by: Leo Liang <ycliang@andestech.com>
arch/riscv/Kconfig

index aaa3b83..7560476 100644 (file)
@@ -272,6 +272,6 @@ config STACK_SIZE_SHIFT
        default 14
 
 config OF_BOARD_FIXUP
-       default y if OF_SEPARATE
+       default y if OF_SEPARATE && RISCV_SMODE
 
 endmenu