No description
Find a file
2020-01-06 17:25:27 +01:00
src ide: first commit 2020-01-05 20:35:21 +01:00
.gdbinit Brendan's Tutorial Step 1: done 2019-12-14 22:46:48 +01:00
.gitignore ide: first commit 2020-01-05 20:35:21 +01:00
build.zig Brendan's Tutorial Step 1: done 2019-12-14 22:46:48 +01:00
mkiso.sh commit before starting Brendan's multitasking tutorial 2019-11-29 21:24:32 +01:00
qemu.sh Add Shebang 2020-01-06 17:30:17 +03:00
README.md readme: update 2020-01-06 15:09:36 +01:00

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