【问题标题】:How to translate Kernel space VA to PA in Linux, inside a driver code?如何在驱动程序代码中将内核空间 VA 转换为 Linux 中的 PA?
【发布时间】:2015-04-27 08:38:07
【问题描述】:

是否可以从我编写的驱动程序代码对内核空间 VA 进行简单的页面遍历转换?我正在尝试使用 virt_to_phys(),但翻译对我来说看起来不正确。有没有其他 API 可以做到这一点?

【问题讨论】:

  • 你需要 PA 做什么?
  • 我知道我的 VA 应该映射到的 PA 区域,并且我想验证内核中确实存在这种映射,并且它映射到该特定区域而不是其他区域。

标签: linux linux-kernel x86 virtual-memory


【解决方案1】:

virt_to_phys() 是正确的路径。为什么你觉得它不正确?

看看this documentation,它解释了内存地址的所有三个视图以及如何在它们之间进行转换。

【讨论】:

    猜你喜欢
    • 2012-09-05
    • 1970-01-01
    • 2012-09-23
    • 1970-01-01
    • 1970-01-01
    • 2013-02-23
    • 1970-01-01
    • 2012-11-03
    • 2015-01-23
    相关资源
    最近更新 更多