I'm following the steps to build sel4 for QEMU and Spike here: https://docs.sel4.systems/Hardware/spike.html Spike - seL4 Docs | seL4 docshttps://docs.sel4.systems/Hardware/spike.html If you plan to use the ./simulate script, please be sure to add the -DSIMULATION=1 argument when running cmake. Generated binaries can be found in the images/ directory.. You can also use run the tests on the 32-bit spike platform by replacing the -DRISCV64=TRUE option with -DRISCV32=TRUE. docs.sel4.systems Since my system doesn't have QEMU 4.2 or better I built the latest version of QEMU and use that instead. I get the following error from QEMU: /mnt/data/qemu/build/riscv64-softmmu/qemu-system-riscv64 -machine spike -nographic -serial mon:stdio -m size=4095M -kernel images/sel4test-driver-image-riscv-spikeqemu-system-riscv64: Unable to load the RISC-V firmware "opensbi-riscv64-spike-fw_jump.elf" In Spike this happens: /mnt/data/rocket-tools/bin/spike images/sel4test-driver-image-riscv-spike bbl loader ELF-loader started on (HART 0) (NODES 1) paddr=[80200000..8064d4d7] Looking for DTB in CPIO archive...found at 802cb1a0. Loaded DTB from 802cb1a0. paddr=[8402a000..8402afff] ELF-loading image 'kernel' paddr=[84000000..84029fff] vaddr=[ffffffff84000000..ffffffff84029fff] virt_entry=ffffffff84000000 ELF-loading image 'sel4test-driver' paddr=[8402b000..84401fff] vaddr=[10000..3e6fff] virt_entry=1b540 Jumping to kernel-image entry point... Init local IRQ Initialing PLIC... The tutorials lead me to believe this should go to user space. i.e. 327 printf("Booting all finished, dropped to user space\n"); in kernel/src/arch/riscv/kernel/boot.c Can anyone point out what's going wrong here in these two cases? Thank you! Jeremy