summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBin Meng <bmeng.cn@gmail.com>2022-10-17 00:42:06 +0800
committerLeo Yu-Chi Liang <ycliang@andestech.com>2022-10-20 15:22:33 +0800
commitcb052d771200b15717eeb68f185cf7caa2dcfea0 (patch)
tree25dbd98d84f70e54ec1044feba4f9dc41a01ee45
parente77ef0bb74c0df010e83a1f60a1c3004f00703da (diff)
riscv: qemu: spl: Fix booting Linux kernel with OpenSBI 1.0+
Since OpenSBI commit bf3ef53bb7f5 ("firmware: Enable FW_PIC by default"), OpenSBI runs directly at the load address without any code movement. This causes the SPL version of QEMU 'virt' U-Boot does not boot Linux kernel anymore. In that case, OpenSBI is loaded and runs at 0x81000000, and it creates a 512KiB PMP window from that address. When booting the Linux kernel, moving kernel to its linking address 0x80200000 overlaps the PMP window, and a PMP access failure is raised. Update SPL_OPENSBI_LOAD_ADDR to load OpenSBI to a safe address. Reported-by: Yangjie Zhang <pyjmstr@gmail.com> Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Tested-by: Yangjie Zhang <pyjmstr@gmail.com> Reviewed-by: Rick Chen <rick@andestech.com>
-rw-r--r--board/emulation/qemu-riscv/Kconfig2
1 files changed, 1 insertions, 1 deletions
diff --git a/board/emulation/qemu-riscv/Kconfig b/board/emulation/qemu-riscv/Kconfig
index d8c57e6bb05..f9883f18b0b 100644
--- a/board/emulation/qemu-riscv/Kconfig
+++ b/board/emulation/qemu-riscv/Kconfig
@@ -23,7 +23,7 @@ config SPL_TEXT_BASE
config SPL_OPENSBI_LOAD_ADDR
hex
- default 0x81000000
+ default 0x80100000
config BOARD_SPECIFIC_OPTIONS # dummy
def_bool y