maint: update README.md

This commit is contained in:
2026-01-14 09:06:03 +02:00
parent c72c8f88d7
commit fd0a3f50ea
+18 -14
View File
@@ -9,9 +9,9 @@ Main features
------------- -------------
* Architecture support: * Architecture support:
* [aarch64](kernel/src/arch/aarch64) * [aarch64](kernel/arch/aarch64)
* [x86_64](kernel/src/arch/x86_64) * [x86_64](kernel/arch/x86_64)
* [i686](kernel/src/arch/i686) (Pentium Pro and later) * [riscv64](kernel/arch/riscv64)
* Core features: * Core features:
* Kernel/userspace preemptive multithreading * Kernel/userspace preemptive multithreading
* Kernel-space multitasking with `async`/`await` runtime * Kernel-space multitasking with `async`/`await` runtime
@@ -24,6 +24,7 @@ Main features
* sysfs * sysfs
* devfs * devfs
* ext2 * ext2
* fat32 (read-only)
* Userspace features: * Userspace features:
* [Kernel-user ABI](lib/abi-def/yggdrasil.abi) generated from a rust-like description language * [Kernel-user ABI](lib/abi-def/yggdrasil.abi) generated from a rust-like description language
* Sanitized system calls better suited for use in Rust * Sanitized system calls better suited for use in Rust
@@ -33,33 +34,37 @@ Main features
* Synchronization primitives through futex-like interface * Synchronization primitives through futex-like interface
* Unix-like signals and exceptions * Unix-like signals and exceptions
* [Dynamic loader](userspace/dyn-loader) for linking with shared libraries * [Dynamic loader](userspace/dyn-loader) for linking with shared libraries
* Runs DOOM
* Hardware features: * Hardware features:
* PCI Express devices * PCI Express devices
* NVMe drive support (read/write, currently x86_64 only, due to lack of MSI-X support on aarch64/i686). * NVMe drive support
* AHCI SATA drive support (read/write) * AHCI SATA drive support
* xHCI USB host controller * xHCI USB host controller
* VirtIO Network + GPU framebuffer support * VirtIO Network + GPU framebuffer support
* USB HID keyboards * USB device support
* Hub driver
* HID keyboards and mice
* Mass storage (BBB)
* Partial hardware support for aarch64/riscv64 SBCs like StarFive VisionFive 2 and Raspberry Pi 4
aarch64-specific: aarch64-specific:
* PSCI for SMP start-up and power control * PSCI for SMP start-up and power control
* PL011 serial port * PL011 serial port
* PL061 GPIO controller
* PL031 RTC
* ARM generic timer as system/monotonic timer * ARM generic timer as system/monotonic timer
* GICv2 IRQ controller * GICv2 IRQ controller + GICv2m MSI interrupts
x86-specific: x86-specific:
* Boot options: * Boot via UEFI [yboot](https://git.alnyan.me/yggdrasil/yboot)
* x86_64: UEFI [yboot](https://git.alnyan.me/yggdrasil/yboot)
* i686: multiboot/grub
* I/O and Local APIC IRQ controllers * I/O and Local APIC IRQ controllers
* PS/2 keyboard * PS/2 keyboard
* HPET for x86_64 * HPET for x86_64
* i8253-based timer for i686 or as a fallback timer * i8253 as a fallback timer
* COM ports * COM ports
* ACPI, [work in progress](https://github.com/rust-osdev/acpi), mostly broken * ACPI, [work in progress](https://github.com/rust-osdev/acpi)
on real hardware, so currently disabled
* ACPI shutdown * ACPI shutdown
* PCI IRQ pin routing * PCI IRQ pin routing
* Events like power button, etc. * Events like power button, etc.
@@ -122,7 +127,6 @@ General plans (in no particular order)
2. Get a full LLVM build to work 2. Get a full LLVM build to work
3. Get rustc to work 3. Get rustc to work
4. Get self-hosted 4. Get self-hosted
5. Run doom (?)
In addition to eternal code cleanup, I've been doing quite a lazy job at that lately... In addition to eternal code cleanup, I've been doing quite a lazy job at that lately...