Commit Graph

32 Commits

Author SHA1 Message Date
wash 1db6de6bc2 meta: rename kernel to Magenta 2026-04-30 20:30:36 +01:00
wash 5654c02f36 x86_64: pmap: implement pmap_flush and pmap_remove_range 2026-04-30 18:59:46 +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 dd34b1d80f pmap: add pmap_get to retrieve existing page table entries 2026-04-01 18:24:13 +01:00
wash 7bcd1577be pmap: fix PFN() not clearing upper PTE control bits 2026-04-01 18:20:50 +01:00
wash 512356ac2d sched: enforce ref-counting on current task/thread pointers 2026-04-01 18:17:05 +01:00
wash 15c2207ab9 x86_64: pmap: enable kernel-mode write-protection 2026-04-01 18:06:50 +01:00
wash 42a293e753 x86_64: pmap: implement pmap_destroy() 2026-03-18 20:53:24 +00:00
wash 399742cabf x86_64: pmap: implement pmap_remove 2026-03-15 14:38:32 +00:00
wash 0af35c70ef vm: implement demand-paging via userspace services with vm-controller 2026-03-14 22:39: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 3f21e888d6 sched: split sched.h into separate header files 2026-03-12 20:30:36 +00:00
wash 273557fa9f x86_64: lock task address space while performing a demand page-map 2026-02-23 18:25:49 +00:00
wash b188573eea x86_64: pmap: change pmap_remove* pointer args to virt_addr_t 2026-02-19 19:02:28 +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 5f2ad06fb0 x86_64: all intermediate page table entries now have PTE_USR set
this allows user-accessible page mappings to be created. for kernel memory
mappings, PTE_USR will only be cleared on the lowest-level table entry.
2026-02-08 13:03:41 +00:00
wash 67b3be9732 x86_64: add pmap_handle_fault to route user-mode page faults to vm-region to resolve 2026-02-08 13:03:28 +00:00
wash 49a75a1bbe pmap: change pmap_add* virtual pointer parameter to virt_addr_t 2026-02-08 12:08:26 +00:00
wash af0d97d6f5 misc: changes from a long time ago 2026-02-03 21:28:15 +00:00
wash 62ec4c93ab meta: rename 2024-11-02 11:31:51 +00:00
wash d96c549f17 vm: allow pages to be mapped as no-cache 2023-07-08 15:53:06 +01:00
wash 654e54653c x86_64: pmap: implement pmap_add() 2023-05-01 18:12:07 +01:00
wash b6f8c1ccaa kernel: don't use typedef for enums or non-opaque structs 2023-04-13 11:40:52 +01:00
wash b1b16ba19c kernel: reduce log message spam during boot 2023-04-09 17:14:19 +01:00
wash 864362ba82 acpi: add APIC irq ack and legacy vector remapping 2023-03-24 14:38:53 +00:00
wash 22743edeb7 pmap: add get_kernel_pmap() 2023-03-09 19:50:22 +00:00
wash d960909d1b x86_64: pmap: enable NX protection during bootstrap 2023-02-09 21:38:50 +00:00
wash ad63f0b251 x86_64: pmap: map all of physical memory starting at VM_PAGEMAP_BASE 2023-02-07 15:38:18 +00:00
wash e939aae775 x86_64: pmap: fix typos 2023-02-07 12:10:12 +00:00
wash 52c1ba89c4 x86_64: pmap: add null-pointer to check to delete_pdir 2023-02-07 12:10:05 +00:00
wash 3ea1a28e5a x86_64: pmap: fix make_pte not using PTE_NX for non-exec pages 2023-02-07 12:09:36 +00:00
wash 625eac9ca7 x86_64: implement bootstrap function for pmap interface 2023-02-06 20:50:38 +00:00