summaryrefslogtreecommitdiff
path: root/api/kernel
diff options
context:
space:
mode:
authorAda Christine <adachristine18@gmail.com>2021-12-29 12:37:53 +0000
committerAda Christine <adachristine18@gmail.com>2021-12-29 12:37:53 +0000
commit4fd087b03651f897663ee7f3e51d855f35d4c023 (patch)
treefca74c259ec030646709ef8c9c05a25f56d486fb /api/kernel
parentbaf03d96b91b8f06bd15449ffeccd591b92eac24 (diff)
anonymous spaces work again
Diffstat (limited to 'api/kernel')
-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))