Browse Source

riscv: fix noMMU bootup in Qemu

Waldemar Brodkorb 1 month ago
parent
commit
d92f5dc640

+ 1 - 1
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

+ 4 - 1
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

+ 3 - 0
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