wash
1db6de6bc2
meta: rename kernel to Magenta
2026-04-30 20:30:36 +01:00
wash
61f0aa1aba
vm: address-space: update pmap API usage
2026-04-30 19:14:34 +01:00
wash
d63c2dbd12
vm: object: add prefetch function to fetch missing pages
2026-04-30 19:09:41 +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
06fe1e3704
vm: address-space: implement resolving accesses to copy-on-write pages
2026-04-01 18:38:17 +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
f28fab7afa
vm: object: implement vm_object_put_page to add existing pages to a vmo
2026-04-01 18:31:05 +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
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
wash
512356ac2d
sched: enforce ref-counting on current task/thread pointers
2026-04-01 18:17:05 +01:00
wash
a0a6a061a4
vm: controller: add an auto-detach flag for vm-objects
2026-03-24 20:24:12 +00:00
wash
4daffa804c
vm: address-space: fix incorrect op calculation in unmap and release
2026-03-24 20:23:46 +00:00
wash
4be642f2e5
vm: controller: implement asynchronous DETACH page requests
2026-03-24 20:21:35 +00:00
wash
7dc0c742fa
kernel: rebuild object ref-counting using atomic types
2026-03-24 19:10:36 +00:00
wash
86f6c81781
vm: address-space: fix infinite loop in validate_access
2026-03-22 19:02:20 +00:00
wash
a2c89df195
kernel: convert some verbose log messages to trace messages
2026-03-21 10:27:23 +00:00
wash
35949fa8db
vm: object: ensure page request offets are page-aligned
2026-03-21 10:27:03 +00:00
wash
e03b2e07d0
vm: address-space: implement address space cleanup
2026-03-18 21:07:27 +00:00
wash
88405233a8
vm: object: implement object cleanup
2026-03-18 20:53:56 +00:00
wash
c1e0b38952
vm: object: add missing include
2026-03-15 22:22:43 +00:00
wash
8a38d940cc
vm: address-space: add function to translate virtual addresses to physical
2026-03-15 22:22:25 +00:00
wash
a2e918c428
vm: evict PTE entries for transferred vm-object pages
2026-03-15 14:40:24 +00:00
wash
0af35c70ef
vm: implement demand-paging via userspace services with vm-controller
2026-03-14 22:39:14 +00:00
wash
f04c524bb5
vm: object: implement transferring pages between objects
2026-03-14 22:38:14 +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
b1bdb89ca4
vm: region: add a function to write data from a kernel buffer to a vm-region
2026-03-01 19:09:30 +00:00
wash
eb8758bc5e
vm: region: fix some cases where regions weren't being unlocked after use.
2026-02-26 19:41:40 +00:00
wash
34bd6e479c
vm: region: add nr_bytes_moved output param to memmove_v
2026-02-23 21:50:35 +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
b2d04c5983
vm: object: zero-initialise pages allocated for vm-object
2026-02-21 23:19:49 +00:00
wash
044b3688aa
vm: cache: all allocations are now zero-initialised
2026-02-21 23:18:09 +00:00
wash
855440f584
vm: add trace output
2026-02-21 11:22:51 +00:00
wash
e1e025ab6a
vm: region: memmove_v() now supports iovec arrays stored in userspace
2026-02-21 11:20:09 +00:00
wash
aa0933be10
vm: region: implement reading from a user-space vm-region into a kernel buffer
2026-02-21 11:16:11 +00:00
wash
8b188a0ac4
vm: region: fix iterator using wrong buffer offset when seek exceeds current buffer size
2026-02-21 11:07:53 +00:00
wash
ed25ee6761
vm: object: fix iterator using wrong buffer offset when seek exceeds current buffer size
2026-02-21 11:07:12 +00:00
wash
0bae39e550
vm: zone: ensure memblock region bounds are page-aligned while creating zone blocks
2026-02-21 11:01:58 +00:00
wash
2b7e5368c9
vm: implement copying data between different vm-regions
2026-02-19 19:15:15 +00:00
wash
c6e1ba21dd
vm: implement direct read/write/copy access to vm-object memory
2026-02-19 19:09:38 +00:00
wash
2f413c603d
kernel: all string parameters now take a corresponding length parameter
2026-02-19 19:08:17 +00:00
wash
6019c9307d
kernel: separate headers into kernel and user headers
...
all kernel headers have been moved from include/mango to include/kernel
and include definitions that are only relevant to kernel-space.
any definitions that are relevant to both kernel- and user-space
(i.e. type definitions, syscall IDs) have been moved to
include/mango within libmango.
2026-02-19 18:54:48 +00:00
wash
fb7d7635c2
vm: region: refactor to use offsets rather than absolute addresses
2026-02-08 15:51:51 +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