aboutsummaryrefslogtreecommitdiff
path: root/arch/riscv64/source.mk
AgeCommit message (Collapse)Author
2024-07-17cleanup riscv64/confKimplul
2024-07-08fix LLVMKimplul
+ Anything extern is right out as LLVM doesn't produce correct code for them. Maybe if I added some extra attributes but I'm skeptical. Replaced with static variables and getters/setters. + Inline ASM is apparently a bit buggy, so use an assembly stub when jumping to init. + Minimize work done in main() to minimize chance of LLVM doing something silly. Still not 100% certain that I shouldn't just write the main() as an assembly stub in arch/riscv64 to be absolutely sure everything works as intended. + Make .kernel.start section SHF_ALLOC, otherwise lld complains about pc-relative addressing Probably some other stuff as well that I'm forgetting right now. But at least with LLVM14 LTO seems to work, which is pretty cool?
2024-07-06core bringup + various warningsKimplul
+ dbg_fdt() is apparently broken, possibly due to UB or something, but it causes some issues with optimizations enabled. Remove it temporarily
2023-06-07slight improvements to buildingKimplul
+ User can now specify debug, release and assert handling
2023-05-12disable LTO with LLVMKimplul
2023-05-12fix LLVM compilationKimplul
+ RELEASE=1 doesn't work for some reason, though
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-06make cross compile more conformantKimplul
2022-09-14riscv32 boots and advances as far as riscv64Kimplul
2022-09-02fix documentation warningsKimplul
2022-05-23modify file genKimplul
2022-05-23new include structure, make parse easier for doxyKimplul
2022-05-22fixed accidental removal of CLEANUP_CMDKimplul
2022-05-09improve uapiKimplul
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-21fix warnings on 32bit riscvKimplul
+ Will most probably not work on 32bit, but nice to make 'portable' code.
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)