summaryrefslogtreecommitdiff
path: root/src/init
AgeCommit message (Collapse)Author
2022-04-11kernel: shutdown when init quitsdzwdz
thanks to this it's easier to power off - instead of waiting for all processses to quit (which now involves writing `quit` both on serial and ps/2), one of those can just somehow kill init. currently this is just done by exiting from any shell - init will return from await and exit too
2022-04-10init/stdlib: don't make printf() assume that stdout is fd 0dzwdz
2022-04-10kernel/i386: rewrite the serial driver to wait for IRQdzwdz
proper multiprocess support!
2022-04-10init/fs: handle delegated reads in a subprocessdzwdz
first off: this is horrible. there's no CoW, so this is horribly slow. the sole purpose of this is to let the userland delegate handle multiple requests at once, because i'm implementing concurrent IO and I kinda need that. it's possible that handling of multiple requests could be handled in a better way - but this could be good enough once i implement CoW
2022-04-10kernel: idle processdzwdz
2022-04-09init: disable the vga shelldzwdz
i was disabling it while working anyways, i'll only turn it back on once there's support for multiple processes waiting for an irq
2022-04-07init: two concurrent shells - serial & vga/ps2dzwdz
2022-04-07kernel/vfs: fix panic when using an user fs which hadn't yet wait()eddzwdz
2022-04-07init/fs: add bad write support to fs_delegatedzwdz
2022-04-07kernel: remove the `/tty` devicedzwdz
2022-03-31init: primitive ps2 driverdzwdz
2022-03-31init: move ansiterm to `driver/`dzwdz
2022-03-27init/ansiterm: don't flush on each writedzwdz
2022-03-27init: userland tty emulator ; also workaround a fork() bugdzwdz
2022-03-27init/tar: fix some compiler warningsdzwdz
2022-03-27shared/syscalls: change some pointer types to void*dzwdz
2022-03-27init/shell: hexdumpdzwdz
2022-03-27kernel/vfs: partial ATA drive supportdzwdz
2022-03-27kernel/vfs: `/vga` nodedzwdz
2022-03-26init/fs: add a trailing slash to injected pathsdzwdz
2022-03-26init/shell: minor usability tweaks to `ls`dzwdz
2021-11-26init/fs: add the MOUNT macrodzwdz
2021-11-26init/fs: implement directory injectiondzwdz
2021-11-20init/fs: fix non-prefix fs_passthroughdzwdz
2021-11-20shared: fs_request_delegate stubdzwdz
my thoughts on this are already in that giant comment, go read it
2021-11-20kernel: fs_wait returns a success val; the op type is put in the structdzwdz
2021-11-17init/fs: add "prefix" support to fs_passthrough / proper bind mounts!dzwdz
2021-11-16init: implement fork2_n_mountdzwdz
2021-11-16init/fs: fix old style decldzwdz
2021-11-16init: implement a halfassed passthrough fsdzwdz
2021-11-14shared: move the str* implementations to shared/mem.cdzwdz
2021-11-14shared: use a single implementation of mem* functions everywheredzwdz
2021-11-09init/tar: reading directories only shows immediate childrendzwdz
2021-11-09init/shell: implement lsdzwdz
2021-11-09init/tar: add (bad) support for reading the root dirdzwdz
2021-11-07init/tar: read() directoriesdzwdz
2021-11-07init: add strcpy/memcpydzwdz
just copied straight over from the kernel's util.c
2021-11-07init/tar: refactor init_tar, add some very basic directory supportdzwdz
2021-11-07init/tar: check length of found filedzwdz
before this, you could open("/init/1") to open /init/1.txt
2021-11-04init/tests: ensure that tests exit successfullydzwdz
2021-11-04Merge branch 'main' into fork2dzwdz
2021-11-02fork2() refactor: implement fs_fork2()dzwdz
2021-11-02fork2 refactor: every process now has (only) a single controlled vfs_backenddzwdz
2021-10-21init/shell: add a `shadow` command for null mountsdzwdz
2021-10-21init/shell: add a `catall` cmd - works like the old fs testdzwdz
2021-10-21init/shell: fix crash when cat is ran without argumentsdzwdz
2021-10-15init/tests: write some actual tests - test_await and test_faultsdzwdz
2021-10-15init/tests: make the test(s) staticdzwdz
2021-10-15init/tests: remove test_fs, as it doesn't even test anythingdzwdz
2021-10-15init/tests: implement a run_forked wrapperdzwdz