- 64-bit Long Mode — Transition from 32-bit protected mode with CPUID compatibility checks.
- Paging — 1 GiB identity mapping configured using 2 MiB huge pages.
- Interrupts & GDT — Global Descriptor Table initialization and IDT setup with remapped PIC interrupts (exceptions + IRQs).
- VGA Text Mode — Text console driver supporting colors, automated hardware-based scrolling, and cursor control.
- Drivers — Simple keyboard callback (IRQ1) and PIT sleep timer support.
- Memory Map — Multiboot-compliant system memory map parsing (usable vs reserved RAM).
src/boot— Multiboot entry point, assembly-level paging initialization, and long mode entry.src/kernel— Kernel main entry loop and logic.src/cpu— CPU architecture setup including GDT, IDT, and Interrupt Service Routines (ISRs).src/drivers— Device controllers including keyboard, PIT timer, VGA text console, and low-level IO.src/memory— Memory management subsystems (PMM).src/include— Shared public headers mirrored to the source layout.src/iso— GRUB configuration templates and image build environment.
nasmassemblergcc(orx86_64-elf-gcccross-compiler)ldlinkergrub-mkrescueqemu-system-x86_64(for emulation)
makebuildskernel.binand packages it intokhazar.iso.make runcompiles the kernel and runs the ISO in QEMU.make cleandeletes generated build artifacts and ISO file.
Khazar is licensed under the MIT License. See LICENSE for details.
