aboutsummaryrefslogtreecommitdiff
path: root/common/pmem.c
AgeCommit message (Collapse)Author
2023-06-04visionfive2 bootsKimplul
+ Make 8250 serial driver more generic + Still TODO: write a tutorial on how to boot on the visionfive2
2023-05-29start trying to boot on visionfive 2Kimplul
+ Not bootable quite yet. Among other things, I couldn't get the current starfive u-boot fork to boot, so try adding support for booting with precompiled u-boot via the `go` command. Initial testing with qemu shows that this should be possible, and if it works, might be useful in the (far) future with other slightly janky SBCs. Also, NS16550 is 8250-based, and I'm really only using the base 8250, so rename and add visionfive 2 uart to list of compatibles. Visionfive 2 is still completely untested.
2023-05-11arbitrary load address and RAM base detectionKimplul
+ Both kind of go hand in hand, made sense to do both at the same time. Some parts feel slightly hacky, the loader works by placing everything on the stack and avoiding global values. Still, seems to work?
2023-05-01update license stuffKimplul
2023-04-30rename to kmiKimplul
2022-11-21possible optimisationsKimplul
2022-10-29rewrite pmemKimplul
2022-10-14remove references to cowKimplul
+ Skip cow for now, maybe implement later but try to keep things simple.
2022-06-12add license textsKimplul
2022-06-11continue documentationKimplul
2022-06-09continue documentationKimplul
2022-05-29make pmem.c slightly easier to read.Kimplul
2022-05-29continue documentation effortsKimplul
2022-05-29modify formatting rulesKimplul
2022-05-24change bit utils to not be __*Kimplul
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-22add @file info to all filesKimplul
+ Next step, start documenting contents of each file.
2022-04-10add basic ubsan and fix issues reported by itKimplul
2022-04-10add clang format and run itKimplul
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-07Improved header dependency treeKimplul
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-10-11Start designing vmem frameworkKimplul
2021-10-11Renamed [pv]addr_t to [pv]m_tKimplul
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-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.