aboutsummaryrefslogtreecommitdiff
path: root/TODO.txt
AgeCommit message (Collapse)Author
2023-04-30conform closer to other project structuresKimplul
2022-05-29continue documentation effortsKimplul
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-05riscv64 boots with clang (sort of)Kimplul
2022-04-29continue building base for irq handlingKimplul
2022-04-21fix warnings on 32bit riscvKimplul
+ Will most probably not work on 32bit, but nice to make 'portable' code.
2022-04-21start working on timer subsysKimplul
2022-03-03faster deps.mk generationKimplul
2022-03-01make vmflags_t 16 bitsKimplul
lower 8 bits are reserved for arch-specific flags (but at least read/write/execute) and higher 8 bits are metadata, currently only for VM_VIRTUAL (to be used when the backing physical memory shouldn't be freed)
2022-01-07Modified pmem configuration handlingKimplul
2022-01-07Steps towards better status/debugging controlKimplul
2022-01-06Jump back to kernelspace testedKimplul
+ Added automated categories to debugging, bug/info/warn/error etc. Now I should just try to use them here and there :D
2021-12-30Add initial version of device memory mappingKimplul
2021-12-27Started work on syscallsKimplul
2021-12-26First useful jump to userspace!Kimplul
2021-12-21Started allowing higher order allocsKimplul
2021-12-20Added init backKimplul
2021-12-19Add cpio newc format readerKimplul
+ Still need to actually add in an initrd that uses the format :D
2021-12-19Massive changes to jump to userspaceKimplul
2021-12-08Added some C11 atomic operationsKimplul
Mainly to be used in spinlocks etc.
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-11Start designing vmem frameworkKimplul
2021-10-01First jump to virtual memory!Kimplul
+ Lots of bughunting to do, probably lots of off-by-one and so on errors, and I make a lot of naive and possibly dangerous assumptions. But cool start nonetheless. Should also come up with some method of exchanging data between the init and actual kernel, probably some struct of some sort. TODO
2021-09-20Some slight robustness improvements and obo errorsKimplul
2021-09-19Added basic awareness of kernel size/boundsKimplul
2021-09-19Added fdt debug capabilityKimplul
+ For future reference, apos now requires initrd to be found in fdt.
2021-08-22Integrated libfdtKimplul
+ Added new common/ directory, into which code that should be shared with init and kernel is to be added. Currently string.c and bytes.c. Code in common/ should be marked with __weak, so as to allow the arch to implement a better, more optimised version of the function if possible/required. + Created include/apos/types.h with macros essentially providing the libc limits.h and stdint.h. At the moment I use gcc/clang predefined macros for most things.
2021-08-19New build system (WIP)Kimplul