Matheus
ab2bd69481
semaphores
2022-08-12 16:35:27 -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
7ec69a219c
devfs initial implementation
2022-08-07 17:33:49 -03:00
Matheus
bdc19f90ef
vfs and tmpfs read
2022-08-07 13:13:42 -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
50243cc540
fix stupid pmm glitch and compilation failure
2022-08-07 00:36:50 -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
ea8f21fb71
add tmpfs writing, vfs node tree dumping and fix some stupid issues
2022-08-04 20:49:59 -03:00
Matheus
479c51ec52
Initrd parsing and more VFS funcs.
...
Finished the initrd_parse() function for now and added vfs_open(), vfs_close() and vfs_write()
2022-08-04 19:31:10 -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
947f4b4a06
initrd stub
2022-08-03 23:38:56 -03:00
Matheus
6ae75a9e99
create and mkdir funcs
...
file and directory creation functions for both the vfs and tmpfs
2022-08-03 22:05:11 -03:00
Matheus
2419b2e9e0
vfs filesystem mounting
2022-08-02 22:14:32 -03:00
Matheus
8d90e27f15
hashtable entrycount
2022-08-02 21:44:27 -03:00
Matheus
3653e01505
hashtable_set()
2022-07-31 14:18:13 -03:00
Matheus
151235694d
VFS stub
2022-07-30 22:51:07 -03:00
Matheus
0fcb602574
hashtable_destroy()
2022-07-29 21:04:44 -03:00
Matheus
f8d0c13520
hashtables
2022-07-29 18:27:50 -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
a316d054f5
Unify the arch_regs structs
...
I was doing something stupid and keeping a separate version for the cpu registers. oh well, I fixed it now
2022-07-29 09:40:49 -03:00
Matheus
f508798638
Create LICENSE
2022-07-27 22:51:47 -03:00
Matheus
eb043d8dd3
Rename README
2022-07-27 22:48:12 -03:00
Matheus
d10874a0bc
Add README
2022-07-27 22:42:46 -03:00
Matheus
c4a9e3a3fe
remove TODO comment
2022-07-27 22:27:12 -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
7bdacfbd7a
add an ist to the bsp's gdt
2022-07-27 22:08:16 -03:00
Matheus
98bffdc753
remove TODO comment
2022-07-27 22:06:36 -03:00
Matheus
b8b620bf1f
uncomment code
...
it was commented for debugging and I forgot to uncomment it
2022-07-27 22:04:44 -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
49fd56a28a
code cleanup
...
made setpage() use the next() function
2022-07-27 21:10:02 -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
4ea2880817
Organise the tree better
2022-07-25 22:22:22 -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
b183e72e2a
background for limine
2022-07-25 22:14:19 -03:00
Matheus
a4f7c23202
updated limine config to make things prettier
2022-07-25 22:13:25 -03:00
Matheus
7cb207d0c3
map kernel pdpts at arch_mmu_init()
2022-07-24 20:46:59 -03:00
Matheus
607b82ed6c
change pointers used in function calls
...
change from void* to cls_t* as it makes more sense to be this way
2022-07-24 18:09:25 -03:00
Matheus
5213654224
x86_64 four level paging
2022-07-24 17:40:02 -03:00
Matheus
cd8d7dd227
fix small colour issue
2022-07-24 17:39:02 -03:00