aboutsummaryrefslogtreecommitdiff
path: root/common/vmem.c
AgeCommit message (Collapse)Author
2022-06-12doxygen shows no warningsKimplul
+ Does not mean documentation is done, but it's a nice little achievement nonetheless.
2022-06-12add license textsKimplul
2022-06-11continue documentationKimplul
2022-06-09use doxygen todoKimplul
2022-06-09continue 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-24change bit utils to not be __*Kimplul
2022-05-24initial musings about execKimplul
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 create syscall for threadsKimplul
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-05-21implement timers betterKimplul
2022-05-12initial workings of shared memoryKimplul
+ Should document this better but essentially a server requests a shared buffer, and chan then share this buffer to a thread. Freeing the buffer is done through normal means. MR_SHARED is used for buffers that are shared, and MR_OWNED tells whoever is freeing that region that it is allowed to free the physical memory behind the shared buffer.
2022-04-10add clang format and run itKimplul
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-30Add initial version of device memory mappingKimplul
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-27Started work on syscallsKimplul
2021-12-26First useful jump to userspace!Kimplul
2021-12-23Fixups to four previous commitsKimplul
+ Christ, I'm shit at git etiquette
2021-12-23Added alloc_fixed_regionKimplul
+ Not used at the moment anywhere, but should come in handy when emulating stuff like (s)brk and when mapping ELF stuff
2021-12-23map_fill_region can now utilize higher order pagesKimplul
2021-12-23Added stat/mod_vmemKimplul
+ In general improved riscv vmem.c
2021-12-21Started allowing higher order allocsKimplul
2021-12-21Modified vmem internals to use pagesKimplul
2021-12-20Added init backKimplul
2021-12-19Massive changes to jump to userspaceKimplul
2021-12-19[WIP] virtual memory managementKimplul
2021-10-26Identified issue with vmem implementationKimplul
+ Sensible mappings should help, discard what I wrote in the previous commit. Nothing works unless I get vmem up and running properly.
2021-10-25Some minor changes to virtual memory handlingKimplul
+ Should start to think about how virtual memory should be handled efficiently, I'm sort of flailing around and not actually doing anything beneficial. The mapping system I've so far implemented _works_, but it's not good and I'm not happy with it. I might come back and fix/improve it, but I think I'll go ahead and do other things for a while, might give me a better overhead view of what the virtual memory system should do. + TODO: should probably document the memory layout I'm going with at the moment.
2021-10-19Initial virtual memory mapping functionsKimplul