aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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-29make pmem.c slightly easier to read.Kimplul
2022-05-29continue documentation effortsKimplul
2022-05-29modify formatting rulesKimplul
2022-05-29add clean_all directiveKimplul
2022-05-29continue documentation efforts.Kimplul
2022-05-28continue documenting sourceKimplul
2022-05-28add __has_attributeKimplul
2022-05-28implement set_ipc on riscvKimplul
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-23modify file genKimplul
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-22fixed accidental removal of CLEANUP_CMDKimplul
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-22rename some static functions prefixesKimplul
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-05add make depend which explicitly generates deps.mkKimplul
+ Completely unnecessary with gmake, but bmake seems to be a little more fussy with runtime dependency generation. No big deal.
2022-05-05remove deps.mk from repoKimplul
+ GNU make knows how to automatically generate new include files, whereas BSD make apparently doesn't. The solution might be to add in a very simple configure script that just touches deps.mk?
2022-05-05apos compiles on netbsd with LLVM=1Kimplul
+ Turns out I had a dumb debugging echo that was messing up my variables. Oh well. + I'd still like to get riscv64-unknown-elf-gcc to compile, currently I've only managed with riscv64--netbsd-gcc, weird. Also, I have learned that BSD make doesn't use $< for some reason, so all rules should reference the full file name henceforth. BSD make does use $@, but for consistency I did away with it as well.
2022-05-05fix makefiles on netbsdKimplul
+ Doesn't quite compile all the way unfortunately, building the GNU toolchain on NetBSD is a bit more difficult than I was expecting. LLVM does compile, but fails to link for some reason.
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.
2022-04-21use uint64_t for timer ticksKimplul
+ GCC seems to provide this even on 32bit platforms, though I should really check.
2022-04-21start working on timer subsysKimplul