drm/xen-front Xen 半虚拟化前端驱动程序¶
此前端驱动程序根据 include/xen/interface/io/displif.h 中描述的显示协议实现 Xen 半虚拟化显示。
根据使用的显示缓冲区来划分的驱动程序运行模式¶
根据半虚拟化环境的需求,即主机和客户机环境中运行的配套 DRM/(v)GPU 驱动程序的需求,显示缓冲区可以由前端驱动程序或后端驱动程序分配。
由前端驱动程序分配的缓冲区¶
在这种运行模式下,驱动程序从系统内存中分配缓冲区。
注意!如果与配套的 DRM/(v)GPU 驱动程序一起使用,此运行模式可能需要在平台上支持 IOMMU,以便配套的 DRM/vGPU 硬件仍然可以在从前端驱动程序导入 PRIME 缓冲区时访问显示缓冲区内存。
由后端分配的缓冲区¶
此运行模式通过 XenStore 条目在客户机域配置中进行运行时配置。
对于不提供 IOMMU 支持,但对显示缓冲区有特定要求的系统,可以在后端分配此类缓冲区并与前端共享。 例如,如果主机域是 1:1 映射,并且具有期望物理上连续内存的 DRM/GPU 硬件,则这允许实现零拷贝用例。
注意,在使用此方案时应考虑以下事项:
如果客户机域死亡,则无法收回从后端接收的页面/授权
行为不端的客户机可能会向后端发送过多的请求,耗尽其授权引用和内存(从安全的角度考虑)
驱动程序限制¶
仅支持没有附加属性的主平面。
每个连接器仅支持一种视频模式,该模式通过 XenStore 配置。
所有 CRTC 都以 60Hz 的固定频率运行。