| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| README.md | 2024-03-18 | 3.8 kB | |
| RVVM v0.6 source code.tar.gz | 2024-03-18 | 313.5 kB | |
| RVVM v0.6 source code.zip | 2024-03-18 | 414.8 kB | |
| Totals: 3 Items | 732.0 kB | 1 | |
NOTE: RVVM nightly builds should be preferred, this release is for historical reference.
Please see https://github.com/LekKit/RVVM/wiki/Running
New features
- Networking is now stable and enabled by default
- Allow port forwarding to the guest with
-portfwd 127.0.0.1:8080=80 - Support relative mouse movement, grabbing the host mouse
- Support international keyboard layouts (I.e. keys specific to Japanese, Korean, German etc keyboards)
- Optional SDL2 GUI backend
- Support Big-endian hosts (MIPS64, PowerPC64) properly
- SiFive GPIO support
- MTD physmap firmware chip
- Dallas DS1742 Real-time clock
- Support (multiple) PTY or UNIX sockets as UART character device with
-serial [file], silent UART with-serial null; - Support explicitly choosing NVMe or ATA with
-ata [img]or-nvme [img] - Support using host block devices (/dev/sda, /dev/mmcblk) as RVVM drives
- Faster threaded IO implementation
- Faster UART console (Especially on Windows, Serenity)
- Optimized Win32 display rendering
- Slightly better RVJIT x86 register allocation
- RVJIT significantly optimizes memory accesses with userland CPU emulation (To the point of near-native perf of user emulation)
- Rework CMake build system to build shared
librvvmproperly - Colorful logger
- Libretro port
- [WIP] Began work on a Linux userspace binary emulator. Many riscv64 glibc binaries work, but threading and JIT caches are flaky.
RVVM API Improvements:
- Character device API
- GPIO API
- Provide a separate
mappingproperty for direct MMIO regions - Omit PC increment for traps in Userland API
- Support non-canonical framebuffer stride
- Return rvvm_mmio_handle_t upon attaching most de-attachable MMIO devices
- Implement RVVM_OPT_MEM_BASE, RVVM_OPT_MEM_SIZE to query RAM configuration of the machine.
- Implement RVVM_OPT_HART_COUNT to query amount of cores
- Java JNI bindings
Fixes, compatibility
- Fix crashes when explicitly unloading librvvm shared library (#97)
- Fix NVMe deadlock reporting when host IO is slow (#99)
- More bullerproof RVJIT cache allocation (#98)
- Implement RT8169 93C56 EEPROM to fix FreeBSD & Haiku OS networking (#118)
- Fix rare keypress loss (#126)
- Fix pending PLIC interrupts not being re-delivered upon writes to prio/enable/threshold
- Fix 0-byte UDP payloads with tap_user backend
- Fix TCP connection tuple lookup
- Improve TCP stability immensely with tap_user backend
- Fix networking on NetBSD
- Implement proper FMA emulation without dual rounding in FPU, advertise FENV_ACCESS
- Fix endianness issues in FPU
- Fix several VMA operations on Win32 hosts
- Support both UTF8 and system locale paths on Win32 hosts
- Use pthread_cond_timedwait_relative_np() on MacOS to fix possible hang upon wall clock change
- Fix MMIO op size validation
- Fix PCI attach failure handling with all the devices
- Fix non-working I2C ocores with FreeBSD guest
- Advertise zicsr, zifencei extensions in CPU DT
- Fix KSM & THP erroneously not being enabled
- Use .dylib extension for MacOS shared lib target
- Fix OpenBSD CMake build due to type naming collisions
- Fix CMake build on arches without a JIT backend
- Fix Serenity build warnings due to macro naming collisions
- Myriad of small fixes
New Contributors
- @mishrasamiksha made their first contribution in https://github.com/LekKit/RVVM/pull/111
- @singodiyashubham87 made their first contribution in https://github.com/LekKit/RVVM/pull/116
- @fish4terrisa-MSDSM made their first contribution in https://github.com/LekKit/RVVM/pull/120
- @OscarL made their first contribution in https://github.com/LekKit/RVVM/pull/129
Full Changelog: https://github.com/LekKit/RVVM/compare/v0.5...v0.6