diff --git a/README.md b/README.md index f8aebe6e8..99ebe93ea 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ RISC-V CPU & System software implementation written in ะก - Tracing JIT, multicore support - Framebuffer display, mouse & keyboard, UART shell - NVMe storage drives -- Networking (WIP) +- Networking ## ๐Ÿ’ก Tell me more... - Feature-complete RV64IMAFDC instruction set @@ -29,8 +29,8 @@ RISC-V CPU & System software implementation written in ะก - Framebuffer display, GUI for X11/WinAPI/Haiku/SDL - I2C HID keyboard & mouse, OpenCores I2C controller - Realtek RTL8169, OpenCores Ethernet NICs -- Linux TAP / WIP socket-based networking -- Deprecated: PS2 keyboard & mouse, ATA (IDE) drive +- Userspace networking +- Deprecated: PS2 keyboard & mouse, ATA (IDE) drive, Linux TAP ## ๐Ÿ“ฆ Installing [![Artifacts](https://img.shields.io/badge/BIN-Artifacts-orange?style=for-the-badge)](https://nightly.link/LekKit/RVVM/workflows/build/staging) [![AUR](https://img.shields.io/badge/Arch%20Linux-AUR-blue?style=for-the-badge&logo=archlinux)](https://aur.archlinux.org/packages/rvvm-git) [![Build](https://img.shields.io/badge/Build-Make-red?style=for-the-badge)](#-building) @@ -113,25 +113,26 @@ Source file headers should be gradually transitioned to reflect their reusabilit [![PRs are welcome](https://img.shields.io/badge/Pull%20requests-welcome-8957e5?style=for-the-badge&logo=github)](https://github.com/LekKit/RVVM/pulls?q=is%3Apr+is%3Aclosed) | | Achievements | Working on | |----------------------|-------------|------------| -| [**LekKit**](https://github.com/LekKit) | RVVM API & infrastructure
RV64IMAFDC interpreter, MMU/IRQs/Priv/etc
RVJIT Compiler, X86/RISC-V backends
NVMe, RTL8169, Framebuffer, many tiny devices
Rework of PCIe, PLIC, etc | Networking, Userspace emulation
COW blk-dedup image format | +| [**LekKit**](https://github.com/LekKit) | RVVM API & infrastructure
RV64IMAFDC interpreter, MMU/IRQs/Priv/etc
RVJIT Compiler, X86/RISC-V backends
NVMe, RTL8169, Framebuffer, many tiny devices
Userspace network
Rework of PCIe, PLIC, etc | Networking, Userspace emulation
COW blk-dedup image format | | [**cerg2010cerg2010**](https://github.com/cerg2010cerg2010) | Important fixes, RV64 groundwork, FPU
Initial PLIC & PCI, PS2 HID, ATA, OC Ethernet
ARM/ARM64 RVJIT backends | Testing, Assistance | | [**Mr0maks**](https://github.com/Mr0maks) | Initial C/M/Zicsr extensions, initial UART, VM debugger
ARM32 mul/div JIT intrinsics | - | -| [**0xCatPKG**](https://github.com/0xCatPKG) | Userspace network, API improvements
Extended testing & portability fixes | HD Audio | +| [**0xCatPKG**](https://github.com/0xCatPKG) | Userspace network & API improvements
Extended testing & portability fixes | HD Audio | | [**X547**](https://github.com/X547) | Haiku GUI, I2C HID, Userland API assistance | Guest Haiku support, UserlandVM | | [**iyzsong**](https://github.com/iyzsong) | OpenBSD & PLIC fixes, Chardev API | | | [**nebulka1**](https://github.com/nebulka1) | Relative input mode | | ## ๐Ÿ” TODO -- TCP buffering & NAT in userspace networking +- Sparse block image format with compression/deduplication - Suspend/resume to file, VM migration -- Sparse block image format, compression/deduplication +- Linux userspace binary emulation (WIP) - Sound (HD Audio or else) -- Linux userspace syscalls emulation, ELF loader - VFIO for GPU passthrough - More RVJIT optimizations, shared caches -- FPU JIT, Vector/Bitmanip extensions (Waiting for GCC V ext support) +- FPU JIT (Complicated AF to make a conformant one) +- Vector/Bitmanip extensions - Other peripherals from real boards (SiFive GPIO, flash) - *Maybe* virtio devices (For better QEMU interoperability, current devices are plenty fast) +- Free page reporting via virtio-balloon - *A lot more...* - KVM hypervisor? Alternative CPU engines?