Skip to content

mankoros/mankoros

Repository files navigation

MankorOS

MankorOS is named after the three main contributers namely man, kong and luo, so "MankorOS" is essentially "man-ko-ro-s"

MankorOS is a RISC-V kernel written in Rust

RoadMap

  • Mutex
    • simple spinlock (2023-01-24 EastonMan)
    • disable interrupt
  • Console
    • UART driver (2023-01-24 EastonMan)
    • print! and panic! macro (2023-01-24 EastonMan)
    • logging system
      • info!, warn! and error! (2023-01-25 EastonMan)
      • colorful output (2023-01-25 EastonMan)
      • log level support (2023-01-25 EastonMan)
      • timestamp (2023-04-09 EastonMan)
    • initialize using device tree
    • UART input
  • Interrupt
    • interrupt infra (2023-02-22 EastonMan)
    • interrupt handler (2023-02-22 EastonMan)
    • timer interrupt
      • global TICK (2023-02-22 EastonMan)
      • configurable HZ value
  • Memory management
    • device tree parsing
    • physical memory management (2023-01-26 EastonMan)
    • enable paging
    • global allocator (2023-01-26 Origami404)
    • auto growing kernel heap
  • Process
    • rCore-like, process/thread infra (very early Origami404, 2023-05-01 deprecated)
    • linux-like, unified task_struct infra (2023-05-01 Origami404)
    • scheduler
    • smp boot (2023-04-09 EastonMan)
  • Syscall
    • syscall infra
    • POSIX
  • Device
    • VirtIO driver (2023-04-15 EastonMan)
  • Filesystem
    • VFS (2023-04-21 SoraShu)
    • FAT32 (2023-04-17 EastonMan)
  • Userspace
    • user program loading
    • dynamic linking

License

This project is licensed under GPLv2 or later verion of GPL.