| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2022-11-12 | release mode, ~600k requests | Kimplul | |
| 2022-11-12 | slight optimization | Kimplul | |
| 2022-11-12 | initial rpc implementations | Kimplul | |
| 2022-11-11 | less buggy fork | Kimplul | |
| + Not strictly done yet, but we can swap between two processes :D | |||
| 2022-11-09 | add basic IPI structure | Kimplul | |
| 2022-10-29 | rewrite pmem | Kimplul | |
| 2022-10-22 | start outlining ipc | Kimplul | |
| 2022-10-22 | create impl and CAP_PROC checking | Kimplul | |
| 2022-10-22 | initial high level fork imp | Kimplul | |
| 2022-10-21 | beautification | Kimplul | |
| 2022-10-21 | initial implementation of swap | Kimplul | |
| + Slightly unsure if it should be a syscall, or if assign would be enough. Also, which thread should run in a fork/spawn? For now, old thread, though this might increase latency. Or add swap flag to these calls? | |||
| 2022-10-21 | initial spawn implementation | Kimplul | |
| 2022-10-21 | slight optimisation to cur_tcb on riscv | Kimplul | |
| 2022-09-15 | change syscalls to take 5 params and return 6 | Kimplul | |
| + In total, a syscall is built up of 6 values, with the first being the syscall number. Symmetrically, the first value is now a status and the following five values return "values". This allows us to cram in more info into the ipc_* functions. The performance difference is absolutely minimal, at least from my testing in qemu. | |||
| 2022-09-14 | add putch syscall for easier userspace debugging | Kimplul | |
| + Note that it is NOT intended for end user usage, just for debugging. | |||
| 2022-09-14 | add canary to kernel stack | Kimplul | |
| 2022-09-14 | riscv32 boots and advances as far as riscv64 | Kimplul | |
| 2022-09-02 | fix documentation warnings | Kimplul | |
| 2022-06-12 | add license texts | Kimplul | |
| 2022-06-11 | continue documentation | Kimplul | |
| 2022-06-11 | continue documentation | Kimplul | |
| 2022-06-09 | use doxygen todo | Kimplul | |
| 2022-06-09 | continue documentation | Kimplul | |
| 2022-05-29 | continue documentation efforts | Kimplul | |
| 2022-05-29 | modify formatting rules | Kimplul | |
| 2022-05-29 | continue documentation efforts. | Kimplul | |
| 2022-05-28 | continue documenting source | Kimplul | |
| 2022-05-28 | implement set_ipc on riscv | Kimplul | |
| 2022-05-28 | start implementing new proc/rpc handling | Kimplul | |
| + Essentially, separate root process and remote procedure call handling. I really should write down some documentation so I don't forget, but essentially: All threads share a common process virtual memory, and when a thread wants to make an rpc, it switches over to its own rpc vmem space that is linked to the remote process. | |||
| 2022-05-24 | make process loading more generic | Kimplul | |
| 2022-05-23 | modify file gen | Kimplul | |
| 2022-05-23 | new include structure, make parse easier for doxy | Kimplul | |
| 2022-05-23 | switch from clang-format to uncrustify | Kimplul | |
| 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-22 | add @file info to all files | Kimplul | |
| + Next step, start documenting contents of each file. | |||
| 2022-05-22 | rename vm_branch to vmem | Kimplul | |
| + Closer to what it's for rather than what it is. | |||
| 2022-05-22 | improved tcb handling in preparation for processes | Kimplul | |
| 2022-05-21 | add status info to memory mappings | Kimplul | |
| + next up would probably be to start working on process/thread relationships, largely as documented. Still not entirely sure about how I want to handle fork, but I suppose I might figure it out at some point. | |||
| 2022-05-21 | implement timers better | Kimplul | |
| 2022-05-09 | improve uapi | Kimplul | |
| 2022-04-29 | continue building base for irq handling | Kimplul | |
| 2022-04-24 | fix rv32 compile errors | Kimplul | |
| 2022-04-24 | start initial irq handling | Kimplul | |
| + Still lots todo, and I'm not entirely sure how I should handle program space switches (mainly since the kernel uses the process' stack, maybe it shouldn't?) | |||
| 2022-04-23 | ran clang-format | Kimplul | |
| 2022-04-21 | use uint64_t for timer ticks | Kimplul | |
| + GCC seems to provide this even on 32bit platforms, though I should really check. | |||
| 2022-04-21 | start working on timer subsys | Kimplul | |
| 2022-04-17 | expand sbi implementation a bit | Kimplul | |
| 2022-04-10 | add clang format and run it | Kimplul | |
| 2022-03-01 | make vmflags_t 16 bits | Kimplul | |
| 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-07 | Use #if defined(...) when not guard clause | Kimplul | |
| 2022-01-07 | Modified pmem configuration handling | Kimplul | |
