Basic VMM support for RISC-V.
Lots of TODOs indicated within the code, but working for me on multi-core host with multi-core guest (single guest VM instance only)
Differential D45553
bhyve/riscv kernel part br on Jun 10 2024, 8:52 PM. Authored by Tags None Referenced Files
Subscribers
Details Basic VMM support for RISC-V. Lots of TODOs indicated within the code, but working for me on multi-core host with multi-core guest (single guest VM instance only) Spiketested in Spike ./spike -m4096 -d --isa RV64IMAFDCH_zicntr_zihpm_sstc --kernel /usr/obj/usr/home/br/dev/freebsd/riscv.riscv64/sys/GENERIC/kernel.bin ../../opensbi/build/platform/generic/firmware/fw_jump.elf and then bhyve -m 2560 -o bootrom=/kernel.bin -o console=stdio -s 4,ahci-hd,/bin/ls test QEMUtested in Qemu 8-core: ./qemu-system-riscv64 -nographic \ -machine virt \ -cpu 'rv64,h=true' \ -smp 8 \ -m 8G \ -bios ../../opensbi/build/platform/generic/firmware/fw_jump.elf \ -kernel /usr/obj/usr/home/br/dev/freebsd/riscv.riscv64/sys/GENERIC/kernel.bin and then bhyve -c 8 -m 2560 -o bootrom=/kernel.bin -o console=stdio -s 4,ahci-hd,/bin/ls test (in both host&guest kernels I have a small mdroot embedded)
Diff Detail
Event TimelineThere are a very large number of changes, so older changes are hidden. Show Older Changes Comment Actions APLIC emul: allow injection of pending bit when interrupt source disabled (It wont fire until OS enable it). This may fix AHCI attachment on boot
Comment Actions Try to address issues discovered by jrtc27:
Comment Actions handle VM_EXITCODE_SUSPENDED.
|