summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2023-09-29*: properly remove _sys_filicidedzwdz
not sure how that slipped by
2023-09-25kernel/procfs: `intrdown` node for sending an interrupt to all childrendzwdz
2023-09-25kernel: remove _sys_filicide (made redundant by _sys_intr)dzwdz
2023-09-25kernel/intr: accept a message, allow killing processes via intrsdzwdz
2023-09-24kernel: delay removing processes from treedzwdz
2023-09-22build: support single file commandsdzwdz
2023-09-19kernel: use HPET timer for sleepsdzwdz
not strictly necessary, but this should improve: 1. sleep performance 2. power efficiency when idle
2023-09-18kernel: implement _sys_time()dzwdz
After some consideration this seems like the most fitting way to handle timekeeping. Directly, the syscall is only useful for keeping time within a single process, but it is meant to be used for e.g. NTP clients, which will provide the real time through the VFS.
2023-09-17kernel/proc: inline proc_switch into proc_switch_anydzwdz
2023-09-17kernel/amd64: add HPET support, slightly rework time handlingdzwdz
2023-09-15kern: fix GDT order for 64bit sysretdzwdz
2023-09-13*: clean up the filesystemdzwdz
moved keyboard and vtty to /dev/, removed some obsolete stuff
2023-09-13cmd/init: remove /initctl, use intr insteaddzwdz
2023-09-11*: rename /kdev/ to /dev/dzwdz
2023-09-09kernel: gracefully handle no serial portdzwdz
2023-09-09kernel: build /kdev/ on the flydzwdz
2023-09-07kernel: slightly refactor the page allocatordzwdz
2023-09-07user: fix stdio stream pos; remove the shell pipe redir workarounddzwdz
2023-09-07shell: use waitpiddzwdz
2023-09-07shell: fix endless loop after redirectiondzwdz
2023-09-06boot: compress the init moduledzwdz
2023-09-06kernel: fix panic with large initrddzwdz
2023-09-03misc: remove old debug printsdzwdz
the rtl8139 mac wasn't being read correctly anyways, and the init stuff wasn't revelant in ages. the rest is relatively useful
2023-09-03build: -Osdzwdz
2023-09-03libc: split up large .c files, slimming down small binaries a bitdzwdz
2023-09-02netstack: only return from open() once the socket connectsdzwdz
2023-09-02cmd: add socksfsdzwdz
2023-09-02libc: opendir_f; make httpd use itdzwdz
2023-08-31cmd/ps: use dirent.hdzwdz
2023-08-31kernel: add _sys_getprocfs in place of HANDLE_PROCFSdzwdz
This makes the side-effects more explicit, and feels less hacky than `HANDLE_PROCFS`. I don't think accessing a handle alone should have side-effects, even if it's a "special" one.
2023-08-30style: get rid of eprintfdzwdz
2023-08-29kernel: remove _sys_await, emulate it in libcdzwdz
2023-08-29tests: fix everything broken by the pipe changedzwdz
god, those tests are a mess. so are esemaphores.
2023-08-27ports: qbe, cproc :^)dzwdz
2023-08-25bootstrap: support hardlinks in initrddzwdz
required for the binutils port
2023-08-25libc: get as+ld to workdzwdz
2023-08-24libc: get most of binutils to compiledzwdz
2023-08-17build: rework how sysroots workdzwdz
/usr/include is now built on the fly, letting me merge include files from multiple modules, which should be a win for organization later on. binutils & gcc need to be recompiled. limits.h shamelessly stolen from heat on #osdev, as gcc stopped providing me with its own header. which was a hack in the first place
2023-08-16libc: "fix" unused argument warningsdzwdz
2023-08-15user: fix freeze if graphical shell was quitdzwdz
2023-08-14reorganization: first stepsdzwdz
2023-08-13libc: replace fork2_n_mount with mount_atdzwdz
2023-08-13kern: undo accidentally commited debug codedzwdz
2023-08-10user: more descriptive process titlesdzwdz
2023-08-10user/fs: no longer inject MOUNT_ATs by defaultdzwdz
arguably the wrong choice from an usability standpoint, but the right choice from a performance standpoint. there's definitely a nicer way to do this
2023-08-08bootstrap: fix main()'s stack alignmentdzwdz
2023-08-08build: build bootstrap as an ELF first, and then convert to a raw binarydzwdz
2023-08-06kernel: put every driver in /kdev/dzwdz
there's no real reason for bootstrap to be doing that, and this brings it closer to only doing the elf loading
2023-08-06libc: fs_dirinject2 for injecting multiple pathsdzwdz
2023-07-19user /keyboard: handle open()s instantly even if waiting for kbdzwdz
fixes e.g. `echo */*` in dash