Age | Commit message (Collapse) | Author | |
---|---|---|---|
2024-07-14 | kernel/request: remove outdated comment in VfsReq | dzwdz | |
2024-07-14 | kernel/malloc: clean up the code a little bit | dzwdz | |
The bitmap functions now accept page addresses so I don't have to handle raw bitmap indexes, which was kinda complex. kmalloc_sanity is now not visible to other code as it wasn't really that useful in the first place. | |||
2024-07-13 | kernel/malloc: limit the maximum allocation size to under a page | dzwdz | |
This will likely be changed back, but for the time being it will let me implement a better allocator without too much effort. | |||
2024-07-12 | kernel: don't reuse VfsReq allocations for a single process | dzwdz | |
To use the same testing methodology as when I've introduced request slots: before: / $ iostress 1 1000000 0 > /dev/vtty run 0: 2585203 1000000 calls, 0 bytes. avg 2585203 after: / $ iostress 1 1000000 0 > /dev/vtty run 0: 2783171 1000000 calls, 0 bytes. avg 2783171 This is around a 7.7% slowdown - that I hope to fix with a better malloc. While this doesn't really make the code that much simpler, it doesn't feel like the right approach in the first place | |||
2024-07-11 | kernel: start cleaning up VfsRequest | dzwdz | |
* 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-07 | kernel/vfs: split vfs_backend_refdown into two functions | dzwdz | |
2024-07-05 | man: document open(2) | dzwdz | |
2024-05-25 | man: start writing manpages | dzwdz | |
2024-05-25 | libc/socket: use the "normal" form of ips | dzwdz | |
2024-05-19 | cmd: implement timebench | dzwdz | |
2024-05-19 | kernel: implement /dev/bintime | dzwdz | |
2024-05-18 | configure: pass the -r flag to cp | dzwdz | |
2024-05-18 | libc/execvpe: ENOENT on missing interpreter | dzwdz | |
2024-05-11 | kernel: DUP_RDONLY and DUP_WRONLY | dzwdz | |
I probably should've tested DUP_WRONLY too, now that I think about it. TODO? | |||
2024-05-11 | kernel: remove HANDLE_NULLFS | dzwdz | |
It was a dumb hack that wasn't even necessary - an error when mounting should shadow over the mountpoint anyways. | |||
2024-05-11 | kernel: fix null dereference when delegating an nonexistent handle | dzwdz | |
2024-05-11 | kernel: refactor handle management out of proc.c | dzwdz | |
2024-05-05 | net: expose the rtl mac to userland, make the netstack use it | dzwdz | |
2024-05-05 | libc/progname: saner implementation | dzwdz | |
what the fuck was I thinking when I originally implemented that? | |||
2024-05-05 | libc: implement asprintf | dzwdz | |
2024-05-04 | kernel/rtl8139: prepare for /dev/eth/mac | dzwdz | |
2024-05-04 | user/ntpfs: implement a basic ntp client | dzwdz | |
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-14 | httpd: serve files out of /usr/www | dzwdz | |
2024-03-13 | kernel/malloc: slight rework (it's still bad), store more metadata | dzwdz | |
2024-03-13 | kernel/amd64: print debugging info on NMI | dzwdz | |
the vm isn't getting an NMI for any real reason anyways, so I might as well abuse it | |||
2024-02-23 | kernel: knock off some simple vfsreq TODOs | dzwdz | |
2024-02-23 | kernel: fix _sys_fs_wait in init | dzwdz | |
2024-02-21 | cmd/socksfs: support connecting to ipv4 | dzwdz | |
2024-02-21 | libc/fs: use threads in forward_open | dzwdz | |
2024-02-21 | kernel: integrate the proc_ns_next fixes into proc_next | dzwdz | |
2024-02-21 | user/*: remove some minor header-related TODOs | dzwdz | |
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-20 | libc: better curl compat | dzwdz | |
I can now actually curl an entire page :^) | |||
2023-12-25 | user/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-25 | kernel: _sys_getnull() (basically /dev/null) | dzwdz | |
2023-12-25 | ports: 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-30 | user: rework terminal handling | dzwdz | |
2023-09-29 | kernel: fix linked list iteration in postqueue | dzwdz | |
2023-09-29 | *: properly remove _sys_filicide | dzwdz | |
not sure how that slipped by | |||
2023-09-25 | kernel/procfs: `intrdown` node for sending an interrupt to all children | dzwdz | |
2023-09-25 | kernel: remove _sys_filicide (made redundant by _sys_intr) | dzwdz | |
2023-09-25 | kernel/intr: accept a message, allow killing processes via intrs | dzwdz | |
2023-09-24 | kernel: delay removing processes from tree | dzwdz | |
2023-09-22 | build: support single file commands | dzwdz | |
2023-09-20 | ports: fix the doom port's time handling | dzwdz | |
2023-09-19 | kernel: use HPET timer for sleeps | dzwdz | |
not strictly necessary, but this should improve: 1. sleep performance 2. power efficiency when idle | |||
2023-09-18 | kernel: 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-17 | kernel/proc: inline proc_switch into proc_switch_any | dzwdz | |
2023-09-17 | kernel/amd64: add HPET support, slightly rework time handling | dzwdz | |
2023-09-15 | kern: fix GDT order for 64bit sysret | dzwdz | |
2023-09-13 | *: clean up the filesystem | dzwdz | |
moved keyboard and vtty to /dev/, removed some obsolete stuff |