6

当我想通过set PAT(Page attribute table - 7bit in PTE)将内存区域标记为Write Combined(禁用缓存并使用BIU)或Uncacheable时,我必须使用什么,这两个函数有什么区别?

取自: http: //lwn.net/Articles/278994/

为什么我不能对 PCI BAR 和 RAM 范围使用相同的单一功能?

澄清: 是否ioremap_uc()通过设置 Uncacheable 获取物理地址并返回虚拟地址,与set_memory_uc()哪些已经获得虚拟地址并为这些页面设置 Uncacheable?

这些代码是否相等?

void* virt_ptr = ioremap_uc(phys_ptr, size);

void* virt_ptr = ioremap(phys_ptr, size);
const int page_size = 4096;
set_memory_uc(virt_ptr, size/page_size);
4

0 回答 0