Рейтинг:3

Если KVM работает, почему VMX отображается как отключенный?

флаг bq

У меня в биосе включен VT-x. Я запускаю qemu/kvm/Manjaro. lscpu говорит

$ lscpu
Архитектура: x86_64
  Название модели: ЦП Intel(R) Core(TM) i7-8550U с тактовой частотой 1,80 ГГц
Флаги: ... vmx ... 
Возможности виртуализации:
  Виртуализация: VT-x
Уязвимости:         
  Множественное попадание Itlb: KVM: смягчение: VMX отключен

Кроме того,

$ sudo rdmsr -f 2:0 0x3A
5

что обозначает

  • Конфигурация VMX заблокирована
  • VMX отключен в состоянии SMX («Расширения безопасного режима»)
  • VMX включен вне состояния SMX

Этот ответ дает мне надежду: если квм загружается, то VMX работает. Верно, кему с квм поскольку его ускоритель работает просто отлично (или, по крайней мере, кажется). Тогда почему он показывает, что VMX отключен для целей уязвимости множественных попаданий?

Пример кему бег:

$ qemu-system-x86_64 -nographic -vga none -net none -nodefaults -machine q35 -accel kvm -cpu host -smp sockets=1,dies=1,cores=2,threads=2 -m 512M ...

Монитор QEMU 6.0.0 — введите «help» для получения дополнительной информации
(qemu) информация квм
информация квм
поддержка квм: включена

Гость (в данном случае pfSense) пока работает нормально.

флаг in
Мой первоначальный ответ будет заключаться в том, что между VT-d и VT-x есть разница, но из того, что вы нашли, и из того, что я понял, это может быть не так. https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/multihit.html Но я бы все же сказал, что KVM работает с VT-d, VT-x не требуется. но дважды проверить dmesg?
флаг bq
@NiKiZe VT-d и VT-x, безусловно, разные; но здесь я попытался сосредоточиться на VT-x. Где в игру вступает VT-d?
Michael Hampton avatar
флаг cz
Вам почти наверняка нужно задать этот вопрос разработчикам.
флаг in
Действительно так кажется. удалит неверную информацию. что говорит dmesg и что дает попытка запустить машину с поддержкой KVM, например: `qemu-system-x86_64 -enable-kvm -M q35 -m 1024 -cpu host`?
флаг bq
@NiKiZe Я отредактировал, чтобы показать некоторую информацию о примере запуска qemu. Что конкретно вы ищете в dmesg; а вас интересует ведущий или гость?
флаг br
упрощенно: VT-x — это поддержка второго уровня таблиц страниц в MMU, подключенном к ЦП, а VT-d — поддержка таблиц страниц в MMU, подключенном к корневому комплексу PCIe. Последнее вам нужно для прозрачной передачи устройств в виртуальные машины, поскольку они программируют физические адреса гостей в устройства с поддержкой DMA, и их необходимо преобразовать во время операций DMA.
флаг cn
Я просто хотел сказать, что наблюдаю то же самое с процессором Skylake и Fedora Linux. Вся аппаратная виртуализация включена в BIOS, но `lscpu` заявляет: «Уязвимость Itlb multihit: KVM: смягчение: VMX отключен». Очень запутанно. Интересно, это ошибка ядра?

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.