summaryrefslogtreecommitdiff
path: root/target
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2025-03-16 16:37:37 +0100
committerWaldemar Brodkorb <wbx@openadk.org>2025-03-16 16:38:43 +0100
commitd92f5dc640342d1786df77078d3ceec0b1b229e1 (patch)
treefd3c64b928be8dbc577f53211cdc18e27399252f /target
parent8f1913800b8c339d3718b223c33f2610a83f2446 (diff)
riscv: fix noMMU bootup in Qemu
Diffstat (limited to 'target')
-rw-r--r--target/riscv32/Makefile2
-rw-r--r--target/riscv32/kernel/qemu-riscv325
-rw-r--r--target/riscv64/kernel/qemu-riscv643
3 files changed, 8 insertions, 2 deletions
diff --git a/target/riscv32/Makefile b/target/riscv32/Makefile
index 3d34f7f09..6bcede1ff 100644
--- a/target/riscv32/Makefile
+++ b/target/riscv32/Makefile
@@ -8,7 +8,7 @@ include $(ADK_TOPDIR)/mk/image.mk
KERNEL:=$(LINUX_DIR)/arch/riscv/boot/Image
QEMU_ARGS:=-M virt -m 512 -nographic
ifeq ($(ADK_TARGET_WITH_MMU),)
-QEMU_ARGS+=-bios none
+QEMU_ARGS+=-bios none -cpu rv32,mmu=off
endif
ifeq ($(ADK_TARGET_QEMU_WITH_VIRTIO),y)
QEMU_ARGS+=-netdev user,id=eth0 -device virtio-net-device,netdev=eth0
diff --git a/target/riscv32/kernel/qemu-riscv32 b/target/riscv32/kernel/qemu-riscv32
index e49c3ab0d..0bf3ba78f 100644
--- a/target/riscv32/kernel/qemu-riscv32
+++ b/target/riscv32/kernel/qemu-riscv32
@@ -1,6 +1,9 @@
CONFIG_RISCV=y
CONFIG_32BIT=y
CONFIG_FPU=y
-CONFIG_ARCH_RV32I=y
+CONFIG_ARCH_VIRT=y
CONFIG_SOC_VIRT=y
+CONFIG_ARCH_RV32I=y
+CONFIG_RISCV_M_MODE=y
+CONFIG_PAGE_OFFSET=0x80000000
CONFIG_NONPORTABLE=y
diff --git a/target/riscv64/kernel/qemu-riscv64 b/target/riscv64/kernel/qemu-riscv64
index ea30532ad..a72876956 100644
--- a/target/riscv64/kernel/qemu-riscv64
+++ b/target/riscv64/kernel/qemu-riscv64
@@ -1,6 +1,9 @@
CONFIG_RISCV=y
CONFIG_FPU=y
+CONFIG_ARCH_VIRT=y
CONFIG_SOC_VIRT=y
CONFIG_NONPORTABLE=y
+CONFIG_RISCV_M_MODE=y
+CONFIG_PAGE_OFFSET=0x80000000
CONFIG_CMDLINE_BOOL=y
CONFIG_COMPAT_32BIT_TIME=y