中断重映射 dmesg | grep -e DMAR -e IOMMU

检查 allow_unsafe_interrupts 设置

为了完全把带有分配设备的客户机与主机分离,需要平台对中断重映射功能的支持。如果不支持这个功能,主机可能会受到来自于恶意客户机上的中断注入攻击(interrupt injection attack)。而在一个客户端可以被完全信任的环境中,管理员可能会允许使用 allow_unsafe_interrupts 选项进行 PCI 设备的分配。您需要根据具体情况检查是否在主机上启用 allow_unsafe_interrupts。如果主机上的 IOMMU 支持中断重映射功能,则不需要启用这个选项。

1. 使用 dmesg 检查您的主机是否支持 IOMMU 中断重映射功能:

[root@compute ~]# dmesg |grep ecap

当 ecap (0xf020ff → …​1111) 的第 3 位是 1 时,意味着 IOMMU 支持中断重映射。

2. 确认 IRQ 重映射是否已被启用:

[[root@compute ~]]# dmesg |grep "Enabled IRQ"
[    0.033413] Enabled IRQ remapping in x2apic mode
注意

如需手工禁用 "IRQ remapping",把 intremap=off 添加到 grub.conf 文件中。

3. 如果主机的 IOMMU 不支持中断重映射,您需要在 kvm 模块中启用 allow_unsafe_assigned_interrupts=1。

如果执行“dmesg | grep -e DMAR -e IOMMU”没有输出,则表明存在问题。

[root@localhost drivers]# dmesg |grep "Enabled IRQ"
[root@localhost drivers]# dmesg |grep ecap
[root@localhost drivers]# dmesg | grep -e DMAR -e IOMMU
[root@localhost drivers]# 
原文地址:https://www.cnblogs.com/dream397/p/13656245.html