summaryrefslogtreecommitdiff
path: root/src/kernel/vfs
AgeCommit message (Collapse)Author
2022-07-07kernel/vfs: delegate support in _syscall_fs_respond!dzwdz
this is big in terms of speed, it avoids a lot of unnecessary context switches
2022-06-29kernel/vfs: add the OPEN_CREATE flagdzwdz
2022-05-06kernel: remove the union in `struct handle`dzwdz
2022-05-06kernel/proc: reorganize the functionsdzwdz
2022-05-05kernel: move fsroot to kernel/arch/i386dzwdz
2022-05-05kernel: each driver registers its own mountsdzwdz
2022-05-05kernel: syscalls now have to explicitly save the return valuedzwdz
thus they can opt out of doing that so the calls which might return immediately but can return later don't have to both regs_savereturn and return to the caller. and because of that, the return values of a lot of VFS things have just got way saner
2022-05-05kernel/proc: remove WAITS4IRQdzwdz
2022-05-05kernel: move the COM1 driver to a separate handlerdzwdz
2022-05-05kernel: ps2 driver is now a separate backenddzwdz
2022-05-05kernel/vfs: refactor vfs_backend to allow multiple kernel backendsdzwdz
2022-05-05kernel/vfs: rename the vfsreq funcs, merge vfsreq_finish & vfsreq_canceldzwdz
2022-05-05kernel/vfs_root: fix nullptr dereferencedzwdz
2022-05-04kernel/proc: leave the vfs_request when killing a WAITS4FS procdzwdz
...instead of letting the hwole process stay around. This could end up a bit more complex, I have no idea how to test killing processes during vfs requests. The upside of this is that I can remove all the deathbed/deadparent weirdness now.
2022-05-04kernel: refcount vfs_backenddzwdz
what a mess
2022-05-03kernel: reference count mount objects, free them on process killsdzwdz
2022-05-02kernel/vfs: always separately allocate the request objectdzwdz
2022-05-02kernel/vfs: pass `close()` calls to fs handlersdzwdz
2022-05-01kernel/proc: make handles separate refcounted objectsdzwdz
2022-04-21kernel: recursive kill()dzwdz
2022-04-16kernel/vfs: store the queue in `vfs_request` itselfdzwdz
2022-04-16kernel/vfs: refactor `vfs_request_accept` into `vfs_backend_accept`dzwdz
handling the backend queue makes more sense here than in the syscall implementation. it's also just overall cleaner
2022-04-16kernel/vfs: be more strict about the state of `vfs_backend.handler`dzwdz
2022-04-15kernel/vfs: don't hang on orphaned vfs callsdzwdz
2022-04-14kernel/proc: only change state through `process_transition`dzwdz
2022-04-14kernel: store a pointer to the callback function in .waits4irqdzwdz
removes `proc.c`'s pointless dependency on `vfs/root.h`
2022-04-14kernel/root: don't panic on writes to `/ps2`dzwdz
2022-04-14kernel: port init's `printf` implementationdzwdz
2022-04-14kernel: slightly clean up `vfs/request.c`dzwdz
2022-04-12kernel: make all sizes unsigned, sort out the sign messdzwdz
2022-04-11kernel/rootvfs: don't overread from ps2/serialdzwdz
2022-04-10kernel/i386: rewrite the serial driver to wait for IRQdzwdz
proper multiprocess support!
2022-04-10kernel: idle processdzwdz
2022-04-09kernel/vfs: prevent the vfs functions from switching processesdzwdz
2022-04-09kernel: `vfs_request_accept` now doesn't switch processesdzwdz
2022-04-07kernel/vfs: fix panic when using an user fs which hadn't yet wait()eddzwdz
2022-04-07kernel/vfs: implement a vfs request queuedzwdz
2022-04-07kernel: remove the `/tty` devicedzwdz
2022-04-07kernel: add a /com1 devicedzwdz
2022-03-30kernel: remove the keyboard driver, add a `/ps2` devicedzwdz
2022-03-27kernel/vfs: partial ATA drive supportdzwdz
2022-03-27kernel/vfs: `/vga` nodedzwdz
2021-11-20kernel: fs_wait returns a success val; the op type is put in the structdzwdz
2021-11-16kernel/vfs: add a capacity field to fs_wait_responsedzwdz
2021-11-14kernel/vfs: slightly tidy up the root driverdzwdz
2021-11-14shared: use a single implementation of mem* functions everywheredzwdz
2021-11-14kernel/vfs: allow reading the root directorydzwdz
2021-11-03kernel/vfs: tidy up path_simplify, fix a bug and add regression testsdzwdz
the bug related to paths ending with /.. and not resolving to /
2021-10-03vfs_root_handler: correct the panic type to invalid statedzwdz
all the switch cases are already implemented, so that panic can only occur due to invalid state
2021-10-02implement serial/tty inputdzwdz