diff mbox series

Revert "riscv: qemu: clear kernel-start/-end in device tree as workaround for BBL"

Message ID 20200414212446.689774-1-lukas.auer@aisec.fraunhofer.de
State Accepted
Commit 846b6120140ae98ca88d245fb10955d3c6980603
Headers show
Series Revert "riscv: qemu: clear kernel-start/-end in device tree as workaround for BBL" | expand

Commit Message

Lukas Auer April 14, 2020, 9:24 p.m. UTC
The commit was added as a workaround required in QEMU when using BBL as
the supervisor binary interface (SBI) for Linux. We are now using
OpenSBI to provide the SBI, the workaround is therefore not required
anymore and can be removed.

This reverts commit 897206c5cc5c6ac0dc2ab851044e42baada3785b.

Signed-off-by: Lukas Auer <lukas.auer at aisec.fraunhofer.de>
---

 board/emulation/qemu-riscv/Kconfig      |  1 -
 board/emulation/qemu-riscv/qemu-riscv.c | 39 -------------------------
 2 files changed, 40 deletions(-)

Comments

Bin Meng April 17, 2020, 1:45 a.m. UTC | #1
On Wed, Apr 15, 2020 at 5:25 AM Lukas Auer
<lukas.auer at aisec.fraunhofer.de> wrote:
>
> The commit was added as a workaround required in QEMU when using BBL as
> the supervisor binary interface (SBI) for Linux. We are now using
> OpenSBI to provide the SBI, the workaround is therefore not required
> anymore and can be removed.
>
> This reverts commit 897206c5cc5c6ac0dc2ab851044e42baada3785b.
>
> Signed-off-by: Lukas Auer <lukas.auer at aisec.fraunhofer.de>
> ---
>
>  board/emulation/qemu-riscv/Kconfig      |  1 -
>  board/emulation/qemu-riscv/qemu-riscv.c | 39 -------------------------
>  2 files changed, 40 deletions(-)
>

Reviewed-by: Bin Meng <bmeng.cn at gmail.com>
diff mbox series

Patch

diff --git a/board/emulation/qemu-riscv/Kconfig b/board/emulation/qemu-riscv/Kconfig
index 7ce12018e7..ad99b08b44 100644
--- a/board/emulation/qemu-riscv/Kconfig
+++ b/board/emulation/qemu-riscv/Kconfig
@@ -43,7 +43,6 @@  config BOARD_SPECIFIC_OPTIONS # dummy
 	imply CMD_EXT4
 	imply CMD_FAT
 	imply BOARD_LATE_INIT
-	imply OF_BOARD_SETUP
 	imply SIFIVE_SERIAL
 	imply SMP
 	imply PCI
diff --git a/board/emulation/qemu-riscv/qemu-riscv.c b/board/emulation/qemu-riscv/qemu-riscv.c
index cbce5ffe6e..c3f96988b1 100644
--- a/board/emulation/qemu-riscv/qemu-riscv.c
+++ b/board/emulation/qemu-riscv/qemu-riscv.c
@@ -52,45 +52,6 @@  int board_late_init(void)
 	return 0;
 }
 
-/*
- * QEMU specifies the location of Linux (supplied with the -kernel argument)
- * in the device tree using the riscv,kernel-start and riscv,kernel-end
- * properties. We currently rely on the SBI implementation of BBL to run
- * Linux and therefore embed Linux as payload in BBL. This causes an issue,
- * because BBL detects the kernel properties in the device tree and ignores
- * the Linux payload as a result. To work around this issue, we clear the
- * kernel properties before booting Linux.
- *
- * This workaround can be removed, once we do not require BBL for its SBI
- * implementation anymore.
- */
-int ft_board_setup(void *blob, bd_t *bd)
-{
-	int chosen_offset, ret;
-
-	chosen_offset = fdt_path_offset(blob, "/chosen");
-	if (chosen_offset < 0)
-		return 0;
-
-#ifdef CONFIG_ARCH_RV64I
-	ret = fdt_setprop_u64(blob, chosen_offset, "riscv,kernel-start", 0);
-#else
-	ret = fdt_setprop_u32(blob, chosen_offset, "riscv,kernel-start", 0);
-#endif
-	if (ret)
-		return ret;
-
-#ifdef CONFIG_ARCH_RV64I
-	ret = fdt_setprop_u64(blob, chosen_offset, "riscv,kernel-end", 0);
-#else
-	ret = fdt_setprop_u32(blob, chosen_offset, "riscv,kernel-end", 0);
-#endif
-	if (ret)
-		return ret;
-
-	return 0;
-}
-
 #ifdef CONFIG_SPL
 u32 spl_boot_device(void)
 {