kim*_*imi 11 linux memory-management linux-kernel
如何找到内核空间的内存映射?VA - > PA
我知道proc文件系统/proc/pid/maps,/proc/pid/mappings它为我们提供了用户空间应用程序的映射.有什么类似于查找内核空间映射的东西吗?
谢谢!
ugo*_*ren 12
这是一个部分答案,也许会有所帮助.
Linux将内核虚拟地址空间划分为两部分 - lowmem和vmalloc.
Lowmem使用虚拟和物理地址之间的1-1映射.即,虚拟地址X被映射到物理地址XC(其中C是一些常数,例如3GB).此映射是在引导期间构建的,永远不会更改.
Vmalloc根据需要使用动态映射.在每次分配时,找到一堆物理页面和一个虚拟地址范围,并修改分页表以创建映射.
两个由虚拟地址分隔.每个使用不同的虚拟地址范围.始终映射lowmem范围,分配时映射vmalloc范围.