aboutsummaryrefslogtreecommitdiff
path: root/kernel/include/mm/virtual_mm.h
diff options
context:
space:
mode:
authorRaghuram Subramani <raghus2247@gmail.com>2025-01-27 09:48:45 -0500
committerRaghuram Subramani <raghus2247@gmail.com>2025-01-27 09:48:45 -0500
commita672e4b99cf43aa800ce9f9f5b8e9c374d2eb98d (patch)
tree7ab1cf44aa4788fb20608d6c0ed141b1b8947589 /kernel/include/mm/virtual_mm.h
parent943bbfd37779633bc89ff15de386b497a3e9c1ed (diff)
virtual_mm: (hopefully) working implementation of find_free_virtual_addresses
Diffstat (limited to 'kernel/include/mm/virtual_mm.h')
-rw-r--r--kernel/include/mm/virtual_mm.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/kernel/include/mm/virtual_mm.h b/kernel/include/mm/virtual_mm.h
index c0eb237..bb63f97 100644
--- a/kernel/include/mm/virtual_mm.h
+++ b/kernel/include/mm/virtual_mm.h
@@ -64,6 +64,9 @@
#define ADD_ATTRIB(entry, attribute) (*entry |= (attribute))
+#define VIRTUAL_ADDRESS(pd_index, pt_index) \
+ (((pd_index) << 22) | ((pt_index) << 12))
+
/*
* Loads a given page directory into CR0
*/
@@ -84,6 +87,9 @@ void virtual_mm_initialize(void);
*/
void virtual_mm_map_page(void *physical_address, void *virtual_address);
-void virtual_mm_find_free_virtual_addresses(uint32_t n);
+/*
+ * Find a virtual address with n consecutive free addresses. AWIUFHAILWFHIALW
+ */
+uint32_t virtual_mm_find_free_virtual_addresses(uint32_t n);
#endif