Skip to content

nuetoban/kernel-zig

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

hobby kernel in zig

features

  • 80x25 frame buffer
  • ps2 keyboard driver
  • terminal console
  • lspci
  • x86
    • MMU
    • interrupts
    • pit timer
  • scheduler
    • time slice preemption with round robin
    • sleep()
    • block()/unblock()
  • Storage
    • IDE ATA driver (in progress)

dependencies

How to

compile

zig build compiles and links the multiboot kernel (without a bootloader)

test

  • ./qemu.sh start
  • ./qemu.sh monitor
  • ./qemu.sh quit
  • gdb #see provided .gdbinit

Notes

interrupt call chain

interrupt -> idt[n] -> isrN -> isrDispatch -> handlers[n] (default unhandled())

References

About

💾 hobby x86 kernel zig

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Zig 93.2%
  • Assembly 5.3%
  • Shell 1.4%
  • GDB 0.1%