summaryrefslogtreecommitdiff
path: root/src/init/main.c
AgeCommit message (Collapse)Author
2022-05-01init/libc: libc_file wrapper over the raw syscallsdzwdz
2022-04-28init: run shells from a child process to expose bug in process_free()dzwdz
2022-04-21kernel: recursive kill()dzwdz
2022-04-14init/fs: fix `fs_dir_inject`dzwdz
the loop wasn't bounder, so was copying garbage - including multiple null bytes also, the trailing slash was appended even if the injected path didn't have one
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-10kernel/i386: rewrite the serial driver to wait for IRQdzwdz
proper multiprocess support!
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-07kernel: remove the `/tty` devicedzwdz
2022-03-31init: primitive ps2 driverdzwdz
2022-03-31init: move ansiterm to `driver/`dzwdz
2022-03-27init: userland tty emulator ; also workaround a fork() bugdzwdz
2022-03-27kernel/vfs: `/vga` nodedzwdz
2021-11-26init/fs: add the MOUNT macrodzwdz
2021-11-26init/fs: implement directory injectiondzwdz
2021-11-17init/fs: add "prefix" support to fs_passthrough / proper bind mounts!dzwdz
2021-11-16init: implement fork2_n_mountdzwdz
2021-11-16init: implement a halfassed passthrough fsdzwdz
2021-11-02fork2() refactor: implement fs_fork2()dzwdz
2021-11-02fork2 refactor: every process now has (only) a single controlled vfs_backenddzwdz
2021-10-15init: only run tests when prompted from the shelldzwdz
2021-10-15init: move the tests to their own directorydzwdz
2021-10-13init: kill the test_await process after the test finishesdzwdz
2021-10-13init: run all "tests" in separate processesdzwdz
2021-10-10init: move __tty_fd to the stdlib, add the underscores to its namedzwdz
2021-10-10init: add a missing #includedzwdz
2021-10-10init/shell: basic readline()dzwdz
2021-10-06init: use printf for outputdzwdz
2021-10-06init printf: implement %xdzwdz
2021-10-06init printf: implement %sdzwdz
2021-10-06init: printf basedzwdz
2021-10-05kill the process that caused an exception instead of panickingdzwdz
2021-10-04remove support for processes returning strings on exitdzwdz
This isn't really all that useful, it doesn't enable anything that wasn't possible before. With it removed I'll be able to implement process_exit() in a much simpler way.
2021-10-02implement serial/tty inputdzwdz
2021-09-23_syscall_mount(): ignore trailing slash in mount pathdzwdz
2021-09-21make await() fail gracefully when callee has no alive children alreadydzwdz
2021-09-21`init`: add a test for await()dzwdz
2021-09-20add an offset parameter to read() and write()dzwdz
2021-09-20remove some unused variablesdzwdz
2021-09-18implement NULL mountsdzwdz
2021-09-18`init`: implement a working tar driverdzwdz
2021-09-18merge `kernel/types.h` and `init/types.h`dzwdz
2021-09-18`init`: start work on the tar driverdzwdz
2021-09-16scaffolding for the initrd: init can read files appended to itdzwdz
currently this is just a text file, but it will be a tar archive later on
2021-09-16implement output from vfs callsdzwdz
2021-09-16fs_read stub, basic implementation in userlanddzwdz
2021-09-15fs_wait: pass the file ID toodzwdz
2021-09-12simplify `fs_respond`'s signaturedzwdz