maint: update README.md
This commit is contained in:
@@ -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...
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user