在linux内核中从物理地址到应用程序虚拟地址的反向查找

时间:2015-01-13 04:30:59

标签: linux opengl memory linux-kernel kernel

我在应用程序 A 中有一个openGL缓冲区对象。我有相应对象的虚拟地址 V 。我知道这个虚拟地址映射到GPU设备内存(iomem), P 。 我想在 A 上下文中找到 V 的物理地址 P

  • 约束(1):我无法修改用户空间中的图形堆栈(mesa,libdrm,...)。
  • 约束(2):我只能修改drm内核驱动程序。

目前,我在想的是写一个IOCTL  在drm内核驱动程序中,它接收 A V 的PID并返回 P 。为此,在IOCTL内部,我想我必须走 A 的页面表来找出 P 的值。

而且,我当然不想开发这种类型的页面表格,我相信Linux内核已经有了一些好帮手。你能提出任何建议吗?

0 个答案:

没有答案