Skip to content

RVVM v0.5

Compare
Choose a tag to compare
@LekKit LekKit released this 21 Apr 12:42
· 961 commits to staging since this release
76796ba

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