Skip to content

Latest commit

 

History

History
51 lines (46 loc) · 1.46 KB

TODO.org

File metadata and controls

51 lines (46 loc) · 1.46 KB

Very rough outline of things that need to be done, somewhat based on the guide from the osdev wiki.

In addition to these things, I also need to document more code as well as the general system documentations, as well as setting up unit testing for any data structures as well as hopefully even the main OS code itself.

short list:

  • fix page fault when pressing keys on ReleaseFast
  • add page_allocator to kernel.os.heap
  • uACPI (AML) bindings
  • ttf renderer and font
  • arch-specific docs
  • cleanup panic.zig
  • rename ringbuffer.zig
  • PCI driver

Early Stage:

  • [X] Terminal
  • [ ] stack smash protection
  • [X] Global Descriptor Table
  • [X] Memory Mangement
    • [X] Physical Memory Manager
    • [X] Paging
    • [X] kalloc or something like that
  • [-] Interrupts
    • [X] IDT
    • [ ] IOAPIC and timers
  • [ ] Keyboard (requires IOAPIC)
  • [ ] Pure Doom statically linked use a pseudo filesystem just to make sure things work
  • [ ] Multithread / SMP
    • [ ] multiprocess
    • [ ] efficient message passing
    • [ ] SMP
  • [ ] bcachefs filesystem

User Space:

  • [ ] non privileged code
  • [ ] syscalls
  • [ ] ELF loader (for ‘driver’ code - priveleged but not quite kernel)
  • [ ] the great micro-kernelling - switch to micro-kernel
  • [ ] WASM runtime for games

Extension

  • [ ] userspace fork/execute
  • [ ] time
  • [ ] disk access
  • [ ] USB
  • [ ] sound
  • [ ] graphics driver(s)
  • [ ] priveleged menu for launching games
  • [ ] networking eventually