微软又往Linux内核里塞东西了。这次是一个全新的半虚拟化IOMMU驱动,目标版本是即将发布的Linux 7.4。据科技媒体Phoronix报道,该驱动已经进入IOMMU子系统的-next分支,意味着它已经过了初步审核,正在等待合并进主线。

这个驱动是干什么的

打开网易新闻 查看精彩图片

简单说,它让跑在Hyper-V上的Linux客户机虚拟机,能为分配给虚拟机的设备提供内核级DMA保护。DMA保护的意义在于防止设备直接访问不该访问的内存区域,属于虚拟化安全的基础设施。

驱动通过HYPERV_PVIOMMU这个Kconfig配置选项启用。名字里的PV就是半虚拟化的意思——不是完全模拟硬件,而是客户机和宿主机之间通过约定好的接口协作。

兼容Intel和AMD两套IOMMU

这款驱动同时适用于Intel VT-d和AMD IOMMU系统。也就是说,不管底层服务器用的是哪家的IOMMU实现,Hyper-V上的Linux客户机都能用上这套半虚拟化方案。

如果进展顺利,Linux 7.4正式版预计将在12月底发布。从-next分支到正式版还有一段路要走,但至少方向已经明确了。