summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2021-09-07implement fs_create(), front/back fs handlesdzwdz
2021-09-05error out when <*/types.h> isn't included in headers which need itdzwdz
2021-09-05fix some warningsdzwdz
2021-09-05rename virt_user_cpy to virt_cpy, since it's no longer limited to virtual memorydzwdz
2021-09-05make virt_iter support iterating over physical memory toodzwdz
2021-09-05move most of the memory stuff to kernel/mem/dzwdz
2021-09-05remove the fd_ / fs_ prefixes from syscall namesdzwdz
2021-09-05remove unused variabledzwdz
2021-09-05don't allow calling open() if there are no empty handles leftdzwdz
2021-09-05root vfs: implement writing to /ttydzwdz
2021-09-04new vfs impl pt. 1: implement open()dzwdz
2021-09-04refactor finding empty handles to a functiondzwdz
2021-09-04nuke the old handle codedzwdz
2021-09-04rename file descriptors to handlesdzwdz
2021-08-27make vfs_mount_resolve pass all the testsdzwdz
2021-08-27basic vfs_mount_resolve testsdzwdz
2021-08-26separate mount resolving into vfs_mount_resolvedzwdz
2021-08-25reorganise init/main.c, add some "tests"dzwdz
2021-08-25remove FD_STDOUTdzwdz
init can just open `/tty` instead
2021-08-25implement open() for FD_SPECIAL_TTY (`/tty`)dzwdz
2021-08-25implement vfs_mount_seed, which creates the vfs passed to initdzwdz
2021-08-25implement FDOP_MOUNTdzwdz
2021-08-25use a tagged union for the fdop argsdzwdz
2021-08-25change the signature of _syscall_fd_mountdzwdz
2021-08-24switch to using user_ptr for pointers coming from userlanddzwdz
this avoid accidental dereferences, and now it's easy to tell apart which pointers are safe to directly read and which aren't. cons: - const is completely discarded
2021-08-24replace () with (void) in function definitionsdzwdz
`()` means that any amt of arguments will be accepted, which isn't what i want
2021-08-24move syscalls.h to shared/syscalls.hdzwdz
2021-08-24remove _syscall_debug_log, as it's not needed anymoredzwdz
2021-08-24implement FD_SPECIAL_TTY, an stdout equaliventdzwdz
2021-08-24fdop_dispatch: pass the fd struct instead of indexdzwdz
2021-08-24add some scaffolding for file descriptorsdzwdz
2021-08-22virt_iter: count bytes that were already iterated overdzwdz
2021-08-22fs_open() accepts a signed length, fixes an infinite loopdzwdz
it occureed if the path_simplify returned a negative value - instead of being interpreter as an error it just carried on, ending up in an infinite loop.
2021-08-22basic mount resolvingdzwdz
2021-08-22fs_open() stubdzwdz
2021-08-22process_switch_any: deduplicate some codedzwdz
2021-08-22fix almost all compiler warningsdzwdz
2021-08-22fix typo in _syscall_await definitiondzwdz
2021-08-22kernel: implement assertdzwdz
2021-08-22await() 2: pass the exit messagedzwdz
2021-08-18await() 1: wait for child to die, without message passingdzwdz
The length is a int, because the syscall will have a signed output. A negative return value will mean an error (such as when it gets called by a childless process).
2021-08-18"fix" _tty_hex and _tty_vardzwdz
well i guess it compiles now
2021-08-18processes now store a PID for debugging purposesdzwdz
2021-08-18fork(): store information about the parent toodzwdz
2021-08-18fork() now has a return value; you can tell the child and parent apartdzwdz
2021-08-18rename process_clone to process_forkdzwdz
2021-08-18store the processes as a tree instead of a listdzwdz
I'm about to need that for waits(). There's no single list of processes for simplicity's sake, but the search will now be even slower and it might even introduce a potential vuln! How fun! Someone could override stuff in .bss with random values. I'll either make gcc check if it hasn't gone past the end of the stack, or turn this into a non recursive function.
2021-08-14init: add multipageify(), so i can test virt_iter in an simpler waydzwdz
2021-08-12init: preserve registers in _syscall()dzwdz
2021-08-11abstract out iterating over virtual memorydzwdz
most syscalls will have to do this to copy memory around or whatever. it's pretty ugly too, but i can't come up with a better abstraction...