Commit Graph

21 Commits

Author SHA1 Message Date
wash d2f303680d sched: add root vm-region and handle table to struct task 2026-02-08 13:10:54 +00:00
wash 27bed1a3d3 sched: all kernel-mode tasks now have negative task ids 2026-02-08 13:09:29 +00:00
wash 18a5325fa7 sched: add PID_MAX definition 2026-02-08 13:07:14 +00:00
wash 7eaad64969 pmap: declare fault handler function and flags 2026-02-08 13:06:19 +00:00
wash 883b5ac9e2 vm: add vm-region to manage userspace virtual memory address spaces
vm-region supports creating nested regions of virtual memory, each with their
own memory protection restrictions.

vm-objects can be mapped into a vm-region, making the underlying memory
accessible. all mappings are lazy: page tables are not updated until the
mapped memory is accessed.
2026-02-08 12:59:08 +00:00
wash b8ccffd2d4 vm: add vm-object to represent non-contiguous physical memory allocations
vm-object can be used to demand-allocate non-contiguous physical memory, and
will provide an api for userspace programs to do the same. unless a vm-object
is created in-place (i.e. to represent a specific area of physical memory),
its memory pages are only allocated when the object is mapped AND someone
attempts to access the memory.
2026-02-08 12:58:31 +00:00
wash 14ebcd4875 kernel: implement object handle tables 2026-02-08 12:55:47 +00:00
wash 6950850f5b object: add a macro to define object lock/unlock functions 2026-02-08 12:55:13 +00:00
wash d94a6ec7cb kernel: add generic FATAL_ERROR status code 2026-02-08 12:48:59 +00:00
wash 0d73196b4b printk: add macro for conditional trace-level printk statements 2026-02-08 12:48:33 +00:00
wash 4de1463e7c object: add functions to track handle allocation 2026-02-08 12:37:08 +00:00
wash 5304e5be00 object: rename deref to unref 2026-02-08 12:36:32 +00:00
wash 0853cff56b vm: remove vm_region; add vm_page_get_size_bytes 2026-02-08 12:33:36 +00:00
wash aaa76ff197 memblock: make virt_to_phys pointer param const 2026-02-08 12:33:03 +00:00
wash 0490541dc9 kernel: adjust formatting 2026-02-08 12:32:48 +00:00
wash 49a75a1bbe pmap: change pmap_add* virtual pointer parameter to virt_addr_t 2026-02-08 12:08:26 +00:00
wash 34f614b881 libc: move fill_random to kernel/util 2026-02-08 12:06:50 +00:00
wash 129e782e99 kernel: add functions to get/set the bsp boot module location 2026-02-08 11:38:50 +00:00
wash a56d69e260 kernel: add a type to represent boot modules 2026-02-08 11:02:35 +00:00
wash 8811016b7d kernel: remove redundant header files 2025-05-20 23:14:33 +01:00
wash 62ec4c93ab meta: rename 2024-11-02 11:31:51 +00:00