summaryrefslogtreecommitdiff
path: root/src/kernel
AgeCommit message (Collapse)Author
2022-03-27kernel/tty: poll only on IRQs, don't burn cyclesdzwdz
2022-03-27kernel/i386: implement the ps/2 keymap as an arraydzwdz
2022-03-27kernel/vfs: `/vga` nodedzwdz
2022-03-26kernel: IRQs; PS/2 keyboard supportdzwdz
2022-03-06kernel: print newlines after every boot stagedzwdz
IIRC i haven't done this because the vga driver doesn't support newlines - but it doesn't support a lot of other stuff used by the shell. This doesn't make the VGA output look any worse than it already did, and it makes the serial output nicer.
2022-03-06shared: add strcmp() testcases, fix invalid implementationdzwdz
2021-11-20kernel: fs_wait returns a success val; the op type is put in the structdzwdz
2021-11-16kernel/vfs: add a capacity field to fs_wait_responsedzwdz
2021-11-14kernel/vfs: slightly tidy up the root driverdzwdz
2021-11-14shared: use a single implementation of mem* functions everywheredzwdz
2021-11-14kernel/vfs: allow reading the root directorydzwdz
2021-11-04Merge branch 'main' into fork2dzwdz
2021-11-03kernel/vfs: tidy up path_simplify, fix a bug and add regression testsdzwdz
the bug related to paths ending with /.. and not resolving to /
2021-11-03kernel: implement virt_cpy2kmallocdzwdz
2021-11-02fork2() refactor: remove the unused back handle typedzwdz
2021-11-02fork2() refactor: implement fs_fork2()dzwdz
2021-11-02fork2 refactor: every process now has (only) a single controlled vfs_backenddzwdz
2021-10-15slightly clean up all the assembly codedzwdz
2021-10-15kernel: quit QEMU once there are no running processes leftdzwdz
2021-10-09Merge branch 'main' of github.com:dzwdz/camelliadzwdz
2021-10-08ATA: implement the IDENTIFY PACKET DEVICE commanddzwdz
2021-10-08remove return statements from void functiondzwdz
2021-10-08ata: proper drive type detection; soft reset; 400ns delay functiondzwdz
2021-10-07ATA: detect device typedzwdz
2021-10-07ATA: read identify data, detect drive sizedzwdz
2021-10-07kernel/i386: fix port_in16's return value sizedzwdz
2021-10-07kernel/i386: add 16bit port io functionsdzwdz
2021-10-07kernel/i386: rename the port io functions with their bit lengthdzwdz
2021-10-06kernel/i386: implement part of ATA IDENTIFYdzwdz
2021-10-05isr: simplify the exception handlerdzwdz
2021-10-05kill the process that caused an exception instead of panickingdzwdz
2021-10-04remove unused variables in process_try2collectdzwdz
2021-10-04implement process_kill()dzwdz
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-10-03vfs_root_handler: correct the panic type to invalid statedzwdz
all the switch cases are already implemented, so that panic can only occur due to invalid state
2021-10-02implement serial/tty inputdzwdz
2021-10-02serial: implement a selftestdzwdz
2021-10-02rename kernel/arch/log.h to io.hdzwdz
it's not related to logging but to general io, the old name didn't make sense
2021-09-23_syscall_mount(): ignore trailing slash in mount pathdzwdz
2021-09-22free the mounts created in tests/vfs.cdzwdz
2021-09-22kfree: detect double freesdzwdz
2021-09-22kfree: check for a magic value before freeing to detect invalid freesdzwdz
2021-09-22_syscall_open: strip the mount prefix in a better waydzwdz
2021-09-21start using sparse's `-Wnon-pointer-null`dzwdz
While I personally don't see a reason to use NULL instead of 0, I assume that whoever made that a sparse default knew what they were doing.
2021-09-21start using sparse's `-Wdecl`dzwdz
2021-09-21fix the assert kernel panic messagedzwdz
2021-09-21implement (safe) min/max macrosdzwdz
2021-09-21refactor `await_finish` into `process_try2collect`dzwdz
the new name is terrible, but at least the function now has a clear purpose
2021-09-21make await() fail gracefully when callee has no alive children alreadydzwdz
2021-09-21add `__force` for marking casts across adress spacesdzwdz