aboutsummaryrefslogtreecommitdiff
path: root/include/apos/tcb.h
AgeCommit message (Collapse)Author
2022-12-01start looking into memory handlingKimplul
+ Now 10M alloc/frees succeed, which totals more memory than the virtual machine has, so no too obvious leaks are occuring. For future debugging speed, changed 10M to 1M. + Also quick fix to rpcs, stacks are now assigned. Not entirely sure why they worked before this, but good that I found it.
2022-11-21make syscall handlers voidKimplul
2022-11-21possible optimisationsKimplul
2022-11-13outline rpc stack handlingKimplul
2022-11-13improve documentation on new featuresKimplul
2022-11-13~700k ipc requestsKimplul
+ Eliminated need for save/load_regs, now the register save area is behind a pointer which _slightly_ increases overall syscall delay, but speeds up ipc requests by a fair bit.
2022-11-12initial rpc implementationsKimplul
2022-11-09add basic IPI structureKimplul
2022-10-22create impl and CAP_PROC checkingKimplul
2022-10-21initial spawn implementationKimplul
2022-10-14remove references to cowKimplul
+ Skip cow for now, maybe implement later but try to keep things simple.
2022-09-23add notify_state to tcbKimplul
2022-09-20add capability subsystem and syscallsKimplul
2022-09-15change syscalls to take 5 params and return 6Kimplul
+ In total, a syscall is built up of 6 values, with the first being the syscall number. Symmetrically, the first value is now a status and the following five values return "values". This allows us to cram in more info into the ipc_* functions. The performance difference is absolutely minimal, at least from my testing in qemu.
2022-06-12add license textsKimplul
2022-06-11continue documentationKimplul
2022-06-09use doxygen todoKimplul
2022-06-09continue documentationKimplul
2022-06-08continue documentationKimplul
2022-05-29continue documentation effortsKimplul
2022-05-28start implementing new proc/rpc handlingKimplul
+ Essentially, separate root process and remote procedure call handling. I really should write down some documentation so I don't forget, but essentially: All threads share a common process virtual memory, and when a thread wants to make an rpc, it switches over to its own rpc vmem space that is linked to the remote process.
2022-05-24make process loading more genericKimplul
2022-05-23new include structure, make parse easier for doxyKimplul
2022-05-22add @file info to all filesKimplul
+ Next step, start documenting contents of each file.
2022-05-22rename vm_branch to vmemKimplul
+ Closer to what it's for rather than what it is.
2022-05-22improved tcb handling in preparation for processesKimplul
2022-05-21add status info to memory mappingsKimplul
+ next up would probably be to start working on process/thread relationships, largely as documented. Still not entirely sure about how I want to handle fork, but I suppose I might figure it out at some point.
2022-04-24start initial irq handlingKimplul
+ Still lots todo, and I'm not entirely sure how I should handle program space switches (mainly since the kernel uses the process' stack, maybe it shouldn't?)
2022-04-16initial thread id handlingKimplul
+ At least initial in the sense that this seems like the smartest way to handle things, that is.
2022-01-07Renamed region functions to not use sp_*Kimplul
2022-01-07Steps towards better status/debugging controlKimplul
2022-01-07Improved header dependency treeKimplul
2021-12-29RefactoringKimplul
+ Mainly just moving stuff out or arch/riscv/ that should be handled in common/ + Prepared separate process stack/call stack for server callbacks, rest to be implemeted soon ish
2021-12-29Preparations for refactoringKimplul
2021-12-27Started work on syscallsKimplul
2021-12-21Modified vmem internals to use pagesKimplul
2021-12-19Massive changes to jump to userspaceKimplul