Commit Graph

45 Commits

Author SHA1 Message Date
23cb50a73f Create ata.h
implement the base ata pio mode driver so that the filesystems like fat16, fat32 work. This is the header for that. It will need a iso9660 driver for cdrom etc optical media
2026-01-18 17:44:18 -08:00
bc9d84a93e Merge branch 'main' into fix/91-header-cleanup 2026-01-13 07:39:46 -08:00
vmttmv
3b67e81ed0 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-12 04:02:15 +02:00
vmttmv
841892398a Remove types.c/.h, use klibc headers, amend stdbool.h, reimplement cpuid() 2026-01-12 02:43:37 +02:00
86608ef48c Merge pull request #90 from gbowne1/gbowne1-patch-2
Fix extern declaration for disk_read_sector function
2026-01-10 21:31:34 -08:00
c0e7ab6be0 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-08 21:10:35 -08:00
f78bc27f35 Fix extern declaration for disk_read_sector function 2026-01-08 21:03:10 -08:00
10d3761be1 Enhance cpu.h with Intel model definitions and struct
Added Intel model definitions and CPU info structure.
2026-01-05 00:46:14 -08:00
cc2e967a4d Implement CPUID support check and CPU info printing
Added functions to check CPUID support and print CPU details.
2026-01-05 00:42:05 -08:00
Borna Šoštarić
bd4236ad9b fix RWX perms warnings in link step 2025-12-31 01:39:18 +01:00
Borna Šoštarić
f30be3ddd5 initial implementation of klibc
fix linker error about ctx_switch
2025-12-27 19:44:54 +01: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
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
d5906d72de Move linker.ld
Move to kernel
2025-11-14 14:17:27 -08: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
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
056d3eb374 Update framebuffer.h
Added the stub graphics framebuffer stub
2025-11-04 01:21:35 -08:00
98f0f58ce4 Add stub code for the graphics franebuffer 2025-11-04 01:13:36 -08:00
7d9d0aeee3 Create memory.c
This is the implementation for memory.c memory.h pair to house the 
memset. memcmp, memcpy, memmove etc careful as there are now duplicates in utils implementation
2025-11-02 17:39:31 -08:00
8e5dff4271 Add memory.h with memcpy and memmove declarations
Define memory management functions and include guards.

Adding a home for memory functions memset, memcpy, memcmp, memmove

This is the header
2025-11-02 17:32:53 -08:00
9aa1b85ca0 Merge pull request #62 from vmttmv/main
begin fixing build errors for stage2
2025-10-25 17:42:46 -07:00
vmttmv
9216673b18 begin fixing build errors 2025-10-26 03:03:20 +03:00
ed07e2cd9c Delete kernel/linker.ld
Removing linker.ld for the grub legacy stuff I was gonna try
2025-10-25 15:10:55 -07:00
a4318d3c79 Delete kernel/multiboot.h
Remove empty multiboot.h for grub legacy
2025-10-25 15:09:32 -07:00
267130281a fixing the keyboard and bootloader so that its 2 stage again 2025-08-02 20:06:15 -07:00
e1e30b511a mostly improvements to malloc 2025-07-01 11:20:04 -07:00
109e554524 fixing the remaining issues in the kernel directory 2025-06-16 15:13:37 -07:00
69762b6650 adding stub usb and mouse code 2025-05-18 02:49:17 -07:00
49361a98be fixing minor bugs with single unit compilation in gcc with flags on 2025-05-16 01:08:12 -07:00
50efcc13fe minor additions to the kernel heap and adding acpi 2025-05-15 04:22:55 -07:00
a9f2826014 addind more important kernel files and also fixing bugs 2025-05-15 02:37:06 -07:00
512bd49ff7 add the last of the files and some basic stubs for most of the empty files from last commit 2025-05-13 19:17:19 -07:00
799f744f47 doing some memory work and gdt and timer and vga 2025-05-13 11:39:16 -07:00
10b8fdc33f adding and fixing some missing things and some undefined 2025-05-13 10:44:10 -07:00
ecfa54e225 new OS 2025-04-30 23:03:44 -07:00