aboutsummaryrefslogtreecommitdiff
path: root/arch/riscv
AgeCommit message (Collapse)Author
2021-12-20still some issues with vmemKimplul
+ Not sure if I should go with noinit or init, fuck
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-19[WIP] virtual memory managementKimplul
2021-12-08Added some C11 atomic operationsKimplul
Mainly to be used in spinlocks etc.
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
2021-10-11Start designing vmem frameworkKimplul
2021-10-11Renamed [pv]addr_t to [pv]m_tKimplul
2021-10-11Moved some functions to common/Kimplul
2021-10-10Prepare proper jump to kernelKimplul
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-25Used memory regions now markedKimplul
+ I don't fully trust my memory management system yet, so should probably check the memory regions it gives.
2021-09-25Added default stack locationKimplul
2021-09-20Some slight robustness improvements and obo errorsKimplul
2021-09-19Pmap populationKimplul
2021-09-19Added basic awareness of kernel size/boundsKimplul
2021-09-19Fixed type issueKimplul
2021-09-19dbg initialized with path in /chosen/stdout-pathKimplul
2021-09-19Added fdt debug capabilityKimplul
+ For future reference, apos now requires initrd to be found in fdt.
2021-09-12Initial physical page managerKimplul
+ Will probably still need a fair bit of tweakind and documentation improvements, but seems to work outside of the kernel. Also no valgrind errors, which is quite promising I guess.
2021-08-31Improved linkind process, added padding generatorKimplul
2021-08-26Added debug flags and simple debug serial driverKimplul
2021-08-25libfdt seems to workKimplul
At least as far as reading memory info, cool. One issue I have is that .(ro)data is apparently accessed by absolute addresses, so I need to know at which address the kernel is going to be loaded. I would prefer completely position independent code, but if that's not possible then eh.
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-21Updated build system with run commandKimplul
2021-08-20New build systemKimplul
2021-08-19New build system (WIP)Kimplul
2021-08-17GarbageKimplul