Skip to content

notsatvrn/lyra

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

lyra

Lyra is a 64-bit UNIX-like hobby kernel for learning operating system development in Zig

Goals

  • Readable and easy to understand codebase
  • Multi-architecture support (x86, RISC-V, ARM)
  • Modern design with Limine boot protocol

Non-goals

  • Legacy support (32-bit, pre-Nehalem CPUs, etc)
  • Obscure hardware support (e.g. big-endian)

Progress

  • generic
    • tty
      • text mode impl
      • framebuffer impl
    • memory
      • pmm
      • vmm
    • process scheduler
      • red-black tree impl
      • process structures
      • smp awareness
  • x86-64
    • gdt/idt
    • system clock
      • counter
      • hw clock reading
    • timers
      • pit programmer
    • smp
      • core id storage
    • interrupts
    • pci device tree
  • aarch64
    • system clock
      • counter
      • hw clock reading
    • timers
    • smp
      • core id storage

Credits

  • Zig for being the best programming language 😉
  • AndreaOrru for the zen kernel project (on which this project is based)
    • Attribution headers with the license are provided on all files for which this may apply.
  • OSDev.org for being a massively helpful resource
  • The x86 architecture for making me question my life's choices

About

UNIX-like hobby kernel

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published