I'm following the steps to build sel4 for QEMU and Spike here: 
https://docs.sel4.systems/Hardware/spike.html
Spike - seL4 Docs | seL4 docs<https://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

_______________________________________________
Devel mailing list
Devel@sel4.systems
https://sel4.systems/lists/listinfo/devel

Reply via email to