2

我从用户空间知道一些虚拟地址,我想取消缓存空间。我尝试在内核模块中使用 API set_memory_uc。

我查看了内核代码,发现这个 API 接受虚拟地址作为第一个参数,但在这个 API 中它使用 __pa() 将其转换为 PA。但是, __pa() 仅对内核空间虚拟地址有效,对吗?所以我想知道是否可以使用 set_memory_uc 和用户空间虚拟地址作为参数。

我期望的是这样的功能:

uncache(VA) VA是用户空间的虚拟地址,这个函数根据虚拟地址uncache一个页面(我先mlock这个页面)。

谢谢!

4

0 回答 0