[求解]关于page = pfn_to_page(pfn);函数
在看源码的时候看到这个函数的红定义时这样的。//#define pfn_to_page(pfn) virt_to_page(pfn_to_virt(pfn)),
#define pfn_to_virt(pfn) __va((pfn) << PAGE_SHIFT),
#define __va(x) ((void *)((unsigned long)(x) | 0xc0000000)),
#define virt_to_page(addr) (mem_map + (((unsigned long)(addr)-PAGE_OFFSET) >> PAGE_SHIFT)),
为什么要这样弄。。难道直接用mem_map加上pfn不可以么。。两者有什么区别啊。。
页:
[1]