summaryrefslogtreecommitdiff
path: root/board/emulation
diff options
context:
space:
mode:
authorAnup Patel <anup@brainfault.org>2018-12-03 10:57:41 +0530
committerAndes <uboot@andestech.com>2018-12-05 14:13:59 +0800
commitef8c3d3fcec71bdd1d9d64097436041bbd48ba5c (patch)
tree94981fa9a4818ca876fce2ba26edd4b21c182c5e /board/emulation
parentd2db2a8fa4f190d6d78ee7e9e642a180664cbccf (diff)
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 <anup@brainfault.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Tested-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Lukas Auer <lukas.auer@aisec.fraunhofer.de>
Diffstat (limited to 'board/emulation')
-rw-r--r--board/emulation/qemu-riscv/Kconfig3
1 files changed, 2 insertions, 1 deletions
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