Age | Commit message (Collapse) | Author | |
---|---|---|---|
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/libc: fix fgets not storing the newline | dzwdz | |
also removed an old TODO | |||
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-18 | libc: experimental fread buffering support | dzwdz | |
makes find(1) run 3x faster | |||
2023-06-17 | libc: implement dirent.h | dzwdz | |
2023-06-17 | kernel: fix procfs overflow bug, add safeguard to prevent similar ones | dzwdz | |
2023-06-17 | libc: dumb stat() stubs to make dash's PATH search work | 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 | user: fix floating point operations | dzwdz | |
2023-06-10 | libc: last stubs needed for dash to run! :^) | dzwdz | |
2023-06-10 | kernel: implement DUP_SEARCH (like unix's F_DUPFD) | dzwdz | |
2023-06-10 | libc: basic signal stubs, non-spec-compliant write() stub | dzwdz | |
2023-06-10 | kernel: implement getpid, getppid | dzwdz | |
2023-06-09 | ports/dash: stub out everything needed for dash to compile | dzwdz | |
2023-06-08 | libc: move the strto* functions to stdlib.h, where they "belong" | dzwdz | |
2023-06-08 | user/vterm: support displaying tabs | dzwdz | |
2023-06-08 | libc/exec: don't leak file descriptors | 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-06-02 | libc: stub out sltar's requirements | dzwdz | |
2023-02-25 | user/ext2fs: don't treat EOF as an error | dzwdz | |
2023-02-25 | toolchain: working customized toolchain for userland bins | 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-02-23 | toolchain: update, move to a Camellia-specific toolchain | dzwdz | |
2023-02-22 | kernel/malloc: fill allocated and freed regions with junk | dzwdz | |
2023-01-25 | clean up the repo root | dzwdz | |
2023-01-25 | kernel: move /mem/alloc to /malloc and linker.ld to arch/amd64/ | dzwdz | |
2023-01-25 | kernel/driver: consolidate most header files into driver.h | dzwdz | |
2023-01-25 | kernel/irq: use a lookup table for irqs | dzwdz | |
2023-01-25 | kernel: consolidate some header files | dzwdz | |
2023-01-25 | kernel: remove accidental executable bit on proc.c | dzwdz | |
how. | |||
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: prevent reading kernel memory | dzwdz | |
knew it | |||
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-24 | kernel/procfs: allow interrupting processes | dzwdz | |
2023-01-24 | kern/driver/ps2: remove unused function | dzwdz | |
2023-01-19 | kernel: user interrupts | dzwdz | |
2023-01-19 | kernel: delay freeing reaped processes, slightly more strict states | dzwdz | |
2023-01-18 | kernel: add a root argument to process_next | 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 | |