
On Wed, 2019-08-21 at 12:07 -0700, David Abdurachmanov wrote:
Commit 37304aaf60bf92a5dc3ef222ba520698bd862a44 removed preboot commands in RISC-V targets and broke extlinux support as reported by Fu Wei wefu@redhat.com.
The patch finishes migration of CONFIG_USE_PREBOOT and CONFIG_REBOOT to Kconfig.
Signed-off-by: David Abdurachmanov david.abdurachmanov@sifive.com
configs/qemu-riscv64_smode_defconfig | 2 ++ configs/sifive_fu540_defconfig | 2 ++ include/configs/sifive-fu540.h | 4 ---- 3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/configs/qemu-riscv64_smode_defconfig b/configs/qemu- riscv64_smode_defconfig index 74743a5ebe..2e1f7fa91f 100644 --- a/configs/qemu-riscv64_smode_defconfig +++ b/configs/qemu-riscv64_smode_defconfig @@ -9,3 +9,5 @@ CONFIG_DISPLAY_CPUINFO=y CONFIG_DISPLAY_BOARDINFO=y # CONFIG_CMD_MII is not set CONFIG_OF_PRIOR_STAGE=y +CONFIG_USE_PREBOOT=y +CONFIG_PREBOOT="setenv fdt_addr ${fdtcontroladdr}; fdt addr ${fdtcontroladdr};" diff --git a/configs/sifive_fu540_defconfig b/configs/sifive_fu540_defconfig index 48865e5f11..a852579309 100644 --- a/configs/sifive_fu540_defconfig +++ b/configs/sifive_fu540_defconfig @@ -9,3 +9,5 @@ CONFIG_MISC_INIT_R=y CONFIG_DISPLAY_CPUINFO=y CONFIG_DISPLAY_BOARDINFO=y CONFIG_OF_PRIOR_STAGE=y +CONFIG_USE_PREBOOT=y +CONFIG_PREBOOT="setenv fdt_addr ${fdtcontroladdr}; fdt addr ${fdtcontroladdr};" diff --git a/include/configs/sifive-fu540.h b/include/configs/sifive- fu540.h index 858b7a7da1..ba4aa0652c 100644 --- a/include/configs/sifive-fu540.h +++ b/include/configs/sifive-fu540.h @@ -40,8 +40,4 @@ "ramdisk_addr_r=0x88300000\0" \ BOOTENV
-#define CONFIG_PREBOOT \
- "setenv fdt_addr ${fdtcontroladdr};" \
- "fdt addr ${fdtcontroladdr};"
As per the README, fdt_addr should be flash location. Why it was done in the first place ?
Additionally, fdtcontroladdr is set what gdt->fdt_blob is set. On latest U-boot in HiFive Unleashed, it is set to 0xff76e470. Not sure the reasong. May be after relocation ?
However, 5.3 kernel possibly ovewriting that address resulting in boot failures. Using fdt_addr_r works fine though.
As per following patch, we should do a tftpboot dtb to fdt_addr_r or just using fdt_addr_r will also work as fdt_addr_r is set to the address where OpenSBI keeps the DT.
#endif /* __CONFIG_H */