Commit Graph

635 Commits

Author SHA1 Message Date
wash 560da0daa0 syscall: fix TLB not being flushed when necessary 2026-04-30 19:15:30 +01:00
wash 61f0aa1aba vm: address-space: update pmap API usage 2026-04-30 19:14:34 +01:00
wash ed54dca3ba syscall: handle: fix lock-related bugs 2026-04-30 19:12:47 +01:00
wash 4a6809e2df sched: task: fix leftover invalid pmap pointer 2026-04-30 19:10:51 +01:00
wash d63c2dbd12 vm: object: add prefetch function to fetch missing pages 2026-04-30 19:09:41 +01:00
wash 607efa961f sched: task: implement task_config_get and task_config_set 2026-04-30 19:08:02 +01:00
wash 02a44f67b9 sched: task: implement task creation flags 2026-04-30 19:06:46 +01:00
wash 562b856488 libmango: add a task config key to get the task ID 2026-04-30 19:05:14 +01:00
wash 8f77eb1ed0 libmango: add syscall to reset a particular task 2026-04-30 19:04:54 +01:00
wash 3ad479aa17 libmango: add flags parameter to task_create 2026-04-30 19:04:28 +01:00
wash 546fee7890 x86_64: adjust formatting 2026-04-30 19:02:56 +01:00
wash 5654c02f36 x86_64: pmap: implement pmap_flush and pmap_remove_range 2026-04-30 18:59:46 +01:00
wash d5c7a9f030 pmap: add functions for flushing all/parts of the TLB 2026-04-30 18:59:08 +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 8b7382fa13 libmango: add flags parameter to address_space_map 2026-04-21 21:11:42 +01:00
wash bc575aa1a1 x86_64: thread: remove log when cloning user thread 2026-04-20 22:20:43 +01:00
wash 982e518cf7 kernel: formatting tweaks 2026-04-19 20:17:31 +01:00
wash a30401d8b1 syscall: task: fix task_duplicate not taking a reference to the new task's address space 2026-04-19 20:17:05 +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 b3be4c541b libmango: rename page requests to vm requests 2026-04-19 20:13:07 +01:00
wash 61a8e6fc40 libmango: add syscalls to handle cow-attached vm-objects 2026-04-19 20:12:11 +01:00
wash c105e17be9 kernel: printk: keep log_buffer_lock locked while flushing printk buffer 2026-04-19 20:08:29 +01:00
wash f1dd9d8564 kernel: handle: init handle table duplication 2026-04-19 20:07:51 +01:00
wash c87c29366d x86_64: irq: initialise tr_irqctx before running syscall handler 2026-04-19 20:05:11 +01:00
wash 9a9b0f63ba sched: task: optional handle_table pointer can now be passed to task_create 2026-04-19 20:04:18 +01:00
wash b52890d842 kernel: object: add missing parentheses to OBJECT_CAST 2026-04-19 20:00:16 +01:00
wash a2f370f326 cmake: change minimum cmake version to 3.31 2026-04-19 19:58:30 +01:00
wash 3584f6831b x86_64: thread: copy fs- and gs-base pointers to cloned thread context 2026-04-19 19:36:16 +01:00
wash c7c497cd66 x86_64: serial: write COM1 output to Bochs console 2026-04-19 19:34:49 +01:00
wash 05b1d39241 x86_64: pmap: fix pmap_get setting vm flags in wrong output variable 2026-04-19 19:34:19 +01:00
wash 5e66083355 x86_64: formatting tweaks 2026-04-19 19:33:10 +01:00
wash b92542c688 syscall: handle: add stub implementation of kern_handle_control 2026-04-01 18:41:33 +01:00
wash 3c494f0c4d libmango: add kern_handle_control syscall 2026-04-01 18:40:58 +01:00
wash b8d3125233 syscall: task: initial implementation of task_duplicate 2026-04-01 18:40:28 +01:00
wash 304ba8b254 libmango: add task_duplicate syscall 2026-04-01 18:39:38 +01:00
wash 06fe1e3704 vm: address-space: implement resolving accesses to copy-on-write pages 2026-04-01 18:38:17 +01:00
wash 6365154b75 syscall: add missing call to put_current_task 2026-04-01 18:37:10 +01:00
wash a0cab068da vm: address-space: implement copy-on-write address-space duplication 2026-04-01 18:36:25 +01:00
wash c8202c6741 vm: controller: implement detach of vm-object whose attachment was deferred 2026-04-01 18:35:08 +01:00
wash 2cbfa7d7d2 vm: object: implement creating copy-on-write duplicates of vm-objects 2026-04-01 18:33:24 +01:00
wash 4143e12a29 vm: add a copy-on-write ref count to vm_page 2026-04-01 18:32:32 +01:00
wash f28fab7afa vm: object: implement vm_object_put_page to add existing pages to a vmo 2026-04-01 18:31:05 +01:00
wash 6c5bf2344f sched: thread: implement cloning of userspace thread contexts 2026-04-01 18:29:54 +01:00
wash 61050fd54b kernel: atomic: change atomic_t to 32-bit int 2026-04-01 18:27:31 +01:00
wash 8595f705af vm: address-space: fix vm-object and address space not being unlocked when a demand-map fails 2026-04-01 18:26:27 +01:00
wash dd34b1d80f pmap: add pmap_get to retrieve existing page table entries 2026-04-01 18:24:13 +01:00
wash 876f91d8be sched: thread: add cpu context pointer usable during interrupts and syscalls 2026-04-01 18:22:23 +01:00
wash 7bcd1577be pmap: fix PFN() not clearing upper PTE control bits 2026-04-01 18:20:50 +01:00
wash db1a200eea vm: object: fix vm_object_cleanup referencing a vmo controller after the pointer is erased 2026-04-01 18:19:23 +01:00
wash f45b759a4c vm: object: fix vm_object_get_page ignoring VMO_REQUEST_MISSING_PAGE 2026-04-01 18:18:25 +01:00