summaryrefslogtreecommitdiff
path: root/api
diff options
context:
space:
mode:
authorAda Christine <adachristine18@gmail.com>2021-12-29 12:32:19 +0000
committerAda Christine <adachristine18@gmail.com>2021-12-29 12:32:19 +0000
commitd4067207a00a15082489376ed593ef3c67703a5c (patch)
treea43e53ae63862b26f78c5f52d1aac98cc9a22b96 /api
parentf3c640714ab30ab413046b2608defc0c5dd9c91d (diff)
anonymous memory works again
Diffstat (limited to 'api')
-rw-r--r--api/kernel/memory/paging.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/api/kernel/memory/paging.h b/api/kernel/memory/paging.h
index 000d12b..cd68271 100644
--- a/api/kernel/memory/paging.h
+++ b/api/kernel/memory/paging.h
@@ -28,7 +28,8 @@
#define pte_index_bits(l) (PAGE_OFFSET_BITS + PAGE_MAP_BITS * (l - 1))
#define pte_index(v, l) (((uintptr_t)v >> pte_index_bits(l)) & PAGE_TABLE_INDEX_MASK)
#define page_size(l) (1 << pte_index_bits(l))
-#define page_address(a, l) ((uintptr_t)a & ~(page_size(l) - 1))
-#define page_offset(a, l) ((uintptr_t)a & (page_size(l) - 1))
+#define page_address(a, l) ((uintptr_t)(a) & ~(page_size(l) - 1))
+#define page_offset(a, l) ((uintptr_t)(a) & (page_size(l) - 1))
#define page_count(s, l) (((s + page_size(l) - 1) & ~(page_size(l) - 1)) / page_size(l))
+#define page_align(a, l) ((page_size(l) + (uintptr_t)(a)) & ~(page_size(l) - 1))