summaryrefslogtreecommitdiff
path: root/src/init/syscalls.c
AgeCommit message (Collapse)Author
2022-06-30syscall_wrappers: generate casts so the compiler doesn't complaindzwdz
2022-06-29kernel/vfs: add the OPEN_CREATE flagdzwdz
2022-05-26syscalls/memflag: FINDFREE flagdzwdz
2022-05-06syscalls: merge fork() and fs_fork2()dzwdz
2022-05-02meta: write a script to generate `src/init/syscalls.c`dzwdz
2022-05-02syscalls: fork() noreap flagdzwdz
2022-04-12kernel: make all sizes unsigned, sort out the sign messdzwdz
2022-03-27shared/syscalls: change some pointer types to void*dzwdz
2021-11-02fork2() refactor: implement fs_fork2()dzwdz
2021-11-02fork2 refactor: every process now has (only) a single controlled vfs_backenddzwdz
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-09-20add an offset parameter to read() and write()dzwdz
2021-09-20use a single struct for all fs_wait return valuesdzwdz
2021-09-18merge `kernel/types.h` and `init/types.h`dzwdz
2021-09-15fs_wait: pass the file ID toodzwdz
2021-09-14merge the `syscall_handler` and `_syscall` declarationsdzwdz
i think that making the call a bit more "transparent" makes the code nicer
2021-09-14add support for 4-parameter syscallsdzwdz
2021-09-12simplify `fs_respond`'s signaturedzwdz
2021-09-12implement part of `fs_respond`dzwdz
2021-09-12barebones `memflag()` implementation - letting the user allocate pagesdzwdz
2021-09-12implement most of fs_waitdzwdz
awaited_req is a garbage name but i couldn't come up with a better one. i also have no idea how to handle all the failure states
2021-09-11replace `user_ptr` with a linux-style `__user` annotationdzwdz
2021-09-09basic _syscall_fs_wait() impl, doesn't pass the req yetdzwdz
2021-09-07implement fs_create(), front/back fs handlesdzwdz
2021-09-05remove the fd_ / fs_ prefixes from syscall namesdzwdz
2021-09-04rename file descriptors to handlesdzwdz
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-24add some scaffolding for file descriptorsdzwdz
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-22fix typo in _syscall_await definitiondzwdz
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-07-31change the syscall naming convention; same one in kernel and userlanddzwdz