Age | Commit message (Collapse) | Author | |
---|---|---|---|
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 | remove redundant compiler flag | dzwdz | |
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-24 | add a todo list for misc tasks | 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-17 | draft some of the spec for the new filesystem idea | dzwdz | |
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 | hide the QEMU window, since serial made it mostly useless | 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 | silence the QEMU debug output | dzwdz | |
i'm using bochs for debugging now anyways, and this will be useful for serial output | |||
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-08 | Merge branch 'main' of github.com:dzwdz/camellia | dzwdz | |
2021-08-07 | build all parts of the toolchain to the same $PREFIX | dzwdz | |
If gcc is built with a different $PREFIX than binutils, it won't even attempt using them - it will use the system assembler instead, which fails for obvious reasons. | |||
2021-08-06 | a (seemingly broken) gcc build script | dzwdz | |
It compiles, but the resulting gcc binary doesn't actually work. Maybe it's too new for the binutils? | |||
2021-08-06 | quit the binutils build script if an error occurs | dzwdz | |
2021-08-05 | add a script which builds i686-elf-binutils | dzwdz | |