From: Anup Patel Date: Mon, 3 Dec 2018 05:27:41 +0000 (+0530) Subject: riscv: qemu: Use different SYS_TEXT_BASE for S-mode X-Git-Tag: v2019.01-rc2~30^2~2 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=ef8c3d3fcec71bdd1d9d64097436041bbd48ba5c;p=oweals%2Fu-boot.git riscv: qemu: Use different SYS_TEXT_BASE for S-mode When u-boot runs in S-mode, the M-mode runtime firmware (BBL or equivalent) uses memory range in 0x80000000 to 0x80200000. Due to this, we cannot use 0x80000000 as SYS_TEXT_BASE when running in S-mode. Instead for S-mode, we use 0x80200000 as SYS_TEXT_BASE. Even Linux RISC-V kernel ignores/reserves memory range 0x80000000 to 0x80200000 because it runs in S-mode. Signed-off-by: Anup Patel Reviewed-by: Bin Meng Tested-by: Bin Meng Reviewed-by: Lukas Auer --- diff --git a/board/emulation/qemu-riscv/Kconfig b/board/emulation/qemu-riscv/Kconfig index 33ca253432..56bb5337d4 100644 --- a/board/emulation/qemu-riscv/Kconfig +++ b/board/emulation/qemu-riscv/Kconfig @@ -13,7 +13,8 @@ config SYS_CONFIG_NAME default "qemu-riscv" config SYS_TEXT_BASE - default 0x80000000 + default 0x80000000 if !RISCV_SMODE + default 0x80200000 if RISCV_SMODE config BOARD_SPECIFIC_OPTIONS # dummy def_bool y