Age | Commit message (Collapse) | Author | |
---|---|---|---|
2023-06-17 | kernel: fix procfs overflow bug, add safeguard to prevent similar ones | dzwdz | |
2023-06-11 | kernel: replace await with wait2, roughly compatible with POSIX | dzwdz | |
dash works now :^))) | |||
2023-06-10 | kernel: implement DUP_SEARCH (like unix's F_DUPFD) | dzwdz | |
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 | build: don't -Isrc/ in user code | dzwdz | |
2023-02-23 | fix: misc 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 | 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 | kernel/proc: don't kill children when parent dies | 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 | amd64/ata: poll properly | dzwdz | |
2022-12-26 | amd64/ata: write support | dzwdz | |
2022-12-26 | amd64/ata: refactor the ATA driver | dzwdz | |
2022-10-08 | kernel/handle: reuse ->writeable/->readable for pipes | dzwdz | |
2022-10-08 | syscall/open: don't check for free handles | dzwdz | |
doesn't really prevent anything, and makes it harder to test edge cases | |||
2022-10-08 | tests: some tests for when a process has no free handles | dzwdz | |
2022-10-02 | syscall/open: add the full suite of READ/WRITE flags | 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/login: segcmp | dzwdz | |
2022-09-03 | driver/ps2,serial: handle all pending reads at the same time | dzwdz | |
2022-09-02 | kernel/proc: introduce child ids for telling children apart | dzwdz | |
2022-09-01 | kernel: add a debug print for the amount of used memory | dzwdz | |
2022-08-30 | set up the stack in user/bootstrap instead of the kernel | dzwdz | |
2022-08-28 | kernel/amd64: SSE support | dzwdz | |
2022-08-28 | kernel/driver: add postqueue_join / postqueue_pop | dzwdz | |
2022-08-28 | kernel/driver: clean up ps2, add the reqpathcmp() macro | dzwdz | |
2022-08-28 | kernel/vfs: minor vfs_request / vfs_root_register rework | dzwdz | |
* changed vfs_root_register's name because the _mount didn't add anything * removed the old pointless vfs_backend_tryaccept calls from drivers * because of that, i could remove the vfs_backend globals * replaced the horrible BACKEND_KERN macro * all vfs_backends are now stored on the heap | |||
2022-08-28 | shared/path_simplify: return an unsigned value | dzwdz | |
2022-08-23 | shared/ring: rename ring_size to ring_used, add ring_avail | dzwdz | |
2022-08-22 | syscalls/fs_respond: make the *buf argument const | dzwdz | |
2022-08-21 | amd64/rtl8139: fix incorrect ring buffer wrapping reads | dzwdz | |
I was reading from the buffer as if the WRAP flag was enabled, but it actually isn't supported with a 64K buffer. Besides, if it worked correctly, then the code for updating the ring position would land in the wrong place, because it didn't take WARP into account. |