Age | Commit message (Collapse) | Author | |
---|---|---|---|
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 | |
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 | |||
2021-08-03 | remove the dummy kernel test | dzwdz | |
what's the point, we have real tests now | |||
2021-08-03 | fix inconsistent semicolons | dzwdz | |
2021-08-03 | kernel: implement static_strcmp() | dzwdz | |
will be used to test functions operating on strings | |||
2021-08-03 | kernel: implement memcmp | dzwdz | |
2021-08-03 | a bad testing framework | dzwdz | |
2021-08-03 | put the NUM2STR macro in util.h | dzwdz | |
i'll use it outside of panic.h | |||
2021-07-31 | fix formatting in github's viewer thingy | dzwdz | |
2021-07-31 | draft out a simple overview of the VFS | dzwdz | |
i'm a terrible writer | |||
2021-07-31 | try documenting the syscalls (and fail badly) | dzwdz | |
2021-07-31 | change the syscall naming convention; same one in kernel and userland | dzwdz | |
2021-07-31 | kmalloc() and kfree() stubs | dzwdz | |
2021-07-26 | rename process_new() to process_seed() | dzwdz | |
it's only meant to create the root process, the old name could've been misleading | |||
2021-07-26 | exit() now switches to the first running process | dzwdz | |
i used a linked list because it's the simplest way to implement this | |||
2021-07-26 | fork() pt 1: cloning process memory | dzwdz | |
2021-07-26 | mark sc_exit() as noreturn | dzwdz | |
gets rid of the double panic() call | |||
2021-07-25 | print a heart on boot | dzwdz | |
2021-07-24 | fix some warnings | dzwdz | |