Age | Commit message (Collapse) | Author | |
---|---|---|---|
2023-08-14 | reorganization: first steps | 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 | 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-04 | user/vterm: vendor a font (spleen) instead of downloading one on build | dzwdz | |
2023-02-23 | build: don't -Isrc/ in user code | 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-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 | |
2022-12-27 | user/termcook: ignore arrows/tab | dzwdz | |
2022-12-27 | sh: minor usability / aesthetic improvements | dzwdz | |
2022-12-25 | user/lib: reorganize a few header files | dzwdz | |
2022-11-21 | user/init: sandbox drivers | dzwdz | |
2022-10-19 | shared/printf: implement %p | 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-02 | user/init: don't shutdown when a fs driver quits | dzwdz | |
2022-09-02 | kernel/proc: introduce child ids for telling children apart | dzwdz | |
2022-08-29 | user/termcook: make C-c kill the running process | dzwdz | |
2022-08-28 | user/lua: prepare libc headers | dzwdz | |
2022-08-27 | user/netstack: IP gateway, make networking work without a second vm | dzwdz | |
2022-08-26 | user/ports: port oed | dzwdz | |
make clean; ./port ed clean; make -j4 out/libc.a && ./port ed install && make -j4 | |||
2022-08-24 | user/netstack: take ip as argument when mounting | dzwdz | |
2022-08-23 | shared/ring: rename ring_size to ring_used, add ring_avail | dzwdz | |
2022-08-21 | user: rename ethdump to netstack | dzwdz | |
2022-08-20 | user/ethdump: turn into a file server | dzwdz | |
2022-08-19 | syscall/fs_wait: return a handle for each request | dzwdz | |
2022-08-14 | user/libc: ctype.h | dzwdz | |
2022-08-13 | user: a primitive login utility | dzwdz | |
2022-08-13 | user/init: restart the shell processes | dzwdz | |
2022-08-13 | user: add /initctl for shutting the system down in a cleaner way | dzwdz | |
2022-08-13 | user: plan9-style /bin/ union | dzwdz | |
2022-08-08 | user: union filesystems | dzwdz | |
2022-08-08 | user: separate tmpfs into its own executable, add `mount` | dzwdz | |
2022-08-07 | driver/ps2: prepare for mouse support | dzwdz | |
2022-08-07 | user/tmpfs: expand files on the fly | dzwdz | |
2022-08-05 | add _syscall_getsize | dzwdz | |
2022-08-04 | do some simple TODOs, organize the rest; general code maintainance | dzwdz | |
2022-08-02 | user: separate ansiterm/vterm out into its own binary | dzwdz | |
2022-08-02 | user/ansiterm: only write() the part of the framebuffer that changed | dzwdz | |
2022-08-01 | fix some sign comparision warnings | dzwdz | |
2022-08-01 | user: make ansiterm use the framebuffer instead of vga text mode | dzwdz | |
2022-07-31 | user: replace the MOUNT macro with MOUNT_AT | dzwdz | |
The old style could be confused with a regular function, where the driver would be executed unconditionally. This should make it more obvious that the driver doesn't get executed in the parent process. | |||
2022-07-30 | user/fs: create a shared library for handling directory reads | dzwdz | |
2022-07-30 | user: stderr | dzwdz | |