Age | Commit message (Collapse) | Author | |
---|---|---|---|
2023-08-13 | libc: replace fork2_n_mount with mount_at | dzwdz | |
2023-08-10 | user: more descriptive process titles | dzwdz | |
2023-08-10 | user/fs: no longer inject MOUNT_ATs by default | dzwdz | |
arguably the wrong choice from an usability standpoint, but the right choice from a performance standpoint. there's definitely a nicer way to do this | |||
2023-08-06 | libc: fs_dirinject2 for injecting multiple paths | dzwdz | |
2023-07-19 | user /keyboard: handle open()s instantly even if waiting for kb | dzwdz | |
fixes e.g. `echo */*` in dash | |||
2023-07-08 | user/keyboard: check open() path | dzwdz | |
this prevents someone from trying to `ls /keyboard/`, and makes `echo */*` in dash almost work if you mash the keyboard | |||
2023-06-25 | user/testelf: fix broken path in stackexec | dzwdz | |
2023-06-25 | ports: reimplement the ports system from scratch | dzwdz | |
side stuff: * removed sltar since it wasn't working anyways * made signal() no longer panic, as that broke certain ports (oops) * doom now ships with the FreeDOOM WADs * /usr/ was aliased to /init/usr/, more directories were added to /bin/ to improve compat with ports | |||
2023-06-17 | libc: implement dirent.h | dzwdz | |
2023-06-17 | libc: expand psdata into a proper struct, include executable base | dzwdz | |
this is very useful for debugging userland programs using the qemu gdb stub | |||
2023-06-11 | kernel: replace await with wait2, roughly compatible with POSIX | dzwdz | |
dash works now :^))) | |||
2023-06-10 | kernel: implement getpid, getppid | dzwdz | |
2023-06-08 | user/vterm: support displaying tabs | dzwdz | |
2023-06-04 | user/vterm: vendor a font (spleen) instead of downloading one on build | dzwdz | |
2023-06-04 | kernel: rework /proc/ and process IDs | dzwdz | |
I'm yet to write proper docs but the TL;DR is: Mounting /proc/ creates a new pid namespace. You're still visible in the old namespace with your old pid, but your children won't be. You see your own pid as 1. Current pids of children will be preserved, pids will be allocated starting from the highest one of your children. | |||
2023-02-25 | user/ext2fs: don't treat EOF as an error | dzwdz | |
2023-02-24 | toolchain: partially set up the sysroot | dzwdz | |
2023-02-23 | build: don't -Isrc/ in user code | dzwdz | |
2023-02-23 | fix: misc warnings | dzwdz | |
2023-02-23 | fix: printf related warnings | dzwdz | |
2023-01-25 | style: typedef structs, shorter namespaces | dzwdz | |
I've wanted to do this for a while, and since I've just had a relatively large refactor commit (pcpy), this is as good of a time as any. Typedefing structs was mostly inspired by Plan 9's coding style. It makes some lines of code much shorter at basically no expense. Everything related to userland kept old-style struct definitions, so as not to force that style onto other people. I also considered changing SCREAMING_ENUM_FIELDS to NicerLookingCamelcase, but I didn't, just in case that'd be confusing. | |||
2023-01-25 | user: process titles, /bin/ps | dzwdz | |
2023-01-25 | kernel/virt: replace the virt_cpy api with a more foolproof one | dzwdz | |
2023-01-24 | kernel/procfs: allow reading memory of descendants | dzwdz | |
I'm suprised how short this patch is. It also feels like I've introducted a vulnerability somewhere with it. Hopefully it's a false feeling. | |||
2023-01-19 | kernel: user interrupts | dzwdz | |
2023-01-11 | kernel: return EPIPE when fs_waiting on a dead filesystem | dzwdz | |
2023-01-08 | kernel: let parents kill their children again | dzwdz | |
2023-01-08 | user/tests: fix fucked fs test | dzwdz | |
2023-01-06 | kernel: basic procfs | dzwdz | |
2023-01-06 | kernel: turn the NULLFS into an always present special handle | dzwdz | |
preparing for HANDLE_PROCFS | |||
2022-12-28 | user/ext2fs: creating new files | dzwdz | |
2022-12-27 | user/termcook: ignore arrows/tab | dzwdz | |
2022-12-27 | sh: minor usability / aesthetic improvements | dzwdz | |
2022-12-27 | libc: fix strncmp | dzwdz | |
2022-12-27 | user/ext2fs: partial write support | dzwdz | |
2022-12-26 | user/tmpfs: general code cleanup | dzwdz | |
2022-12-25 | user/lib: reorganize a few header files | dzwdz | |
2022-12-24 | user/ext2fs: basic ext2 read support | dzwdz | |
2022-11-21 | user/init: sandbox drivers | dzwdz | |
2022-10-19 | shared/printf: implement %p | dzwdz | |
2022-10-19 | user/logfs: a simple demo of the fs api | dzwdz | |
2022-10-19 | user/libc: BSD err.h, getprogname() | dzwdz | |
2022-10-18 | user/tests: more info when a test crashes | dzwdz | |
2022-10-08 | tests: some tests for when a process has no free handles | dzwdz | |
2022-10-04 | user/libc: camellia_open, takes cwd into account | dzwdz | |
2022-10-02 | syscall/open: add the full suite of READ/WRITE flags | dzwdz | |
2022-09-21 | user/lib: ufs_wait | dzwdz | |
2022-09-21 | user/login: stop using c0_fs_*, use forward_open | dzwdz | |
2022-09-20 | shared: rename ufs_request to better fit its role in userland | dzwdz | |
The old name could have suggested that it held a response to a request received by fs_wait. The new name is unfortunately very similar to the `struct vfs_request` already used internally in the kernel, but it's better at conveying that it contains a filesystem request yet to be handled. vfs_request - virtual filesystem request (a bad name in hindsight) ufs_request - user filesystem request | |||
2022-09-20 | user: s/fs_delegate/forward_open | dzwdz | |