summaryrefslogtreecommitdiff
path: root/src/kernel.asm
AgeCommit message (Collapse)Author
2025-09-14Enable interrupts only after IDT is setCarlos Maiolino
So far we've been playing a dangerous game... We enabled interrupts before we actually had the interrupt descriptor table setup. Fix this so we prevent IRQs to fire before the table is initialized and attempt to run garbage instead of code Signed-off-by: Carlos Maiolino <[email protected]>
2025-08-01Setup interrupt handlingCarlos Maiolino
Remap master PIC to IOAddress 0x20 to avoid collisions with CPU exceptions. Setup a default interrupt handler and map all interrupts to this handler by default. Setup a Keyboard interrupt handler for testing purposes Wire everything up in the Makefile Signed-off-by: Carlos Maiolino <[email protected]>
2025-07-20Add kernel.cCarlos Maiolino
Create the kernel.c file and its initial start_kernel(), and jump to it from the ASM. Also setup the build system to actually build it Signed-off-by: Carlos Maiolino <[email protected]>
2025-07-20Force alignment of kerne code.Carlos Maiolino
It should be aligned to 16-bits IIRC, forcing the kernel.asm to be alined to a 512 byte boundary should suffice Signed-off-by: Carlos Maiolino <[email protected]>
2025-07-17Start writing the kernel and add a linker scriptCarlos Maiolino
Move the code unders [BITS 32] label to its own file to be loaded as a kernel by the boot loader. Add a linker script to link the bootloader and the kernel in a single binary file. Add a build script to make it easier to use the cross compiler Update the Makefile to build everything and pack it into the os.bin Signed-off-by: Carlos Maiolino <[email protected]>