aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2026-01-24specify some error codesKimplul
2026-01-24make physical memory request a capabilityKimplul
+ Seems obvious, not sure why I hadn't done it already
2026-01-24improve timer handlingKimplul
+ Previous code assumed a timer would only trigger when requested, but didn't explicitly disable timers during init. Newer versions of qemu (>= 10?) seem to have some kind of timer set, unsure if that's via OpenSBI or what exactly but some slower tests were failing because of it.
2025-04-22simplify generator scriptsKimplul
2025-03-18some header improvementsKimplul
2024-11-10update READMEKimplul
2024-11-08also clean tests and benchmarks on clean_allKimplul
2024-11-08document __prepare_execKimplul
2024-11-02make it more obvious dynamic elf isn't supportedKimplul
+ also cleans up a few warnings I've been annoyed by
2024-11-02update elf docsKimplul
2024-11-02allow skipping some cache flushes in procKimplul
2024-11-02check effective id of createKimplul
2024-11-02check spawn exhaustionKimplul
2024-11-02add spawn benchmarkKimplul
2024-11-02intial working sys_spawnKimplul
2024-11-02initial exec supportKimplul
2024-11-01use correct sfence.vmaKimplul
2024-11-01simplify enter_rpc, remove finalize_rpcKimplul
+ The simulated benchmarks shows very slightly more than 2M requests per second, new record!
2024-11-01calculate rpc stack top slightly differentlyKimplul
+ Saves a multiplication, very minor
2024-11-01mark some hot path functions inlineKimplul
+ Gives a hint to the LTO optimizer to more agressively inline the functions, seems to bring a slight performance increase
2024-11-01remove benchmarks autogenerated fileKimplul
2024-11-01flush only current tlb during page faultKimplul
2024-11-01copy rpc stacks directlyKimplul
+ Speeds up fork a little bit
2024-11-01move stack modifications to be earlier in rpcKimplul
2024-11-01speed up creating threads quite a bitKimplul
2024-11-01test all ipc variants more-or-less properlyKimplul
2024-11-01formatting and docs updatesKimplul
2024-11-01update some docsKimplul
2024-11-01add note about running on real hardwareKimplul
2024-11-01smp on visionfive2 'works'Kimplul
2024-11-01remember to set regs to some valid addressKimplul
+ Worked in qemu, failed in visionfive2, fixed.
2024-11-01rpc actually marks and unmarks stack regionsKimplul
+ Processes won't be able to read previous stack frames etc
2024-10-30clarify visionfive2 docsKimplul
2024-10-30bookkeepingKimplul
2024-10-30tests passKimplul
2024-10-30most of the way to passing testsKimplul
2024-10-29start moving towards threads always being in rpcKimplul
2024-08-30improvements to shared memory handlingKimplul
+ Now each shared region is reference counter (technically each region is refernce counted, private regions just have a count of 1). Also, syscalls that touch the TLB get flushed, but should probably look into where else this flushing might be needed.
2024-08-30add some basic benchmarksKimplul
2024-08-30fix a couple memory issuesKimplul
+ get_mem_node() clears out the memory so we don't accidentally read stale flags + Thread creation simplified a bit, each thread references itself and data freeing is based on when the reference count reaches zero.
2024-08-30specify mabi and marchKimplul
2024-08-30speed up ipc_resp a bitKimplul
+ Skip unwinding stack and just jump directly to userspace
2024-08-27convert addr to page in find_closest_used_regionKimplul
2024-08-27add some missing documentationKimplul
2024-08-27add optimizations for memcpy and memsetKimplul
+ Apparently primary bottlenecks for sys_fork() and sys_create(), speeds things up quite a bit
2024-08-26add magic assertKimplul
2024-08-26fix memory leaks destroying threadsKimplul
2024-08-26make sys_create() better + testKimplul
2024-08-26check for running out of memory during forkKimplul
2024-08-26improve killing processes/threads, testKimplul
+ Remove sys_kill() as we should be using a two-stage process where a thread is first orphaned by sys_detach(), and then the thread itself calls sys_exit() after it has done all necessary cleanup in init.