虚拟地址到物理地址映射

时间:2014-09-11 07:25:12

标签: linux linux-kernel fork virtual

物理地址映射的虚拟地址发生在内核中,它控制着页面表。是否有任何方法可以获得与给定虚拟地址相对应的物理地址。?

2 个答案:

答案 0 :(得分:3)

您可以使用__pa(virtual_address)宏从虚拟地址获取物理地址。 所有物理页面都存储在全局mem_map[page number]中,您可以从此全局页面映射物理和虚拟地址。 同样,您可以尝试使用virt_to_phys()功能。

答案 1 :(得分:0)

如果您正在谈论内核空间,则可以使用virt_to_phys()。

  

virt_to_phys:返回的物理地址是给定内存地址的物理(CPU)映射。仅在通过kmalloc直接映射或分配的地址上使用此功能才有效。这意味着内核将其用于将内核虚拟地址(而非用户虚拟地址)转换为物理地址