summaryrefslogtreecommitdiff
path: root/src/kernel
AgeCommit message (Collapse)Author
2024-05-19kernel: implement /dev/bintimedzwdz
2024-05-11kernel: DUP_RDONLY and DUP_WRONLYdzwdz
I probably should've tested DUP_WRONLY too, now that I think about it. TODO?
2024-05-11kernel: remove HANDLE_NULLFSdzwdz
It was a dumb hack that wasn't even necessary - an error when mounting should shadow over the mountpoint anyways.
2024-05-11kernel: fix null dereference when delegating an nonexistent handledzwdz
2024-05-11kernel: refactor handle management out of proc.cdzwdz
2024-05-05net: expose the rtl mac to userland, make the netstack use itdzwdz
2024-05-04kernel/rtl8139: prepare for /dev/eth/macdzwdz
2024-03-13kernel/malloc: slight rework (it's still bad), store more metadatadzwdz
2024-03-13kernel/amd64: print debugging info on NMIdzwdz
the vm isn't getting an NMI for any real reason anyways, so I might as well abuse it
2024-02-23kernel: knock off some simple vfsreq TODOsdzwdz
2024-02-23kernel: fix _sys_fs_wait in initdzwdz
2024-02-21kernel: integrate the proc_ns_next fixes into proc_nextdzwdz
2023-12-25kernel: _sys_getnull() (basically /dev/null)dzwdz
2023-09-29kernel: fix linked list iteration in postqueuedzwdz
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-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-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-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-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-27ports: qbe, cproc :^)dzwdz
2023-08-14reorganization: first stepsdzwdz
2023-08-13kern: undo accidentally commited debug codedzwdz
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-06-17kernel: fix procfs overflow bug, add safeguard to prevent similar onesdzwdz
2023-06-11kernel: replace await with wait2, roughly compatible with POSIXdzwdz
dash works now :^)))
2023-06-10kernel: implement DUP_SEARCH (like unix's F_DUPFD)dzwdz
2023-06-10kernel: implement getpid, getppiddzwdz
2023-06-04kernel: rework /proc/ and process IDsdzwdz
I'm yet to write proper docs but the TL;DR is: Mounting /proc/ creates a new pid namespace. You're still visible in the old namespace with your old pid, but your children won't be. You see your own pid as 1. Current pids of children will be preserved, pids will be allocated starting from the highest one of your children.
2023-02-23build: don't -Isrc/ in user codedzwdz
2023-02-23fix: misc warningsdzwdz
2023-02-23toolchain: update, move to a Camellia-specific toolchaindzwdz
2023-02-22kernel/malloc: fill allocated and freed regions with junkdzwdz
2023-01-25clean up the repo rootdzwdz