Matheus
3c3dfc8f39
vmm: address space forking
2022-09-19 18:42:05 -03:00
Matheus
2ab048c322
scheduler: pid allocation, thread queueing function and a few fixes
2022-09-19 18:41:25 -03:00
Matheus
ce217ea8d8
fd: table cloning func
2022-09-19 18:37:21 -03:00
Matheus
41d6e7230e
fd: new abstraction
2022-09-18 16:21:45 -03:00
Matheus
2848544ff0
scheduler: a bunch of fixes and a few changes
...
transferred memory context from proc to thread, fixed bugs relating to blocking, made getnext() wait till something is ready to run
2022-09-09 18:18:22 -03:00
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
20249b07b2
Events: stub
2022-09-04 14:44:12 -03:00
Matheus
2f8c8fc8e3
ELF: don't change the cpu context
2022-09-04 14:42:59 -03:00
Matheus
56bee8be77
VFS: dot entries
2022-08-28 16:28:11 -03:00
Matheus
edba446ba4
ELF: refactor loader
2022-08-27 20:27:14 -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
b3b5981f7a
isatty syscall
2022-08-20 12:47:23 -03:00
Matheus
f04d4b5a31
page allocator for alloc()
2022-08-19 22:11:06 -03:00
Matheus
098b2f5691
open syscall
2022-08-19 20:03:38 -03:00
Matheus
1d3405ba10
file decriptors
2022-08-19 18:01:32 -03:00
Matheus
4de0ff2556
gettid syscall, fix issues with vmm and mmap syscall
2022-08-18 22:12:51 -03:00
Matheus
da99da2b36
arch_ctl syscall
...
it controls architecture specific things such as the GSBASE in x86_64
2022-08-18 20:42:03 -03:00
Matheus
0984a6458d
fix several issues relating to elf and registers and add mmap
2022-08-18 17:53:09 -03:00
Matheus
fc6d0000c5
added auxv to elf stack setup
...
the needed ones for rtdl; AT_NULL, AT_PHDR, AT_ENTRY, AT_PHNUM, AT_PHENT
2022-08-16 22:06:18 -03:00
Matheus
432e85b837
system calls
2022-08-15 21:52:57 -03:00
Matheus
261d7d3743
elf loading and userland
2022-08-14 20:19:38 -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
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
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
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
151235694d
VFS stub
2022-07-30 22: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
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
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
Matheus
21f353778d
spinlock change
...
add a pause instruction in order to not completely demolish the system bus in a lock
2022-07-23 00:13:01 -03:00
Matheus
8f24f480b1
spinlocks
2022-07-22 18:30:13 -03:00
Matheus
b44469a3e1
Initial commit
2022-07-21 22:50:12 -03:00