git://scm.lunaixsky.com
/
lunaix-os.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
feat: vmm_vmap/ioremap/iounmap to make MMIO more flexible and easy
[lunaix-os.git]
/
lunaix-os
/
includes
/
lunaix
/
mm
/
vmm.h
diff --git
a/lunaix-os/includes/lunaix/mm/vmm.h
b/lunaix-os/includes/lunaix/mm/vmm.h
index eab731589745221569db2354440449e4727ab41d..db6e058fcb9941568feb55e06186d859dab65744 100644
(file)
--- a/
lunaix-os/includes/lunaix/mm/vmm.h
+++ b/
lunaix-os/includes/lunaix/mm/vmm.h
@@
-103,7
+103,20
@@
vmm_mount_pd(uintptr_t mnt, void* pde);
void*
vmm_unmount_pd(uintptr_t mnt);
void*
vmm_unmount_pd(uintptr_t mnt);
+void*
+vmm_ioremap(uintptr_t paddr, size_t size);
+
void*
vmm_next_free(uintptr_t start, int options);
void*
vmm_next_free(uintptr_t start, int options);
+/**
+ * @brief 将连续的物理地址空间映射到内核虚拟地址空间
+ *
+ * @param paddr 物理地址空间的基地址
+ * @param size 物理地址空间的大小
+ * @return void*
+ */
+void*
+vmm_vmap(uintptr_t paddr, size_t size, pt_attr attr, uint32_t pattr);
+
#endif /* __LUNAIX_VMM_H */
#endif /* __LUNAIX_VMM_H */