summaryrefslogtreecommitdiff
path: root/src/kernel
AgeCommit message (Collapse)Author
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-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
2023-01-08kernel: let parents kill their children againdzwdz
2023-01-08kernel/proc: don't kill children when parent diesdzwdz
2023-01-06kernel: basic procfsdzwdz
2023-01-06kernel: turn the NULLFS into an always present special handledzwdz
preparing for HANDLE_PROCFS
2022-12-27amd64/ata: poll properlydzwdz
2022-12-26amd64/ata: write supportdzwdz
2022-12-26amd64/ata: refactor the ATA driverdzwdz
2022-10-08kernel/handle: reuse ->writeable/->readable for pipesdzwdz
2022-10-08syscall/open: don't check for free handlesdzwdz
doesn't really prevent anything, and makes it harder to test edge cases
2022-10-08tests: some tests for when a process has no free handlesdzwdz
2022-10-02syscall/open: add the full suite of READ/WRITE flagsdzwdz
2022-09-20shared: rename ufs_request to better fit its role in userlanddzwdz
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-20user/login: segcmpdzwdz
2022-09-03driver/ps2,serial: handle all pending reads at the same timedzwdz
2022-09-02kernel/proc: introduce child ids for telling children apartdzwdz
2022-09-01kernel: add a debug print for the amount of used memorydzwdz
2022-08-30set up the stack in user/bootstrap instead of the kerneldzwdz
2022-08-28kernel/amd64: SSE supportdzwdz
2022-08-28kernel/driver: add postqueue_join / postqueue_popdzwdz
2022-08-28kernel/driver: clean up ps2, add the reqpathcmp() macrodzwdz
2022-08-28kernel/vfs: minor vfs_request / vfs_root_register reworkdzwdz
* 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-28shared/path_simplify: return an unsigned valuedzwdz
2022-08-23shared/ring: rename ring_size to ring_used, add ring_availdzwdz
2022-08-22syscalls/fs_respond: make the *buf argument constdzwdz
2022-08-21amd64/rtl8139: fix incorrect ring buffer wrapping readsdzwdz
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.
2022-08-21user/ethdump: IPv4 fragment reassemblydzwdz
2022-08-19syscall/fs_wait: return a handle for each requestdzwdz
2022-08-19syscall/fork: allow sharing handles between threadsdzwdz
2022-08-19kernel: kzallocdzwdz
2022-08-19kernel/proc: abstract away managing handlesdzwdz
2022-08-18syscall/fork: FORK_SHAREMEM for primitive "threads"dzwdz
2022-08-17amd64/rtl8139: don't trust the card to have packets available on irqdzwdz
2022-08-17user/net: respond to pingsdzwdz
2022-08-17user/net: answer to ARPdzwdz
2022-08-17amd64/rtl8139: txdzwdz
2022-08-17amd64/rtl8139: expose CRC when reading packetsdzwdz
2022-08-17amd64: rtl8139 driver with basic rx supportdzwdz
2022-08-15kernel: combine kmain_early and kmaindzwdz