summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2025-08-25Add error numbersCarlos Maiolino
This is supposed to be compliand with POSIX Signed-off-by: Carlos Maiolino <[email protected]>
2025-08-25Add math libCarlos Maiolino
So far I just need a roundup routine to implement a basic heap manager Signed-off-by: Carlos Maiolino <[email protected]>
2025-08-25IO: Add in/out declarations/definitionsCarlos Maiolino
I've forgotten to commit this when working on interrupts. The OS won't build without these helpers. They are used for now mostly to setup PICs. Signed-off-by: Carlos Maiolino <[email protected]>
2025-08-22vga.h: Fix unknown type nameCarlos Maiolino
This has only been working so far because vga.h was included only on source files already including stdint.h. We should put it direct to the header file 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-08-01Implement interrupt descriptor tableCarlos Maiolino
Signed-off-by: Carlos Maiolino <[email protected]>
2025-07-26Add memset() to the libraryCarlos Maiolino
Signed-off-by: Carlos Maiolino <[email protected]>
2025-07-26Move include files to a subdirectoryCarlos Maiolino
Move the include files to the toxic/ subdirectory, so it gets a bit more organized. Ah, yeah, OS name will be renamed to ToxicOS Signed-off-by: Carlos Maiolino <[email protected]>
2025-07-25Build vga and string libsCarlos Maiolino
Also add a small test to the kernel code Signed-off-by: Carlos Maiolino <[email protected]>
2025-07-25Add VGA text mode driverCarlos Maiolino
Add driver to deal with VGA text mode. Also adds a simple vprintl function while I don't implement a print library. Signed-off-by: Carlos Maiolino <[email protected]>
2025-07-25Add string librariesCarlos Maiolino
Add a couple string lib functions to start with video text development. 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-17Add small ATA driver to load kernelCarlos Maiolino
Write ata_lba_read routine to load 100 disk sectors from the disk into memory address 0x00100000 (1MiB). Once the data is loaded, jump to that Address 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]>
2025-07-17Enable A20 lineCarlos Maiolino
Signed-off-by: Carlos Maiolino <[email protected]>
2025-07-17Restructure project folderCarlos Maiolino
Signed-off-by: Carlos Maiolino <[email protected]>