Commit Graph

28 Commits

Author SHA1 Message Date
Matheus c91e3cd12d ps2kbd: initial implementation 2022-09-08 18:06:17 -03:00
Matheus 2586acc14f keyboard: stub 2022-09-07 16:11:24 -03:00
Matheus 9c6ce452f8 /dev/console 2022-08-20 15:15:10 -03:00
Matheus f7e5b5ba67 proper limine terminal interface 2022-08-20 14:16:26 -03:00
Matheus 21e6a0ad1a enable syscall instructions 2022-08-15 13:50:46 -03:00
Matheus 33a516a611 user thread/process and elf loader stub 2022-08-13 23:16:34 -03:00
Matheus e7f4245c6d kernel threads
kernel threads and preemptive multitasking
2022-08-13 15:26:12 -03:00
Matheus ac5339453b per cpu timer queue 2022-08-12 22:11:59 -03:00
Matheus c565bc006f apic ipis, scheduler stub, crappy and slow tlb shootdown 2022-08-09 23:53:39 -03:00
Matheus b2d8e5a166 devman initial implementation 2022-08-07 17:53:31 -03:00
Matheus 1a2486cadd scheduler timer
abstraction of a timer that is local to each cpu and is used for scheduling
2022-08-07 12:50:17 -03:00
Matheus c94368bbc9 initial hpet support
for now only a few wait functions are supported
2022-08-06 23:57:10 -03:00
Matheus a69310a03c PCI enumeration 2022-08-06 21:34:52 -03:00
Matheus dee3fe16db initialise the APs 2022-08-06 16:33:14 -03:00
Matheus fa1b35bf18 basic apic + fix some stupid issues
created an initial stub implementation of the apic driver, added the madt to acpi, fixed an issue with the strncmp, made the pmm set only free pages rather than used ones
2022-08-05 23:33:54 -03:00
Matheus 592133af39 ACPI tables support
Added parsing for the (X)RSDT and RSDP, as well as table searching.
2022-08-05 17:27:14 -03:00
Matheus 947f4b4a06 initrd stub 2022-08-03 23:38:56 -03:00
Matheus 2419b2e9e0 vfs filesystem mounting 2022-08-02 22:14:32 -03:00
Matheus 151235694d VFS stub 2022-07-30 22:51:07 -03:00
Matheus f8d0c13520 hashtables 2022-07-29 18:27:50 -03:00
Matheus 61d1e17599 Initial slab implementation 2022-07-29 14:42:06 -03:00
Matheus f1d3126990 Add a WIP VMM
As of now the VMM (pretty much a doubly linked list of regions) supports allocating and demand paging. still no deallocation though so if you allocate something you can't free it yet :')
2022-07-27 00:39:55 -03:00
Matheus 5213654224 x86_64 four level paging 2022-07-24 17:40:02 -03:00
Matheus 4d0d6347ad finish pmm 2022-07-23 13:52:09 -03:00
Matheus 1a509d02cf pmm stub 2022-07-23 01:06:12 -03:00
Matheus 7590d01d91 remove some warnings
gcc was rightfully complaining about a lack of functio ndefinitions related to initialising the bsp's idt and gdt
2022-07-22 18:27:03 -03:00
Matheus cae7428ed0 Panic and interrupts
Added a basic kernel panic function and interrupt support for x86_64 (mostly for exception handling)
2022-07-22 00:34:44 -03:00
Matheus b44469a3e1 Initial commit 2022-07-21 22:50:12 -03:00