| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2022-09-22 | add assign syscall skeleton | Kimplul | |
| 2022-09-20 | add notify syscall skeleton | Kimplul | |
| + Now to actually start implementing shit. :) | |||
| 2022-09-20 | add capability subsystem and syscalls | 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-15 | add SYS_TICKS | Kimplul | |
| 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-06-16 | small changed to formatting | Kimplul | |
| 2022-06-12 | fix compilation errors | Kimplul | |
| 2022-06-12 | doxygen shows no warnings | Kimplul | |
| + Does not mean documentation is done, but it's a nice little achievement nonetheless. | |||
| 2022-06-12 | add license texts | Kimplul | |
| 2022-06-11 | continue documentation | 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-06-02 | continue documentation | Kimplul | |
| 2022-06-01 | continue documentation | Kimplul | |
| 2022-05-29 | make pmem.c slightly easier to read. | 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 | 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-28 | add sys_fwd and remove sys_req_* | Kimplul | |
| 2022-05-24 | make process loading more generic | Kimplul | |
| 2022-05-24 | change bit utils to not be __* | Kimplul | |
| 2022-05-24 | initial musings about exec | Kimplul | |
| 2022-05-23 | start writing documentation | 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-23 | rename sys_switch to sys_swap | Kimplul | |
| 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 | rename some static functions prefixes | Kimplul | |
| 2022-05-22 | improved tcb handling in preparation for processes | Kimplul | |
| 2022-05-21 | add create syscall for threads | 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-12 | initial workings of shared memory | Kimplul | |
| + Should document this better but essentially a server requests a shared buffer, and chan then share this buffer to a thread. Freeing the buffer is done through normal means. MR_SHARED is used for buffers that are shared, and MR_OWNED tells whoever is freeing that region that it is allowed to free the physical memory behind the shared buffer. | |||
| 2022-05-09 | improve uapi | Kimplul | |
| 2022-05-05 | riscv64 boots with clang (sort of) | Kimplul | |
| 2022-04-29 | continue building base for irq handling | 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-23 | change alignment functions to be type generic | 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-17 | improve node subsys | Kimplul | |
| + More robust alignment and less memory usage for status, from enum to bit | |||
