aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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-13O(1) memory region node allocationKimplul
2022-01-07Use #if defined(...) when not guard clauseKimplul
2022-01-07Merged bits.h and bytes.hKimplul
2022-01-07Modified pmem configuration handlingKimplul
2022-01-07Prefix static functions with __Kimplul
+ Probably completely unnecessary stylistic thing, but I'll roll with it
2022-01-07Renamed region functions to not use sp_*Kimplul
2022-01-07Moved debugging into debug.cKimplul
+ No clue why I had that stuff in common/main.c
2022-01-07Steps towards better status/debugging controlKimplul
2022-01-07Improved header dependency treeKimplul
2022-01-07Allow building with clangKimplul
+ Release mode is sort of broken, as lto doesn't work with linker relaxation and turning the relaxation off causes issues with the jump from init to kernel (as I've currently implemented it, could probably be fixed with a manual jump from assembly, I'll add it to my TODO list)
2022-01-06Added lint rule to MakefileKimplul
+ Runs a syntax check on all files of the selected arch
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-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-29Preparations for refactoringKimplul
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-20Right up to init_proc, FUCK YEAHKimplul
+ Lots to do still, should keep a more detailed TODO.txt, among other things implement Sv48 support, make more things single truths etc.
2021-12-20More sensible initKimplul
+ Who knew some reservations were a good thing? (at least relativelyy speaking)
2021-12-20Revert "still some issues with vmem"Kimplul
This reverts commit 69d13626a37e33f31627a1144605a8fb93684d25.
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.