refactor: vmm_set_map has option to ignore existed mapping.
[lunaix-os.git] / lunaix-os / includes / lunaix / mm / vmm.h
index 4a22cd7fdfa66ce75d3f29036d91dee44cff652d..5d88f3c75b7f5e45a826de5db480beaa7ab46ad6 100644 (file)
@@ -6,6 +6,9 @@
 #include <stdint.h>
 // Virtual memory manager
 
+#define VMAP_NULL 0
+#define VMAP_IGNORE 1
+
 /**
  * @brief 初始化虚拟内存管理器
  *
@@ -31,7 +34,11 @@ vmm_init_pd();
  * @return int
  */
 int
-vmm_set_mapping(uintptr_t mnt, uintptr_t va, uintptr_t pa, pt_attr attr);
+vmm_set_mapping(uintptr_t mnt,
+                uintptr_t va,
+                uintptr_t pa,
+                pt_attr attr,
+                int options);
 
 /**
  * @brief 删除一个映射
@@ -41,7 +48,7 @@ vmm_set_mapping(uintptr_t mnt, uintptr_t va, uintptr_t pa, pt_attr attr);
  * @param va
  * @return int
  */
-int
+uintptr_t
 vmm_del_mapping(uintptr_t mnt, uintptr_t va);
 
 /**