Como obtenho suporte AVX no QEMU?

6

Eu quero brincar com as novas instruções AVX. Eu vi que o QEMU poderia ter suporte , então eu o criei a partir do Git (ontem). Eu configurei a CPU para o SandyBridge e inicializei o Tiny Core Linux. O TCL tem o kernel 3.0 e a Wikipédia afirma O Linux tem suporte a AVX em 2.6.30 . O TCL também trabalha com o AVX em Bochs. Mas quando eu cat / proc / cpuinfo quando rodando no QEMU, o avx está faltando em flags :

$ cat /proc/cpuinfo 
processor   : 0
vendor_id   : GenuineIntel
cpu family  : 6
model       : 42
model name  : Intel Xeon E312xx (Sandy Bridge)
stepping    : 1
cpu MHz     : 1861.924
cache size  : 4096 KB
fdiv_bug    : no
hlt_bug     : no
f00f_bug    : no
coma_bug    : no
fpu     : yes
fpu_exception   : yes
cpuid level : 13
wp      : yes
flags       : fpu pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx rdtscp lm constant_tsc up pni cx16 popcnt hypervisor lahf_lm
bogomips    : 3725.00
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management:

$

Como obtenho suporte AVX no QEMU?

    
por Janus Troelsen 26.07.2012 / 12:04

1 resposta

6

Parece que, se um recurso definido não estiver disponível, ele falhará silenciosamente por padrão ( source ). O Qemu pode emular alguns conjuntos de instruções não suportados pela CPU do host, mas não tenho certeza se o AVX está entre eles (ou ainda não).

Assegure-se de que todas as bibliotecas usadas pelo Qemu, e especialmente pela libvirt, estejam no nível correto. Você também pode tentar os parâmetros qemu-kvm de -cpu sandyBridge,+avx,enforce . Veja também se este tópico é útil.

Para o AVX e outras novas extensões de conjunto de instruções, a Intel fornece um emulador:
Emulador de desenvolvimento de software Intel .
Você poderia usá-lo em vez disso, para ganhar experiência com o AVX.

    
por 28.07.2012 / 21:21