Age | Commit message (Collapse) | Author | |
---|---|---|---|
2021-09-04 | rename file descriptors to handles | dzwdz | |
2021-08-27 | make vfs_mount_resolve pass all the tests | dzwdz | |
2021-08-27 | basic vfs_mount_resolve tests | dzwdz | |
2021-08-26 | separate mount resolving into vfs_mount_resolve | dzwdz | |
2021-08-25 | reorganise init/main.c, add some "tests" | dzwdz | |
2021-08-25 | remove FD_STDOUT | dzwdz | |
init can just open `/tty` instead | |||
2021-08-25 | implement open() for FD_SPECIAL_TTY (`/tty`) | dzwdz | |
2021-08-25 | implement vfs_mount_seed, which creates the vfs passed to init | dzwdz | |
2021-08-25 | implement FDOP_MOUNT | dzwdz | |
2021-08-25 | use a tagged union for the fdop args | dzwdz | |
2021-08-25 | change the signature of _syscall_fd_mount | dzwdz | |
2021-08-24 | switch to using user_ptr for pointers coming from userland | dzwdz | |
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-24 | replace () with (void) in function definitions | dzwdz | |
`()` means that any amt of arguments will be accepted, which isn't what i want | |||
2021-08-24 | move syscalls.h to shared/syscalls.h | dzwdz | |
2021-08-24 | remove _syscall_debug_log, as it's not needed anymore | dzwdz | |
2021-08-24 | implement FD_SPECIAL_TTY, an stdout equalivent | dzwdz | |
2021-08-24 | fdop_dispatch: pass the fd struct instead of index | dzwdz | |
2021-08-24 | add some scaffolding for file descriptors | dzwdz | |
2021-08-22 | virt_iter: count bytes that were already iterated over | dzwdz | |
2021-08-22 | fs_open() accepts a signed length, fixes an infinite loop | dzwdz | |
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-22 | basic mount resolving | dzwdz | |
2021-08-22 | fs_open() stub | dzwdz | |
2021-08-22 | process_switch_any: deduplicate some code | dzwdz | |
2021-08-22 | fix almost all compiler warnings | dzwdz | |
2021-08-22 | fix typo in _syscall_await definition | dzwdz | |
2021-08-22 | kernel: implement assert | dzwdz | |
2021-08-22 | await() 2: pass the exit message | dzwdz | |
2021-08-18 | await() 1: wait for child to die, without message passing | dzwdz | |
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_var | dzwdz | |
well i guess it compiles now | |||
2021-08-18 | processes now store a PID for debugging purposes | dzwdz | |
2021-08-18 | fork(): store information about the parent too | dzwdz | |
2021-08-18 | fork() now has a return value; you can tell the child and parent apart | dzwdz | |
2021-08-18 | rename process_clone to process_fork | dzwdz | |
2021-08-18 | store the processes as a tree instead of a list | dzwdz | |
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-14 | init: add multipageify(), so i can test virt_iter in an simpler way | dzwdz | |
2021-08-12 | init: preserve registers in _syscall() | dzwdz | |
2021-08-11 | abstract out iterating over virtual memory | dzwdz | |
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... | |||
2021-08-11 | read _syscall_debuglog arguments across page boundaries | dzwdz | |
2021-08-10 | fix typo referring to unexistent function | dzwdz | |
2021-08-10 | statically assert that the pointer size == 4 bytes | dzwdz | |
2021-08-09 | move the x86 port io code to a separate file | dzwdz | |
2021-08-09 | print the boot heart on both VGA and serial | dzwdz | |
2021-08-09 | vga tty: vga_putchar is now static | dzwdz | |
2021-08-09 | implement serial output | dzwdz | |
2021-08-09 | rename `log_` to `tty_`, `tty_` to `vga_` | dzwdz | |
2021-08-09 | move all the tty stuff to a tty directory | dzwdz | |
2021-08-09 | a sloppy implementation of path_simplify() | dzwdz | |
it's kinda bad. it passes the tests, though... | |||
2021-08-08 | path_simplify now returns int, has better tests | dzwdz | |
2021-08-04 | partial path_simplify implementation | dzwdz | |
it currently only checks if the path is valid, it's the bare minimum needed to write tests | |||
2021-08-04 | rename TEST_IF to TEST_COND | dzwdz | |
i'll be adding a TEST_STR macro soon, so TEST_COND makes more sense |