summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-07-11kernel: start cleaning up VfsRequestdzwdz
* I'm being more strict about the linked list state to hopefully ensure I'm not leaking any references. * vfsreq_create was renamed to vfsreq_dispatchcopy as that name feels more clear. It copies its argument, and dispatches it. * Requests for user backends are now handled more like requests for kernel backends - there's an accept() function that accepts a request.
2024-07-07kernel/vfs: split vfs_backend_refdown into two functionsdzwdz
2024-07-05man: document open(2)dzwdz
2024-05-25man: start writing manpagesdzwdz
2024-05-25libc/socket: use the "normal" form of ipsdzwdz
2024-05-19cmd: implement timebenchdzwdz
2024-05-19kernel: implement /dev/bintimedzwdz
2024-05-18configure: pass the -r flag to cpdzwdz
2024-05-18libc/execvpe: ENOENT on missing interpreterdzwdz
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-05libc/progname: saner implementationdzwdz
what the fuck was I thinking when I originally implemented that?
2024-05-05libc: implement asprintfdzwdz
2024-05-04kernel/rtl8139: prepare for /dev/eth/macdzwdz
2024-05-04user/ntpfs: implement a basic ntp clientdzwdz
time() will probably end up doing io. That sounded bad at first, but Plan 9 does that too (see /sys/src/libc/9sys/nsec.c), so it's probably fine. I might need better service management soon. Also, dunno what it should return before it makes contact with NTP. I could implement RTC support, but eh. Doesn't feel that necessary. I'll also need to remember how the hell threading works, so it can talk with the ntp daemon on another thread.
2024-04-14httpd: serve files out of /usr/wwwdzwdz
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-21cmd/socksfs: support connecting to ipv4dzwdz
2024-02-21libc/fs: use threads in forward_opendzwdz
2024-02-21kernel: integrate the proc_ns_next fixes into proc_nextdzwdz
2024-02-21user/*: remove some minor header-related TODOsdzwdz
pretty useless, but the list of all the TODOs is getting unwieldy, so I might as well cross some crap off that list
2024-02-20libc: better curl compatdzwdz
I can now actually curl an entire page :^)
2023-12-25user/libc: reorganize net stuff, basic hosts-only gethostbyname()dzwdz
/usr/share/hosts because i don't have /etc/ yet and i don't feel like creating it.
2023-12-25kernel: _sys_getnull() (basically /dev/null)dzwdz
2023-12-25ports: curl :^)dzwdz
had to do a lot of hacky stuff, but it's there. worked on this on and off for a while now
2023-09-30user: rework terminal handlingdzwdz
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-22build: support single file commandsdzwdz
2023-09-20ports: fix the doom port's time handlingdzwdz
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