~kernel/boot.cr
.cr
Crystal
(text/x-crystal)
module Boot
  # Kernel entry point (converted from main.c's kmain)
  def self.kmain : Nil
    # Initialize core kernel subsystems in order
    IDT.init
    Timer.init
    PS2.init
    VGA.init

    # Enable hardware interrupts
    asm("sti")

    # Main kernel loop (halt until next interrupt)
    loop do
      asm("hlt")
    end
  end
end