В QEMU/KVM отсутствуют флаги функций ЦП (kvm не проходит?)

Я пытаюсь заняться разработкой ОС в qemu с помощью kvm. Я использую x86-64, мой хост-процессор - Intel i7-6700K (Skylake). Проблема в том, что некоторые флаги функций процессора не проходят, когда я запускаю qemu с -cpu host.

Я специально ищу «est» (Enhanced SpeedStep). Если я запускаю lscpu на хосте, он показывает много флагов процессора, включая est. Если посмотреть на результаты cpuid в моей ОС, я вижу, что отсутствует около половины, включая est).

Кажется, я понимаю, что kvm не проходит автоматически через все флаги процессора, но как я могу указать ему пройти через определенный флаг (или, возможно, только все флаги)?


person Graham MacDonald    schedule 10.08.2019    source источник
comment
Возможно, KVM не реализует регистры управления ступенями скорости, поэтому не может их пропустить. (Обратите внимание, что обычно вы не хотите, чтобы гость имел прямой доступ к регистрам аппаратного управления, потому что это может повлиять на других гостей.)   -  person prl    schedule 10.08.2019


Ответы (1)


Когда kvm, он может включить каждый флаг центрального процессора. Вы можете указать ему передать определенный флаг, добавив флаг после выбранного вами процессора. Например: -cpu SandyBridge,avx,pdpe1gb

и вы получите предупреждение, что он не может включить его.

person yehudahs    schedule 23.05.2021