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. --- api/kernel/memory/range.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'api/kernel/memory/range.h') diff --git a/api/kernel/memory/range.h b/api/kernel/memory/range.h index 90b3354..0084bbb 100644 --- a/api/kernel/memory/range.h +++ b/api/kernel/memory/range.h @@ -7,10 +7,14 @@ typedef uintptr_t phys_addr_t; enum memory_range_type { - UNUSABLE_MEMORY, + // types for physical pages RESERVED_MEMORY, SYSTEM_MEMORY, AVAILABLE_MEMORY, + // types for firmware pages with unknown backing + FIRMWARE_MEMORY, + // types for other addresses that are not physical + MMIO_MEMORY, INVALID_MEMORY = 0xff }; -- cgit v1.3.1-1-g115d