diff options
Diffstat (limited to 'kc/core/vm_object.h')
| -rw-r--r-- | kc/core/vm_object.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/kc/core/vm_object.h b/kc/core/vm_object.h new file mode 100644 index 0000000..d1de145 --- /dev/null +++ b/kc/core/vm_object.h @@ -0,0 +1,21 @@ +#pragma once + +typedef int (*vm_object_handler_func)(uint32_t code, void *address); + +enum vm_object_type +{ + NULL_VM_OBJECT, // a non-object. shouldn't even exist. an abomination unto man and god + 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 +}; + +struct vm_object +{ + enum vm_object_type type; + vm_object_handler_func handler; +}; + |
