[U-Boot] [PATCH] qemu-riscv64_smode, sifive-fu540: fix extlinux (define preboot)
Atish Patra
Atish.Patra at wdc.com
Thu Aug 29 01:57:48 UTC 2019
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 at redhat.com>.
>
> The patch finishes migration of CONFIG_USE_PREBOOT and CONFIG_REBOOT
> to Kconfig.
>
> Signed-off-by: David Abdurachmanov <david.abdurachmanov at 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 */
--
Regards,
Atish
More information about the U-Boot
mailing list