linux pfn, page, physical/virtual address

从页框号<===>page结构体(定义在include/linux/mm_types.h文件里)

pfn_to_page(pfn);

page_to_pfn(page);

页框号<===>物理地址得到页框号:

physical_addr >> PAGE_SHIFT   #asm/page_types.h

物理地址: pfn << PAGE_SHIFT

page结构体 <==> 虚拟地址page_address(page)

如果是线性映射的话,从虚拟地址可以得到物理地址,就可以得到页框号,最后得到page结构体地址


ps: 原子变量读#include atomic_read.

你可能感兴趣的:(linux pfn, page, physical/virtual address)