Age | Commit message (Collapse) | Author | |
---|---|---|---|
2023-08-14 | reorganization: first steps | dzwdz | |
2023-08-13 | libc: replace fork2_n_mount with mount_at | 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-06-10 | kernel: implement getpid, getppid | 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-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-19 | kernel: user interrupts | 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-27 | sh: minor usability / aesthetic improvements | dzwdz | |
2022-12-25 | user/lib: reorganize a few header files | 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-04 | user/shell: use perror | dzwdz | |
2022-09-03 | user/whitelist: when a command isn't given, default to a shell | dzwdz | |
2022-09-03 | user: implement a basic mkdir | dzwdz | |
2022-08-28 | user/libc: unlink() | dzwdz | |
2022-08-20 | user/ethdump: turn into a file server | dzwdz | |
2022-08-19 | user/libc: fextflags, add nonbuffering mode for fread | dzwdz | |
useful for e.g. `hexdump -r /kdev/eth` to see packets as they come in | |||
2022-08-14 | user/hexdump: cli arguments, large file support, collapsing | dzwdz | |
2022-08-14 | user/libc: ctype.h | dzwdz | |
2022-08-11 | shared/header: don't mix kinds of declarations between headers | dzwdz | |
syscalls.h shouldn't define a random struct etc | |||
2022-08-11 | vfs: support for removing files | dzwdz | |
2022-08-08 | user/libc: cwd | dzwdz | |
2022-08-08 | user: union filesystems | dzwdz | |
2022-08-08 | user: separate tmpfs into its own executable, add `mount` | dzwdz | |
2022-08-07 | user/shell: make `whitelist` work in a more sensible way | dzwdz | |
doesn't need to be a shell builtin now | |||
2022-08-07 | user/shell: make `>>` work for executables | dzwdz | |
2022-08-05 | add _syscall_getsize | dzwdz | |
2022-08-04 | do some simple TODOs, organize the rest; general code maintainance | dzwdz | |
2022-08-04 | syscalls: add _syscall_sleep() | dzwdz | |
2022-08-03 | user/shell: make the builtins handle multiple args; misc fixes | dzwdz | |
2022-08-03 | user/libc: "!files" | dzwdz | |
similar to /dev/{stdin,stdout,stderr} on Linux, except handled by the libc instead of the kernel because that's the simplest way | |||
2022-08-03 | user/libc: isspace, strtol | dzwdz | |
2022-08-03 | shared: clean up printf, %u support (amongst other things) | dzwdz | |
2022-08-01 | user/shell: add a `time` builtin | dzwdz | |
2022-08-01 | user/shell: add a whitelist builtin | dzwdz | |
2022-07-31 | user/shell: use an array of function pointers for the builtins | dzwdz | |
2022-07-30 | user: stderr | dzwdz | |
2022-07-28 | user/shell: redirections | dzwdz | |
2022-07-27 | user/libc: a shitty fgets() | dzwdz | |
2022-07-27 | user/shell: basic shell script support | dzwdz | |
2022-07-27 | user/shell: fix echo | dzwdz | |
2022-07-27 | user/shell: actual parsing, multiple argument support | dzwdz | |
2022-07-27 | user/libc: execve() supports passing argv now | dzwdz | |
2022-07-27 | user: cleanup init and the shell's code | dzwdz | |
2022-07-26 | user: break out the shell and tests into separate binaries | dzwdz | |