d84c9c86d0
Removed some unused code
2022-07-05 18:06:19 -05:00
d4b36a7c7d
Return the previous process to queue after context switch
2022-07-05 15:18:51 -05:00
5c7d002bbf
Moved PCB for each process to kernel heap
2022-07-03 13:17:06 -05:00
a52f06f81e
Massive backlog of changes
2022-06-15 15:59:31 -05:00
c962a83ff0
WIP on kernel syscalls
2021-05-01 17:09:50 -05:00
a5e9d852ab
Implemented do_syscall()
...
Wrote constructor for kernel state
Added syscall table
2021-04-19 06:54:34 -05:00
5efc389935
Finished basic task switching mechansim
...
PCB is local to a process's address space.
Context switches are written in assembly.
Moved x86 headers to include/x86
2021-04-19 03:40:33 -05:00
625bbb04a8
Debug message printed before loading task context
2021-04-18 02:10:33 -05:00
979344e942
next_process() checks if a next process exists
...
Panics if not
2021-04-17 06:30:00 -05:00
291ed65248
Fixed wrong pointer type in load_module()
...
Kernel passed a pointer to its own state to get_free_resource_slot(),
causing its state to be corrupted.
next_process() also now loads the address space of the next process before entering it.
2021-04-17 06:25:11 -05:00
2a5dcd4a0f
Improved get_free_resource_slot()
...
Table now tries to expand itself when no available slots are left
2021-04-17 04:59:39 -05:00
b582c39ff8
Started work on process management
2021-04-17 01:00:28 -05:00
0b302c5759
Started main kernel functions
2021-04-12 01:43:47 -05:00