RVVM v0.5
This release includes
- Prebuilt
rvvm-cli
v0.5 for Linux x86_64/ARM64, Windows x86_64, MacOS x86_64 - More builds will be added later or should build from source
- Prebuilt OpenSBI 1.2
fw_jump.bin
for use in the guest - Prebuilt U-Boot 2023.4
u-boot.bin
kernel,fw_payload.bin
firmware; With NVMe & EFIFB support patches - See LekKit/patches-misc for firmware/kernel configs and more
Major features
- RVJIT Von Neumann instruction cache (ifence stalls elimination)
- RVJIT Linker (Direct linkage of translated functions, improves perf)
- NVMe storage devices, TRIM on raw sparse images
- OpenCores I2C, I2C-HID input devices, cursor integration
- Realtek RTL8169 NIC, WIP userspace networking (Build with USE_NET=1)
- ELF Firmware/Kernel loading
RVVM API Improvements:
- Automatic IRQ/Bus/MMIO assignment
- Machine options (CPU limits, etc)
- Framebuffer, HID, Reboot/poweroff APIs
Fixes, compatibility
- MMIO/PCIe Atomics
- ACLINT MSWI, working SMP in U-Boot
- PLIC fixes concerning FreeBSD/OpenBSD guests stability
- Support HaikuOS guests
- WFI fixes for full riscv-tests conformance
- Support UART VT on Windows 10
- Support HaikuOS, SerenityOS hosts
- Support Emscripten
- Support Windows CE
- Better thread/timer implementations on Windows
- Improve idle CPU usage and sleep precision
- Fix vulnerabilities & lockups exposed by LLVM Fuzzer
- Fix issues uncovered by ASAN/UBSAN/TSAN
- Fix MacOS IO issues (#81)
- Fix rare stuttering due to hashmap scaling logic
- Fix rare threadpool lockups
- Myriad of tiny fixes...
New Contributors
- @mjunix made their first contribution in #62
- @X547 made their first contribution in #64
- @kvxmmu made their first contribution in #72
- @iyzsong made their first contribution in #88
Full Changelog: v0.4...v0.5