From 1923e47fd296399180eaf19b990d5e951d71ccd2 Mon Sep 17 00:00:00 2001 From: Ada Christine Date: Thu, 24 Feb 2022 01:58:07 +0000 Subject: many changes - boot time memory allocation has changed. the fractal page map has been replaced by a single self-mapped page giving 2MiB of ready virtual space to play with without needing a fully-initialized memory manager. this scheme may be repeated for other purposes - the page stack has now been totally overhauled to make use of sparse allocation and all of the ugly init_*() procedures are gone. long live the new interface. also reference counting is a thing now. sort of. - found a bug in vmt_init_node where insertion did not use the root node as the parent in the case of no predecessor node. whoops. --- kc/core/vm_object.h | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'kc/core/vm_object.h') diff --git a/kc/core/vm_object.h b/kc/core/vm_object.h index d1de145..c8e93f8 100644 --- a/kc/core/vm_object.h +++ b/kc/core/vm_object.h @@ -1,6 +1,11 @@ #pragma once -typedef int (*vm_object_handler_func)(uint32_t code, void *address); +#include "vm_tree.h" + +typedef int (*vm_object_handler_func)( + struct vm_tree_node *node, + uint32_t code, + void *address); enum vm_object_type { @@ -8,8 +13,6 @@ enum vm_object_type DIRECT_VM_OBJECT, // a 1:1 physical-to-virtual mapping TRANSLATION_VM_OBJECT, // a mapping between a physical and virtual address range ANONYMOUS_VM_OBJECT, // a mapping that has no definite physical location - KC_IMAGE_VM_OBJECT, // a kernel component image - KC_HEAP_VM_OBJECT, // a kernel component heap // TODO: more to come }; -- cgit v1.3.1-1-g115d