继续并用我的解决方案自己回答这个问题。
在我的sysfs mmap函数的内核驱动程序中,/include/asm/pgtable.h中有一个宏,用于为nocache’d
pfn重映射设置适当的标志。看起来像这样:
vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot);if (io_remap_pfn_range(vma, vma->vm_start, vma->vm_pgoff, vma->vm_end - vma->vm_start, vma->vm_page_prot)) return -EAGAIN;
另外,在userland mmap中,我在mmap标志参数中使用了MAP_SHARED标志。
两者的结合最终达到了目的。



