22 Commits

Author SHA1 Message Date
wash 1db6de6bc2 meta: rename kernel to Magenta 2026-04-30 20:30:36 +01:00
wash 02a44f67b9 sched: task: implement task creation flags 2026-04-30 19:06:46 +01:00
wash 278fe39c0d vm: implement private and shared address space mappings
whether a mapping is private or shared determines how the mapping is handled
when a task is duplicated.
2026-04-21 21:12:00 +01:00
wash 4a9e907a75 vm: implement lazy-attach cow-duplication of vm-objects attached to a controller 2026-04-19 20:16:19 +01:00
wash b92542c688 syscall: handle: add stub implementation of kern_handle_control 2026-04-01 18:41:33 +01:00
wash b8d3125233 syscall: task: initial implementation of task_duplicate 2026-04-01 18:40:28 +01:00
wash 04617e81e3 kernel: add a syscall to query generic information about an object 2026-03-29 11:50:37 +01:00
wash 62770f4ab2 kernel: replace kern_handle_duplicate with the more powerful kern_handle_transfer
this syscall can move and copy handles within the current task, or from/to
other tasks
2026-03-29 11:48:59 +01:00
wash 110f625f04 syscall: task: implement thread_self 2026-03-22 19:02:31 +00:00
wash 4551e7b2e6 sched: implement various ways to end tasks and threads 2026-03-18 21:07:43 +00:00
wash 24f9ef85bf sched: implement user-configurable fs and gs segment base addresses 2026-03-18 21:07:05 +00:00
wash 2a1a0cf14d kernel: finish implementation of private and shared futexes 2026-03-18 21:02:09 +00:00
wash 0af35c70ef vm: implement demand-paging via userspace services with vm-controller 2026-03-14 22:39:14 +00:00
wash 2d267d2b51 kernel: add a syscall to duplicate a handle 2026-03-14 22:31:37 +00:00
wash c628390f4a vm: replace vm-region with address-space
address-space is a non-recursive data structure, which contains a flat list of vm_areas representing
mapped vm-objects.

userspace programs can no longer create sub-address-spaces. instead, they can reserve portions of
the address space, and use that reserved space to create mappings.
2026-03-13 19:44:50 +00:00
wash 921c91c02a vm: add vm-controller object 2026-03-12 20:39:28 +00:00
wash 3f21e888d6 sched: split sched.h into separate header files 2026-03-12 20:30:36 +00:00
wash 36c5ac7837 kernel: re-implement sending handles via port messages 2026-03-01 19:10:01 +00:00
wash e4de3af00d kernel: remove support for sending kernel handles via port/channel 2026-02-26 20:53:47 +00:00
wash 1c7c90ef39 kernel: channel: implement channel_read_msg and msg_read 2026-02-23 21:52:03 +00:00
wash 5f0654430d syscall: add task_self, task_get_address_space, and vm_region_kill 2026-02-23 18:43:49 +00:00
wash 85006411bd kernel: add header files 2026-02-19 19:13:44 +00:00