summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-06-20build: remove the old "linter"dzwdz
It was a good idea, but it didn't even work. 0/10 Maybe I should replace it with semgrep someday. For the only current rule, I can split src/kernel/ into src/kernel/{amd64,generic}, and just don't have amd64 in generic's include path.
2023-06-18libc: experimental fread buffering supportdzwdz
makes find(1) run 3x faster
2023-06-17libc: implement dirent.hdzwdz
2023-06-17kernel: fix procfs overflow bug, add safeguard to prevent similar onesdzwdz
2023-06-17libc: dumb stat() stubs to make dash's PATH search workdzwdz
2023-06-17libc: expand psdata into a proper struct, include executable basedzwdz
this is very useful for debugging userland programs using the qemu gdb stub
2023-06-11kernel: replace await with wait2, roughly compatible with POSIXdzwdz
dash works now :^)))
2023-06-10user: fix floating point operationsdzwdz
2023-06-10libc: last stubs needed for dash to run! :^)dzwdz
2023-06-10kernel: implement DUP_SEARCH (like unix's F_DUPFD)dzwdz
2023-06-10libc: basic signal stubs, non-spec-compliant write() stubdzwdz
2023-06-10kernel: implement getpid, getppiddzwdz
2023-06-09ports/dash: stub out everything needed for dash to compiledzwdz
2023-06-08libc: move the strto* functions to stdlib.h, where they "belong"dzwdz
2023-06-08user/vterm: support displaying tabsdzwdz
2023-06-08libc/exec: don't leak file descriptorsdzwdz
2023-06-04user/vterm: vendor a font (spleen) instead of downloading one on builddzwdz
2023-06-04kernel: rework /proc/ and process IDsdzwdz
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-02libc: stub out sltar's requirementsdzwdz
2023-02-25merge the initrd and sysroot directoriesdzwdz
2023-02-25user/font: stop depending on the system kbd installdzwdz
2023-02-25user/ext2fs: don't treat EOF as an errordzwdz
2023-02-25ports: move to the new toolchaindzwdz
2023-02-25toolchain: working customized toolchain for userland binsdzwdz
2023-02-24toolchain: partially set up the sysrootdzwdz
2023-02-23build: don't -Isrc/ in user codedzwdz
2023-02-23ports/doom: update to the current camellia apidzwdz
2023-02-23fix: misc warningsdzwdz
2023-02-23fix: printf related warningsdzwdz
2023-02-23toolchain: update, move to a Camellia-specific toolchaindzwdz
2023-02-22kernel/malloc: fill allocated and freed regions with junkdzwdz
2023-02-19readme: remove stupid stuffdzwdz
2023-01-25clean up the repo rootdzwdz
2023-01-25remove the outdated docsdzwdz
2023-01-25kernel: move /mem/alloc to /malloc and linker.ld to arch/amd64/dzwdz
2023-01-25kernel/driver: consolidate most header files into driver.hdzwdz
2023-01-25kernel/irq: use a lookup table for irqsdzwdz
2023-01-25kernel: consolidate some header filesdzwdz
2023-01-25kernel: remove accidental executable bit on proc.cdzwdz
how.
2023-01-25style: typedef structs, shorter namespacesdzwdz
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-25user: process titles, /bin/psdzwdz
2023-01-25kernel/virt: replace the virt_cpy api with a more foolproof onedzwdz
2023-01-24kernel/procfs: prevent reading kernel memorydzwdz
knew it
2023-01-24kernel/procfs: allow reading memory of descendantsdzwdz
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-24kernel/procfs: allow interrupting processesdzwdz
2023-01-24kern/driver/ps2: remove unused functiondzwdz
2023-01-19kernel: user interruptsdzwdz
2023-01-19kernel: delay freeing reaped processes, slightly more strict statesdzwdz
2023-01-18kernel: add a root argument to process_nextdzwdz
2023-01-11kernel: return EPIPE when fs_waiting on a dead filesystemdzwdz