| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2023-08-04 | fix warnings in smp.c | Kimplul | |
| + Only occur with my version of riscv64-linux-gnu-gcc. Funny, that. | |||
| 2023-08-04 | add initial smp bringup | Kimplul | |
| 2023-08-03 | add sbi_hart_start | Kimplul | |
| 2023-08-03 | fix cpu_send_ipi | Kimplul | |
| 2023-08-03 | dispatch doesn't have to worry about ipi | Kimplul | |
| 2023-07-31 | add copyright stuff to new files | Kimplul | |
| 2023-07-31 | start working on irqs | Kimplul | |
| 2023-07-27 | use nifty variable argument count trick | Kimplul | |
| + Found it in newlib. This allows the compiler to more effectively optimize away unnecessary register operations. Applied to both kernel and init.c for a slight speed increase. I really should move init.c to some other repository though, the binary files are starting to get annoying | |||
| 2023-07-27 | add ipc_kick | Kimplul | |
| + Tests will have to come later | |||
| 2023-07-26 | allow tail call optimizations to happen easier | Kimplul | |
| 2023-07-26 | fix possible segfault with non-gig memory sizes | Kimplul | |
| 2023-07-25 | simplify fdt reg reading | Kimplul | |
| 2023-07-25 | simplify populate/probe pmap | Kimplul | |
| 2023-07-24 | split makefile into two parts | Kimplul | |
| + First part generates deps.mk, second part reads it. Allows us to use both bmake and gmake with the same makefiles. Only drawback seems to be that the first makefile considers all individual files as 'finished' targets, meaning that it's more difficult to do something like make kernel.elf though I haven't found this to be an issue. | |||
| 2023-06-14 | move rpc check to ipc_respo | Kimplul | |
| 2023-06-11 | add some clarifications to rpc stack stuff | Kimplul | |
| 2023-06-08 | fix visionfive boot docs | Kimplul | |
| 2023-06-08 | skip saving registers when possible | Kimplul | |
| 2023-06-08 | add fast userspace return to do_ipc | Kimplul | |
| 2023-06-07 | slightly improve padding | Kimplul | |
| 2023-06-07 | add unlikely hint to leave_rpc | Kimplul | |
| 2023-06-07 | slight improvements to building | Kimplul | |
| + User can now specify debug, release and assert handling | |||
| 2023-06-07 | fix root node get_reginfo | Kimplul | |
| 2023-06-07 | change register save/load to increasing order | Kimplul | |
| 2023-06-05 | add check against calling ipc_resp erroneously | Kimplul | |
| 2023-06-05 | give compiler more room to optimize rpc invocation | Kimplul | |
| + Try to write arguments to memory as fast as possible to free up some registers that the compiler can then play with. Qemu runs ~1 700 000 rpc's per second, visionfive2 @1GHz (I think) ~800 000. | |||
| 2023-06-04 | clarify a few things | Kimplul | |
| 2023-06-04 | slight optimization and brainfart fix | Kimplul | |
| 2023-06-04 | remove misleading comment | Kimplul | |
| 2023-06-04 | add some docs about visionfive2 | Kimplul | |
| 2023-06-04 | visionfive2 boots | Kimplul | |
| + Make 8250 serial driver more generic + Still TODO: write a tutorial on how to boot on the visionfive2 | |||
| 2023-06-04 | visionfive2 boots until debugging is initialized | Kimplul | |
| 2023-05-29 | start trying to boot on visionfive 2 | Kimplul | |
| + 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-17 | align handle_irq to four byte boundaries always | Kimplul | |
| + CSR_STVEC requires four byte alignment | |||
| 2023-05-12 | update README to reflect recent changes | Kimplul | |
| 2023-05-12 | disable LTO with LLVM | Kimplul | |
| 2023-05-12 | fix LLVM compilation | Kimplul | |
| + RELEASE=1 doesn't work for some reason, though | |||
| 2023-05-11 | fix riscv64-linux-gnu- build | Kimplul | |
| 2023-05-11 | only init is pic and fix a warning | Kimplul | |
| 2023-05-11 | arbitrary load address and RAM base detection | Kimplul | |
| + 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-08 | improve undocumented file warning | Kimplul | |
| 2023-05-06 | fix some formatting for terminal users | Kimplul | |
| 2023-05-06 | Update README.md | Kimplul | |
| 2023-05-06 | Update README.md | Kimplul | |
| 2023-05-06 | make cross compile more conformant | Kimplul | |
| 2023-05-06 | always use debug flag | Kimplul | |
| 2023-05-01 | update license stuff | Kimplul | |
| 2023-05-01 | bump dtc version | Kimplul | |
| 2023-04-30 | conform closer to other project structures | Kimplul | |
| 2023-04-30 | rename to kmi | Kimplul | |
