Skip to content

Diamantino-Op/HorizonOS

Repository files navigation

HorizonOS

Build LLVM Build X86_64 Build Aarch64 Build RiscV64

HorizonOS Logo

A simple microkernel OS that I am making for fun.

Features

  • Modular: Easy to add / remove modules such as drivers.
  • Simple: Code is very simple to understand + I plan to document it soon.
  • Modern: 64-bit os written using C++ 26 and the latest clang compiler.
  • Multi-Arch: Currently only x86_64 is supported, but I plan to add support for Riscv64 and AArch64.
  • Hotplug: Cpu, Memory and PCI Hotplug / Unplug support (WIP).

IRQ Mappings

  • IRQ 0: PIT Tick
  • IRQ 9: SCI
  • IRQ 10: Hpet (Scheduler sleep)

Run Commands:

Qemu:

Kvm: qemu-system-x86_64 -cpu host,+hypervisor,+invtsc,+tsc-deadline -device qemu-xhci,id=xhci -device usb-kbd,id=usbkbd -device usb-mouse,id=usbmouse -smp 10 -M q35 -m 8G -accel kvm -drive if=pflash,format=raw,readonly=on,file=HorizonOS/deps/ovmf/x86_64/OVMF.fd -drive if=pflash,format=raw,file=HorizonOS/deps/ovmf/x86_64/OVMF_VARS.fd -cdrom HorizonOS/iso/out/HorizonOS-x86_64.iso -serial stdio

Debug: qemu-system-x86_64 -s -S -cpu host,+hypervisor,+invtsc,+tsc-deadline -device qemu-xhci,id=xhci -device usb-kbd,id=usbkbd -device usb-mouse,id=usbmouse -smp 10 -M q35 -m 8G -drive if=pflash,format=raw,readonly=on,file=HorizonOS/deps/ovmf/x86_64/OVMF.fd -drive if=pflash,format=raw,file=HorizonOS/deps/ovmf/x86_64/OVMF_VARS.fd -cdrom HorizonOS/iso/out/HorizonOS-x86_64.iso -serial stdio

Profile Flags: -serial file:mcount.log

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published