物理地址映射的虚拟地址发生在内核中,它控制着页面表。是否有任何方法可以获得与给定虚拟地址相对应的物理地址。?
答案 0 :(得分:3)
您可以使用__pa(virtual_address)
宏从虚拟地址获取物理地址。
所有物理页面都存储在全局mem_map[page number]
中,您可以从此全局页面映射物理和虚拟地址。
同样,您可以尝试使用virt_to_phys()
功能。
答案 1 :(得分:0)
如果您正在谈论内核空间,则可以使用virt_to_phys()。
virt_to_phys:返回的物理地址是给定内存地址的物理(CPU)映射。仅在通过kmalloc直接映射或分配的地址上使用此功能才有效。这意味着内核将其用于将内核虚拟地址(而非用户虚拟地址)转换为物理地址