Commit Graph

124 Commits

Author SHA1 Message Date
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 50243cc540 fix stupid pmm glitch and compilation failure 2022-08-07 00:36:50 -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 28710b6aa8 Fix a few issues
Panics in a few ISRs did not include registers. Removed a dot in panic string. Fixed an issue that would cause the system to page fault inside the vmm_dealwithrequest() function.
2022-08-04 19:28:20 -03:00
Matheus a398c0b523 fix weird git bug 2022-07-29 17:05:36 -03:00
Matheus f58b65c612 comment 2022-07-29 14:51:07 -03:00
Matheus 61d1e17599 Initial slab implementation 2022-07-29 14:42:06 -03:00
Matheus 0f1222dd6d move spinlock.h
the implementation is more arch specific than anything. it has been placed under arch/include
2022-07-27 22:17:24 -03:00
Matheus 5decee2f70 remove some testing code I forgor about 2022-07-27 22:03:46 -03:00
Matheus 1919b38a64 Support lower half addresses on the VMM 2022-07-27 22:03:10 -03:00
Matheus 605c87e85f arch_mmu_unmap() 2022-07-27 20:50:42 -03:00
Matheus ed866b05a9 vmm_cacheheader firstfree
keep track of the first free entry of each cache to make searching quicker
2022-07-27 20:44:34 -03:00
Matheus 940c39c0de finish the vmm 2022-07-27 20:31:56 -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 81d7e7e84f pmm_hhdmfree()
we had a pmm_hhdmalloc() but not a pmm_hhdmfree(), so that interface function is now implemented
2022-07-25 22:15:40 -03:00
Matheus cd8d7dd227 fix small colour issue 2022-07-24 17:39:02 -03:00
Matheus ecf639e30a fix more glitches with the pmm 2022-07-23 21:11:34 -03:00
Matheus 2d7dca8b8a pmm changes 2022-07-23 19:16:59 -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