如何将物理地址转换为内核模块中的内核页面结构? (仅适用于 x86-64 架构)。
以下是我目前所拥有的:
void *kernel_logical_address = phys_to_virt(physical_address);
现在,如何为这个 kernel_logical_address 获取 struct page
?
为什么我需要它?
在我正在处理的内核模块中,它维护着一个空闲页面列表
struct page *pages
我想将这个特殊页面(指向 physical_address 的那个)添加到这个特定列表中。我该怎么做呢?
最佳答案
使用 pfn_to_page(pfn_num) 宏。 Pfn num == phys_addr >> 12
关于c - 如何将物理地址转换为内核模块(x86-64)内的内核页面结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46745788/