mod.rs 696 B

12345678910111213141516171819202122232425
  1. use crate::include::bindings::bindings::{PAGE_OFFSET, process_control_block, mm_struct};
  2. pub mod allocator;
  3. pub mod gfp;
  4. pub mod mmio_buddy;
  5. /// @brief 将内核空间的虚拟地址转换为物理地址
  6. #[inline(always)]
  7. pub fn virt_2_phys(addr: usize) -> usize {
  8. addr - PAGE_OFFSET as usize
  9. }
  10. /// @brief 将物理地址转换为内核空间的虚拟地址
  11. #[inline(always)]
  12. pub fn phys_2_virt(addr: usize) -> usize {
  13. addr + PAGE_OFFSET as usize
  14. }
  15. // ====== 重构内存管理后,请删除18-24行 ======
  16. //BUG pcb问题
  17. unsafe impl Send for process_control_block {}
  18. unsafe impl Sync for process_control_block {}
  19. unsafe impl Send for mm_struct {}
  20. unsafe impl Sync for mm_struct {}