Commit Graph

88 Commits

Author SHA1 Message Date
4aa6fa3b59 Update display.h
updated header for display driver display.c and display.h this will need to be finished wired up. Old display driver would have done nothing.
2026-01-28 21:41:10 +01:00
Borna Šoštarić
6d78074060 add rules for formatting consecutives 2026-01-28 21:41:10 +01:00
Borna Šoštarić
3fde819c49 add .clang-format 2026-01-28 21:41:10 +01:00
Borna Šoštarić
aac87e30e0 added editorconfig file 2026-01-28 21:41:10 +01:00
Borna Šoštarić
975e21f9be add clangd config file 2026-01-28 21:41:10 +01:00
Borna Šoštarić
db2c17d4b4 add compile_commands.json genereation 2026-01-28 21:41:10 +01:00
vmttmv
c805d24dd0 Fix PDE/PTE definitions, header cleanup
- Fixes PDE/PTE definitions in kernel/paging.h
- removes memset declaration from kernel/utils.h, uses klibc string.h as
needed
2026-01-28 21:41:10 +01:00
vmttmv
b3831b6c69 Remove types.c/.h, use klibc headers, amend stdbool.h, reimplement cpuid() 2026-01-28 21:40:39 +01:00
4e1197356b Fix k_memcmp return logic and add disk_read_sector
Refactor k_memcmp to return correct difference and add disk_read_sector function.
2026-01-28 21:40:39 +01:00
a765fe5238 Fix extern declaration for disk_read_sector function 2026-01-28 21:40:39 +01:00
175c2949be Enhance cpu.h with Intel model definitions and struct
Added Intel model definitions and CPU info structure.
2026-01-28 21:40:39 +01:00
2dd82e69a7 Implement CPUID support check and CPU info printing
Added functions to check CPUID support and print CPU details.
2026-01-28 21:40:39 +01:00
Borna Šoštarić
aeecf2b0b7 fix vga clear section in on_error 2026-01-28 21:40:39 +01:00
vmttmv
091391907f Establish well-defined read buffers for bl, implement error printing 2026-01-28 21:40:39 +01:00
vmttmv
5dcf5d24b2 Fix non-aligned disk reads in bootloader 2026-01-28 21:40:39 +01:00
Borna Šoštarić
a7e536a6d3 fix RWX perms warnings in link step 2026-01-28 21:40:39 +01:00
vmttmv
b99cb27092 fix stage2.asm: disk reads wait for BSY 2026-01-28 21:40:39 +01:00
Borna Šoštarić
a3267d2ac3 initial implementation of klibc
fix linker error about ctx_switch
2026-01-28 21:40:39 +01:00
Borna Šoštarić
bc08701e63 lessen indirection in the makefile 2026-01-28 21:40:39 +01:00
Borna Šoštarić
e8f6beef8a update readme 2026-01-28 21:40:39 +01:00
Borna Šoštarić
bd427dc7e9 generate .build.env as part of configure script 2026-01-28 21:40:39 +01:00
Borna Šoštarić
619430d4bf add configure script for setting up cross compilation tools 2026-01-28 21:40:39 +01:00
4393fbf6cb Update pci.c
Change this to use io.h to define the in/out assembly instead of doing directly
2026-01-27 12:37:38 -08:00
401a19143c Update pci.c
Fixed volatile to a keyword
2026-01-27 08:10:56 -08:00
a9f6d5fa05 Update pci.c
Fixed the inline assembly macro asm to __asm__
2026-01-26 16:55:35 -08:00
574980035e Create pci.c 2025-12-17 05:32:44 -08:00
a0bd0941d6 Create pci.h 2025-12-17 05:31:15 -08:00
940b2810cb Update io.h
adding the missing io
2025-11-20 10:07:01 -08:00
01f85f97ec Update fat12.h
better header for FAT12 kernel driver
2025-11-19 09:31:22 -08:00
fd2c567d29 Update fat12.c
implementation of kernel space fat12 kernel driver for fat12
2025-11-19 09:29:04 -08:00
9de9cc6523 Update scheduler.h 2025-11-19 08:44:15 -08:00
e9a78c835a Create context_switch.s
new context_switch.s for x86 IA32.
must confirm nasm.
2025-11-19 08:43:11 -08:00
77400d8f5a Update scheduler.c
old scheduler might not work on x86 IA-32 32 bit
2025-11-19 08:41:03 -08:00
cdf5676085 Merge pull request #70 from vmttmv/main
Kernel build fixes
2025-11-18 18:11:18 -08:00
vmttmv
8743fa9e24 Multiple changes:
- Makefile: fix linker script path
- irq.c: `irqN()` stubs
- irq.h: fix missing header
- isr.h/isr.c extern `interrupt_handlers`
- utils.c: remove duplicate `memcmp`
2025-11-19 03:32:06 +02:00
3036ee3dfd Delete bootloader/linker.ld
delete linker.ld as moved to kernel space
2025-11-14 14:18:54 -08:00
d5906d72de Move linker.ld
Move to kernel
2025-11-14 14:17:27 -08:00
2ab0efdee1 Delete bootloader/Makefile
Remove Makefile in bootloader
2025-11-14 14:15:51 -08:00
0e011c1682 Update README.md 2025-11-13 14:45:56 -08:00
eccf9d7d7c Merge pull request #69 from vmttmv/bootloader
BL implementation
2025-11-13 14:36:09 -08:00
vmttmv
62fe09d80d multiple changes: BL1/BL2/kernel separation (build system, etc.) BL2 implementation. BL documentation 2025-11-13 23:35:54 +02:00
f1b0670a15 Update kmain.c
Adding isr stuff
2025-11-10 05:59:22 -08:00
48fdb348ca Update irq.h
add implementation for irq handles to header
2025-11-10 05:49:36 -08:00
6dbd08c808 Update irq.c
Implement the irq handles
2025-11-10 05:48:02 -08:00
9ac3a2b862 Update terminal.c
Fixed minor issue with terminal
2025-11-10 05:19:25 -08:00
95f0507c24 Update keyboard.c
some issues with keyboard buffer fixed and interrupt greater than 32 would cause EOI to get sent to PIC 2x
2025-11-10 05:09:30 -08:00
70539f72b8 Update Makefile
This Makefile is for i686-elf cross compilation  only
2025-11-10 03:42:17 -08:00
1b046776e0 Update boot1.asm
remove duplicate print
2025-11-10 03:29:17 -08:00
2609f52dd6 Update paging.c
Fixed page table entry so it doesnt clobber kernel
2025-11-10 03:12:34 -08:00
f2e75c5142 Update kmalloc.c
Safer 1MB heap. Original value would have caused a heap overflow
2025-11-10 02:51:56 -08:00