aboutsummaryrefslogtreecommitdiff
path: root/include/apos
AgeCommit message (Collapse)Author
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-09-15add SYS_TICKSKimplul
2022-09-14add putch syscall for easier userspace debuggingKimplul
+ Note that it is NOT intended for end user usage, just for debugging.
2022-09-14add canary to kernel stackKimplul
2022-09-14riscv32 boots and advances as far as riscv64Kimplul
2022-09-11change external directory structureKimplul
+ Prepare for possibly testing rv32 + Also remove newline from debugging output
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-11continue documentationKimplul
2022-06-11continue documentationKimplul
2022-06-09use doxygen todoKimplul
2022-06-09continue documentationKimplul
2022-06-08continue documentationKimplul
2022-06-02continue documentationKimplul
2022-06-01continue documentationKimplul
2022-05-29continue documentationKimplul
2022-05-29continue documentation effortsKimplul
2022-05-29modify formatting rulesKimplul
2022-05-29continue documentation efforts.Kimplul
2022-05-28continue documenting sourceKimplul
2022-05-28add __has_attributeKimplul
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-28add sys_fwd and remove sys_req_*Kimplul
2022-05-24make process loading more genericKimplul
2022-05-24change bit utils to not be __*Kimplul
2022-05-24initial musings about execKimplul
2022-05-23start writing documentationKimplul
2022-05-23new include structure, make parse easier for doxyKimplul
2022-05-23switch from clang-format to uncrustifyKimplul
The output is close enough, and I like that uncrustify is a third-party tool, so people can install a single tool for formatting instead of having to lug around a whole toolchain. I fully expect to have to add settings to uncrustify.conf, but let's see how this goes.
2022-05-23make syntax friendlier for uncrustifyKimplul
2022-05-23rename sys_switch to sys_swapKimplul
2022-05-22apply slight doxygen formatting improvementsKimplul
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-22start testing out doxygenKimplul
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-05-09improve uapiKimplul
2022-05-05riscv64 boots with clang (sort of)Kimplul
2022-04-29continue building base for irq handlingKimplul
2022-04-24fix rv32 compile errorsKimplul
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-23ran clang-formatKimplul
2022-04-23change alignment functions to be type genericKimplul
2022-04-21fix warnings on 32bit riscvKimplul
+ Will most probably not work on 32bit, but nice to make 'portable' code.