summaryrefslogtreecommitdiff
path: root/api/kernel/memory/range.h
diff options
context:
space:
mode:
authorAda Christine <adachristine18@gmail.com>2022-02-24 01:58:07 +0000
committerAda Christine <adachristine18@gmail.com>2022-02-24 01:58:07 +0000
commit1923e47fd296399180eaf19b990d5e951d71ccd2 (patch)
tree2c61fa3d29321c3cf8e31a6ca1b1edcc053cb8f1 /api/kernel/memory/range.h
parent4fa48a2a7814c2f7d3992533313df283c3aa2652 (diff)
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.
Diffstat (limited to 'api/kernel/memory/range.h')
-rw-r--r--api/kernel/memory/range.h6
1 files changed, 5 insertions, 1 deletions
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
};