Estou executando o Ubuntu 16.04 no MacBookAir6.2 com Core-i7-4650U CPU e tentando habilitar VT-d / IOMMU para que eu pudesse passar hardware para máquinas virtuais (QEMU / KVM). De acordo com a especificação da CPU, o VT-d é suportado.
Então eu adicionei intel_iommu=on
para a configuração do GRUB conforme instruído Aqui . Isso causou falha de inicialização com mensagens como esta:
DMAR: DRHD: handling fault status reg 2
DMAR: DMAR:[DMA Write] Request device [04:00.1] fault addr fffe00
Uma possível correção para isso é sugerida Aqui : para substituir intel_iommu=on
com intel_iommu=pt
. Isso corrige o processo de inicialização do host, no entanto, tentar iniciar uma máquina KVM com um dispositivo PCI adicionado a ela ainda resulta em " Erro ao iniciar o domínio: configuração não suportada: o host não suporta passagem de dispositivos PCI host ".
Pesquisando mais sobre os erros do DMAR causados por intel_iommu=on
resultou na suspeita de que o hardware como um corpo pode não suportar realmente o VT-d, mesmo que a CPU por si só o faça. eu encontrei esta página informando quais chipsets da Intel suportam o VT-d, mas não consigo encontrar qual chipset meu MacBook possui, se houver. Esta resposta insinua que no meu caso o VT-d seria totalmente provido pela CPU apenas, mas ainda assim é uma maneira de saber com certeza.
Então, como eu sei ao certo se um MacBook Air suporta o VT-d, antes de tentar habilitá-lo / solucioná-lo no Ubuntu?
ATUALIZAR
Acabei de confirmar que o VT-d funciona no meu MacBook Air. Passagem PCI trabalhada no CentOS 7 com intel_iommu=on
; mesmo que os mesmos erros de inicialização do Ubuntu tenham aparecido, o sistema inicializou bem.