+vmm_alloc_page(pid_t pid, void* va, void** pa, pt_attr tattr, pp_attr_t pattr);
+
+
+/**
+ * @brief 尝试分配多个连续的虚拟页
+ *
+ * @param va 起始虚拟地址
+ * @param sz 大小(必须为4K对齐)
+ * @param tattr 属性
+ * @return int 是否成功
+ */
+int
+vmm_alloc_pages(pid_t pid, void* va, size_t sz, pt_attr tattr, pp_attr_t pattr);
+
+/**
+ * @brief 设置一个映射,如果映射已存在,则忽略。
+ *
+ * @param va
+ * @param pa
+ * @param attr
+ */
+int
+vmm_set_mapping(pid_t pid, void* va, void* pa, pt_attr attr);
+
+/**
+ * @brief 删除并释放一个映射
+ *
+ * @param vpn
+ */
+void
+vmm_unmap_page(pid_t pid, void* va);