internal.h 808 B

1234567891011121314151617181920212223242526272829
  1. #pragma once
  2. #include "mm.h"
  3. /**
  4. * @brief 将vma结构体插入mm_struct的链表之中
  5. *
  6. * @param mm 内存空间分布结构体
  7. * @param vma 待插入的VMA结构体
  8. * @param prev 链表的前一个结点
  9. */
  10. void __vma_link_list(struct mm_struct * mm, struct vm_area_struct * vma, struct vm_area_struct * prev);
  11. /**
  12. * @brief 将vma给定结构体从vma链表的结点之中删除
  13. *
  14. * @param mm 内存空间分布结构体
  15. * @param vma 待插入的VMA结构体
  16. */
  17. void __vma_unlink_list(struct mm_struct * mm, struct vm_area_struct * vma);
  18. /**
  19. * @brief 获取指定虚拟地址处映射的物理地址
  20. *
  21. * @param mm 内存空间分布结构体
  22. * @param vaddr 虚拟地址
  23. * @return uint64_t 已映射的物理地址
  24. */
  25. uint64_t __mm_get_paddr(struct mm_struct * mm, uint64_t vaddr);