缺少 AESNI、RDRAND 和 RDSEED 功能?

缺少 AESNI、RDRAND 和 RDSEED 功能?

我有一台配備 Core-i5 5200U 的機器。它是第五代處理器,因此有 AESNI、RDRAND 和 RDSEED。這就是我買機器的原因。

該計算機運行的是 Ubuntu Server 14.04.03。 Ubuntu 提供了 KVM 和 libvirt。其中嘉賓之一是Debian 8.2,Debian提供X32 支持。 X32與X86和X64不同;另見Debian x32 端口在 Debian 維基上。

當我 grepdmesg在 Debian 用戶機上,我看到該架構已啟用:

$ dmesg | grep -i x32
[    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-3.16.0-4-amd64 root=UUID=69773d98-b9fa-4695-8392-92759d8e6094 ro syscall.x32=y syscall.x32=y quiet
[    0.000000] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-3.16.0-4-amd64 root=UUID=69773d98-b9fa-4695-8392-92759d8e6094 ro syscall.x32=y syscall.x32=y quiet
[    0.328179] Enabled x32 syscalls

Ubuntu 主機上的功能中列出了三個本機 CPU 功能中的兩個,這有點令人驚訝,因為我希望在其他功能之前看到 AES:

$ virsh capabilities | egrep "(aes|rdrand|rdseed)"
      <feature name='rdseed'/>
      <feature name='rdrand'/>

然而,當我貓/proc/cpuinfo在 Debian 客戶機下,它缺少三個我想在 X32 下測試的 CPU 功能:

$ cat /proc/cpuinfo 
processor   : 0
vendor_id   : GenuineIntel
cpu family  : 6
model       : 6
model name  : QEMU Virtual CPU version 2.0.0
...
flags       : fpu de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pse36 clflush mmx
              fxsr sse sse2 syscall nx lm rep_good nopl pni vmx cx16 x2apic popcnt
              hypervisor lahf_lm abm tpr_shadow vnmi flexpriority ept
...

我已經評論過Libvirt 將主機處理器識別為與硬體文件不同的型號,但我不清楚我應該做什麼來啟用我試圖在該架構下測試的指令。

如何在 Debian VM 的 CPU 上啟用 AESNI、RDRAND 和 RDSEED?


這是我用來創建虛擬機器的腳本:

$ cat mk-vm.sh
#!/bin/bash

NAME=Debian_8_x64
ISO_PATH=/opt/libvirt/images/debian-8.2.0-amd64-netinst.iso
DISK_PATH="/opt/libvirt/machines/$NAME/$NAME.img"

mkdir -p "/opt/libvirt/machines/$NAME"

virt-install \
  --connect qemu:///system \
  --virt-type kvm \
  --name "$NAME" \
  --ram 2048 \
  --disk path=$DISK_PATH,size=8 \
  --vnc \
  --cdrom $ISO_PATH \
  --livecd \
  --network network=host-bridge \
  --os-type linux

答案1

您必須指定 libvirt/qemu 用於 VM 的 CPU「型號」。

最簡單的方法是使用「主機」模型,它將從主機向虛擬機器公開所有 libvirt/qemu 支援的標誌。

在 libvirt XML 節:

<cpu mode='host-model'/>

完整文件在這裡:https://libvirt.org/formatdomain.html#elementsCPU

相關內容