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 的固定频率运行。