关于Linux内核中的GPU驱动程序



我找到了i915_drm,它是英特尔GPU的drm驱动程序。据我所知,GPU驱动程序通常不向公众开放。

我的问题是:这个i915通常被称为英特尔GPU的"GPU驱动程序"吗?如果不是(我怀疑不是),你能告诉我DRM驱动程序和GPU驱动程序之间的关系吗?

DRM驱动程序仲裁对GPU的访问,而实际的GPU驱动程序准备命令流。只有前者与安全性相关,需要在内核中执行,而后者非常复杂,可以更好地作为用户进程来实现。

内核驱动程序设置地址范围,既用于CPU->GPU访问(BAR映射),也用于GPU->Memory访问(DMA区域)。

这确保了GPU只能访问专用DMA存储器,以阻止GPU程序读取密码等敏感数据,并且根据GPU DMA引擎的能力,甚至可以设置多个上下文,进一步将GPU限制为与程序一起提交的DMA缓冲区。

完整的GPU驱动程序使用此功能来请求设备上下文和DMA内存映射,编译着色器或OpenCL内核等程序,并通过低级驱动程序提交它们。

最新更新