Hello, I'm trying to run sel4test in QEMU 7.0.50. I can compile successfully but sel4test hangs at "Jumping to kernel-image entry point...". Is there something different required now that sel4 is using OpenSBI? $ qemu-system-riscv64 -nographic -serial mon:stdio -m size=4095M -bios none -kernel images/sel4test-driver-image-riscv-spike OpenSBI v0.8 ____ _____ ____ _____ / __ \ / ____| _ \_ _| | | | |_ __ ___ _ __ | (___ | |_) || | | | | | '_ \ / _ \ '_ \ \___ \| _ < | | | |__| | |_) | __/ | | |____) | |_) || |_ \____/| .__/ \___|_| |_|_____/|____/_____| | | |_| Platform Name : ucbbar,spike-bare,qemu Platform Features : timer,mfdeleg Platform HART Count : 1 Boot HART ID : 0 Boot HART ISA : rv64imafdcsuh BOOT HART Features : pmp,scounteren,mcounteren BOOT HART PMP Count : 16 Firmware Base : 0x80000000 Firmware Size : 96 KB Runtime SBI Version : 0.2 MIDELEG : 0x0000000000001666 MEDELEG : 0x0000000000f0b509 PMP0 : 0x0000000080000000-0x000000008001ffff (A) PMP1 : 0x0000000000000000-0xffffffffffffffff (A,R,W,X) ELF-loader started on (HART 0) (NODES 1) paddr=[80200000..8066a037] Looking for DTB in CPIO archive...found at 802d2128. Loaded DTB from 802d2128. paddr=[84020000..84020fff] ELF-loading image 'kernel' to 84000000 paddr=[84000000..8401ffff] vaddr=[ffffffff84000000..ffffffff8401ffff] virt_entry=ffffffff84000000 ELF-loading image 'sel4test-driver' to 84021000 paddr=[84021000..843f6fff] vaddr=[10000..3e5fff] virt_entry=1b982 Enabling MMU and paging Jumping to kernel-image entry point...
Hello,
That command should successfully work with seL4 using OpenSBI, however it seems that something has changed with v7 of QEMU that means it no longer works. Looking at the changelog (https://wiki.qemu.org/ChangeLog/7.0#RISC-V) I can't immediately figure out what breaking change was made, perhaps someone else can.
Is it possible for you to use QEMU v6.2.0 or earlier?
Ivan
________________________________
From: porter.188@osu.edu
Hi,
$ qemu-system-riscv64 -nographic -serial mon:stdio -m size=4095M -bios none -kernel images/sel4test-driver-image-riscv-spike
I think you should use "-bios images/sel4test-driver-image-riscv-spike" and pass no "-kernel" paramter at all. -bios" starts the image in M-Mode while "-kernel" uses a default OpenSBI image that comes with QEMU and starts the given (OS-)image in S-Mode. For RISC-V, the seL4 build systrem creates an image that contains OpenSBI with the elfloader as S-Mode OS payload. Axel
This didn't work for me. I tried QEMU 7.0 and 6.2.0. Maybe I've got something else going on? I did get it working on 6.2.0...but not with this configuration.
participants (3)
-
Axel Heider
-
Ivan Velickovic
-
porter.188@osu.edu