| Age | Commit message (Collapse) | Author |
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|