Я запускаю Ubuntu 16.04 на MacBookAir6,2 с процессором Core-i7-4650U и пытаюсь включить VT-d/IOMMU, чтобы я мог передавать оборудование на виртуальные машины (QEMU/KVM). Согласно спецификации процессора, VT-d поддерживается.
Поэтому я добавил intel_iommu=on
в конфигурацию GRUB, как указано здесь. Это вызвало сбой загрузки с такими сообщениями:
DMAR: DRHD: handling fault status reg 2
DMAR: DMAR:[DMA Write] Request device [04:00.1] fault addr fffe00
Возможное исправление к тому , что предлагается здесь: заменить intel_iommu=on
с intel_iommu=pt
Это исправляет процесс загрузки хоста, однако попытка запустить компьютер KVM с добавленным к нему устройством PCI по-прежнему приводит к « Ошибка запуска домена: неподдерживаемая конфигурация: хост не поддерживает передачу хост-устройств PCI ».
Дальнейшее прибегание к поиску ошибок DMAR, вызванных intel_iommu=on
привело к подозрению, что аппаратное обеспечение как тело может фактически не поддерживать VT-d, даже если сам ЦП это делает. Я нашел эту страницу, рассказывающую о том, какие чипсеты Intel поддерживают VT-d, но я не могу найти, какой чипсет есть у моего MacBook, если таковой имеется. Этот ответ намекает на то, что в моем случае VT-d будет полностью предоставлен только процессором, но все еще точно не известно.
Итак, как мне точно сказать, поддерживает ли MacBook Air VT-d, прежде чем пытаться включить / устранить его в Ubuntu?
ОБНОВИТЬ
Я только что подтвердил, что VT-d работает на моем MacBook Air. Прохождение PCI работало на CentOS 7 с intel_iommu=on
; несмотря на то, что появились те же ошибки при загрузке, что и в Ubuntu, система загрузилась нормально.