mirror of https://gitee.com/openkylin/libvirt.git
qemu: Parse unavailable features for CPU models
query-cpu-definitions QMP command returns a list of unavailable features which prevent CPU models from being usable on the current host. So far we only checked whether the list was empty to mark CPU models as (un)usable. This patch parses all unavailable features for each CPU model and stores them in virDomainCapsCPUModel as a list of usability blockers. Signed-off-by: Jiri Denemark <jdenemar@redhat.com> Reviewed-by: John Ferlan <jferlan@redhat.com>
This commit is contained in:
parent
1255fa877a
commit
e9f8e1b8e6
|
@ -3008,7 +3008,7 @@ virQEMUCapsProbeQMPCPUDefinitions(virQEMUCapsPtr qemuCaps,
|
|||
usable = VIR_DOMCAPS_CPU_USABLE_NO;
|
||||
|
||||
if (virDomainCapsCPUModelsAddSteal(models, &cpus[i]->name, usable,
|
||||
NULL) < 0)
|
||||
&cpus[i]->blockers) < 0)
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
|
|
|
@ -3736,6 +3736,8 @@ qemuMonitorCPUDefInfoFree(qemuMonitorCPUDefInfoPtr cpu)
|
|||
{
|
||||
if (!cpu)
|
||||
return;
|
||||
|
||||
virStringListFree(cpu->blockers);
|
||||
VIR_FREE(cpu->name);
|
||||
VIR_FREE(cpu);
|
||||
}
|
||||
|
|
|
@ -973,6 +973,7 @@ typedef qemuMonitorCPUDefInfo *qemuMonitorCPUDefInfoPtr;
|
|||
struct _qemuMonitorCPUDefInfo {
|
||||
virTristateBool usable;
|
||||
char *name;
|
||||
char **blockers; /* NULL-terminated string list */
|
||||
};
|
||||
|
||||
int qemuMonitorGetCPUDefinitions(qemuMonitorPtr mon,
|
||||
|
|
|
@ -5078,6 +5078,8 @@ qemuMonitorJSONGetCPUDefinitions(qemuMonitorPtr mon,
|
|||
|
||||
if (virJSONValueObjectHasKey(child, "unavailable-features")) {
|
||||
virJSONValuePtr blockers;
|
||||
size_t j;
|
||||
int len;
|
||||
|
||||
blockers = virJSONValueObjectGetArray(child,
|
||||
"unavailable-features");
|
||||
|
@ -5088,10 +5090,30 @@ qemuMonitorJSONGetCPUDefinitions(qemuMonitorPtr mon,
|
|||
goto cleanup;
|
||||
}
|
||||
|
||||
if (virJSONValueArraySize(blockers) > 0)
|
||||
cpu->usable = VIR_TRISTATE_BOOL_NO;
|
||||
else
|
||||
len = virJSONValueArraySize(blockers);
|
||||
|
||||
if (len == 0) {
|
||||
cpu->usable = VIR_TRISTATE_BOOL_YES;
|
||||
continue;
|
||||
}
|
||||
|
||||
cpu->usable = VIR_TRISTATE_BOOL_NO;
|
||||
if (VIR_ALLOC_N(cpu->blockers, len + 1) < 0)
|
||||
goto cleanup;
|
||||
|
||||
for (j = 0; j < len; j++) {
|
||||
virJSONValuePtr blocker = virJSONValueArrayGet(blockers, j);
|
||||
|
||||
if (blocker->type != VIR_JSON_TYPE_STRING) {
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||
_("unexpected value in unavailable-features "
|
||||
"array"));
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
if (VIR_STRDUP(cpu->blockers[j], virJSONValueGetString(blocker)) < 0)
|
||||
goto cleanup;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -701,7 +701,14 @@
|
|||
<cpu type='kvm' name='base' usable='yes'/>
|
||||
<cpu type='kvm' name='qemu64' usable='yes'/>
|
||||
<cpu type='kvm' name='qemu32' usable='yes'/>
|
||||
<cpu type='kvm' name='phenom' usable='no'/>
|
||||
<cpu type='kvm' name='phenom' usable='no'>
|
||||
<blocker name='mmxext'/>
|
||||
<blocker name='fxsr-opt'/>
|
||||
<blocker name='3dnowext'/>
|
||||
<blocker name='3dnow'/>
|
||||
<blocker name='sse4a'/>
|
||||
<blocker name='npt'/>
|
||||
</cpu>
|
||||
<cpu type='kvm' name='pentium3' usable='yes'/>
|
||||
<cpu type='kvm' name='pentium2' usable='yes'/>
|
||||
<cpu type='kvm' name='pentium' usable='yes'/>
|
||||
|
@ -710,31 +717,104 @@
|
|||
<cpu type='kvm' name='kvm32' usable='yes'/>
|
||||
<cpu type='kvm' name='coreduo' usable='yes'/>
|
||||
<cpu type='kvm' name='core2duo' usable='yes'/>
|
||||
<cpu type='kvm' name='athlon' usable='no'/>
|
||||
<cpu type='kvm' name='athlon' usable='no'>
|
||||
<blocker name='mmxext'/>
|
||||
<blocker name='3dnowext'/>
|
||||
<blocker name='3dnow'/>
|
||||
</cpu>
|
||||
<cpu type='kvm' name='Westmere' usable='yes'/>
|
||||
<cpu type='kvm' name='Skylake-Server' usable='no'/>
|
||||
<cpu type='kvm' name='Skylake-Client' usable='no'/>
|
||||
<cpu type='kvm' name='Skylake-Server' usable='no'>
|
||||
<blocker name='hle'/>
|
||||
<blocker name='rtm'/>
|
||||
<blocker name='mpx'/>
|
||||
<blocker name='avx512f'/>
|
||||
<blocker name='avx512dq'/>
|
||||
<blocker name='rdseed'/>
|
||||
<blocker name='adx'/>
|
||||
<blocker name='smap'/>
|
||||
<blocker name='clwb'/>
|
||||
<blocker name='avx512cd'/>
|
||||
<blocker name='avx512bw'/>
|
||||
<blocker name='avx512vl'/>
|
||||
<blocker name='3dnowprefetch'/>
|
||||
<blocker name='xsavec'/>
|
||||
<blocker name='xgetbv1'/>
|
||||
<blocker name='mpx'/>
|
||||
<blocker name='mpx'/>
|
||||
<blocker name='avx512f'/>
|
||||
<blocker name='avx512f'/>
|
||||
<blocker name='avx512f'/>
|
||||
</cpu>
|
||||
<cpu type='kvm' name='Skylake-Client' usable='no'>
|
||||
<blocker name='hle'/>
|
||||
<blocker name='rtm'/>
|
||||
<blocker name='mpx'/>
|
||||
<blocker name='rdseed'/>
|
||||
<blocker name='adx'/>
|
||||
<blocker name='smap'/>
|
||||
<blocker name='3dnowprefetch'/>
|
||||
<blocker name='xsavec'/>
|
||||
<blocker name='xgetbv1'/>
|
||||
<blocker name='mpx'/>
|
||||
<blocker name='mpx'/>
|
||||
</cpu>
|
||||
<cpu type='kvm' name='SandyBridge' usable='yes'/>
|
||||
<cpu type='kvm' name='Penryn' usable='yes'/>
|
||||
<cpu type='kvm' name='Opteron_G5' usable='no'/>
|
||||
<cpu type='kvm' name='Opteron_G4' usable='no'/>
|
||||
<cpu type='kvm' name='Opteron_G3' usable='no'/>
|
||||
<cpu type='kvm' name='Opteron_G5' usable='no'>
|
||||
<blocker name='sse4a'/>
|
||||
<blocker name='misalignsse'/>
|
||||
<blocker name='3dnowprefetch'/>
|
||||
<blocker name='xop'/>
|
||||
<blocker name='fma4'/>
|
||||
<blocker name='tbm'/>
|
||||
</cpu>
|
||||
<cpu type='kvm' name='Opteron_G4' usable='no'>
|
||||
<blocker name='sse4a'/>
|
||||
<blocker name='misalignsse'/>
|
||||
<blocker name='3dnowprefetch'/>
|
||||
<blocker name='xop'/>
|
||||
<blocker name='fma4'/>
|
||||
</cpu>
|
||||
<cpu type='kvm' name='Opteron_G3' usable='no'>
|
||||
<blocker name='sse4a'/>
|
||||
<blocker name='misalignsse'/>
|
||||
</cpu>
|
||||
<cpu type='kvm' name='Opteron_G2' usable='yes'/>
|
||||
<cpu type='kvm' name='Opteron_G1' usable='yes'/>
|
||||
<cpu type='kvm' name='Nehalem' usable='yes'/>
|
||||
<cpu type='kvm' name='IvyBridge' usable='yes'/>
|
||||
<cpu type='kvm' name='Haswell' usable='no'/>
|
||||
<cpu type='kvm' name='Haswell' usable='no'>
|
||||
<blocker name='hle'/>
|
||||
<blocker name='rtm'/>
|
||||
</cpu>
|
||||
<cpu type='kvm' name='Haswell-noTSX' usable='yes'/>
|
||||
<cpu type='kvm' name='Conroe' usable='yes'/>
|
||||
<cpu type='kvm' name='Broadwell' usable='no'/>
|
||||
<cpu type='kvm' name='Broadwell-noTSX' usable='no'/>
|
||||
<cpu type='kvm' name='Broadwell' usable='no'>
|
||||
<blocker name='hle'/>
|
||||
<blocker name='rtm'/>
|
||||
<blocker name='rdseed'/>
|
||||
<blocker name='adx'/>
|
||||
<blocker name='smap'/>
|
||||
<blocker name='3dnowprefetch'/>
|
||||
</cpu>
|
||||
<cpu type='kvm' name='Broadwell-noTSX' usable='no'>
|
||||
<blocker name='rdseed'/>
|
||||
<blocker name='adx'/>
|
||||
<blocker name='smap'/>
|
||||
<blocker name='3dnowprefetch'/>
|
||||
</cpu>
|
||||
<cpu type='kvm' name='486' usable='yes'/>
|
||||
<cpu type='tcg' name='max' usable='yes'/>
|
||||
<cpu type='tcg' name='host' usable='no'/>
|
||||
<cpu type='tcg' name='host' usable='no'>
|
||||
<blocker name='kvm'/>
|
||||
</cpu>
|
||||
<cpu type='tcg' name='base' usable='yes'/>
|
||||
<cpu type='tcg' name='qemu64' usable='yes'/>
|
||||
<cpu type='tcg' name='qemu32' usable='yes'/>
|
||||
<cpu type='tcg' name='phenom' usable='no'/>
|
||||
<cpu type='tcg' name='phenom' usable='no'>
|
||||
<blocker name='fxsr-opt'/>
|
||||
<blocker name='npt'/>
|
||||
</cpu>
|
||||
<cpu type='tcg' name='pentium3' usable='yes'/>
|
||||
<cpu type='tcg' name='pentium2' usable='yes'/>
|
||||
<cpu type='tcg' name='pentium' usable='yes'/>
|
||||
|
@ -745,22 +825,132 @@
|
|||
<cpu type='tcg' name='core2duo' usable='yes'/>
|
||||
<cpu type='tcg' name='athlon' usable='yes'/>
|
||||
<cpu type='tcg' name='Westmere' usable='yes'/>
|
||||
<cpu type='tcg' name='Skylake-Server' usable='no'/>
|
||||
<cpu type='tcg' name='Skylake-Client' usable='no'/>
|
||||
<cpu type='tcg' name='SandyBridge' usable='no'/>
|
||||
<cpu type='tcg' name='Skylake-Server' usable='no'>
|
||||
<blocker name='fma'/>
|
||||
<blocker name='pcid'/>
|
||||
<blocker name='x2apic'/>
|
||||
<blocker name='tsc-deadline'/>
|
||||
<blocker name='avx'/>
|
||||
<blocker name='f16c'/>
|
||||
<blocker name='rdrand'/>
|
||||
<blocker name='hle'/>
|
||||
<blocker name='avx2'/>
|
||||
<blocker name='invpcid'/>
|
||||
<blocker name='rtm'/>
|
||||
<blocker name='avx512f'/>
|
||||
<blocker name='avx512dq'/>
|
||||
<blocker name='rdseed'/>
|
||||
<blocker name='avx512cd'/>
|
||||
<blocker name='avx512bw'/>
|
||||
<blocker name='avx512vl'/>
|
||||
<blocker name='3dnowprefetch'/>
|
||||
<blocker name='xsavec'/>
|
||||
</cpu>
|
||||
<cpu type='tcg' name='Skylake-Client' usable='no'>
|
||||
<blocker name='fma'/>
|
||||
<blocker name='pcid'/>
|
||||
<blocker name='x2apic'/>
|
||||
<blocker name='tsc-deadline'/>
|
||||
<blocker name='avx'/>
|
||||
<blocker name='f16c'/>
|
||||
<blocker name='rdrand'/>
|
||||
<blocker name='hle'/>
|
||||
<blocker name='avx2'/>
|
||||
<blocker name='invpcid'/>
|
||||
<blocker name='rtm'/>
|
||||
<blocker name='rdseed'/>
|
||||
<blocker name='3dnowprefetch'/>
|
||||
<blocker name='xsavec'/>
|
||||
</cpu>
|
||||
<cpu type='tcg' name='SandyBridge' usable='no'>
|
||||
<blocker name='x2apic'/>
|
||||
<blocker name='tsc-deadline'/>
|
||||
<blocker name='avx'/>
|
||||
</cpu>
|
||||
<cpu type='tcg' name='Penryn' usable='yes'/>
|
||||
<cpu type='tcg' name='Opteron_G5' usable='no'/>
|
||||
<cpu type='tcg' name='Opteron_G4' usable='no'/>
|
||||
<cpu type='tcg' name='Opteron_G3' usable='no'/>
|
||||
<cpu type='tcg' name='Opteron_G5' usable='no'>
|
||||
<blocker name='fma'/>
|
||||
<blocker name='avx'/>
|
||||
<blocker name='f16c'/>
|
||||
<blocker name='misalignsse'/>
|
||||
<blocker name='3dnowprefetch'/>
|
||||
<blocker name='xop'/>
|
||||
<blocker name='fma4'/>
|
||||
<blocker name='tbm'/>
|
||||
</cpu>
|
||||
<cpu type='tcg' name='Opteron_G4' usable='no'>
|
||||
<blocker name='avx'/>
|
||||
<blocker name='misalignsse'/>
|
||||
<blocker name='3dnowprefetch'/>
|
||||
<blocker name='xop'/>
|
||||
<blocker name='fma4'/>
|
||||
</cpu>
|
||||
<cpu type='tcg' name='Opteron_G3' usable='no'>
|
||||
<blocker name='misalignsse'/>
|
||||
</cpu>
|
||||
<cpu type='tcg' name='Opteron_G2' usable='yes'/>
|
||||
<cpu type='tcg' name='Opteron_G1' usable='yes'/>
|
||||
<cpu type='tcg' name='Nehalem' usable='yes'/>
|
||||
<cpu type='tcg' name='IvyBridge' usable='no'/>
|
||||
<cpu type='tcg' name='Haswell' usable='no'/>
|
||||
<cpu type='tcg' name='Haswell-noTSX' usable='no'/>
|
||||
<cpu type='tcg' name='IvyBridge' usable='no'>
|
||||
<blocker name='x2apic'/>
|
||||
<blocker name='tsc-deadline'/>
|
||||
<blocker name='avx'/>
|
||||
<blocker name='f16c'/>
|
||||
<blocker name='rdrand'/>
|
||||
</cpu>
|
||||
<cpu type='tcg' name='Haswell' usable='no'>
|
||||
<blocker name='fma'/>
|
||||
<blocker name='pcid'/>
|
||||
<blocker name='x2apic'/>
|
||||
<blocker name='tsc-deadline'/>
|
||||
<blocker name='avx'/>
|
||||
<blocker name='f16c'/>
|
||||
<blocker name='rdrand'/>
|
||||
<blocker name='hle'/>
|
||||
<blocker name='avx2'/>
|
||||
<blocker name='invpcid'/>
|
||||
<blocker name='rtm'/>
|
||||
</cpu>
|
||||
<cpu type='tcg' name='Haswell-noTSX' usable='no'>
|
||||
<blocker name='fma'/>
|
||||
<blocker name='pcid'/>
|
||||
<blocker name='x2apic'/>
|
||||
<blocker name='tsc-deadline'/>
|
||||
<blocker name='avx'/>
|
||||
<blocker name='f16c'/>
|
||||
<blocker name='rdrand'/>
|
||||
<blocker name='avx2'/>
|
||||
<blocker name='invpcid'/>
|
||||
</cpu>
|
||||
<cpu type='tcg' name='Conroe' usable='yes'/>
|
||||
<cpu type='tcg' name='Broadwell' usable='no'/>
|
||||
<cpu type='tcg' name='Broadwell-noTSX' usable='no'/>
|
||||
<cpu type='tcg' name='Broadwell' usable='no'>
|
||||
<blocker name='fma'/>
|
||||
<blocker name='pcid'/>
|
||||
<blocker name='x2apic'/>
|
||||
<blocker name='tsc-deadline'/>
|
||||
<blocker name='avx'/>
|
||||
<blocker name='f16c'/>
|
||||
<blocker name='rdrand'/>
|
||||
<blocker name='hle'/>
|
||||
<blocker name='avx2'/>
|
||||
<blocker name='invpcid'/>
|
||||
<blocker name='rtm'/>
|
||||
<blocker name='rdseed'/>
|
||||
<blocker name='3dnowprefetch'/>
|
||||
</cpu>
|
||||
<cpu type='tcg' name='Broadwell-noTSX' usable='no'>
|
||||
<blocker name='fma'/>
|
||||
<blocker name='pcid'/>
|
||||
<blocker name='x2apic'/>
|
||||
<blocker name='tsc-deadline'/>
|
||||
<blocker name='avx'/>
|
||||
<blocker name='f16c'/>
|
||||
<blocker name='rdrand'/>
|
||||
<blocker name='avx2'/>
|
||||
<blocker name='invpcid'/>
|
||||
<blocker name='rdseed'/>
|
||||
<blocker name='3dnowprefetch'/>
|
||||
</cpu>
|
||||
<cpu type='tcg' name='486' usable='yes'/>
|
||||
<machine name='pc-i440fx-2.10' alias='pc' hotplugCpus='yes' maxCpus='255'/>
|
||||
<machine name='pc-0.12' hotplugCpus='yes' maxCpus='255'/>
|
||||
|
|
|
@ -217,7 +217,14 @@
|
|||
<cpu type='kvm' name='host' usable='yes'/>
|
||||
<cpu type='kvm' name='qemu64' usable='yes'/>
|
||||
<cpu type='kvm' name='qemu32' usable='yes'/>
|
||||
<cpu type='kvm' name='phenom' usable='no'/>
|
||||
<cpu type='kvm' name='phenom' usable='no'>
|
||||
<blocker name='mmxext'/>
|
||||
<blocker name='fxsr-opt'/>
|
||||
<blocker name='3dnowext'/>
|
||||
<blocker name='3dnow'/>
|
||||
<blocker name='sse4a'/>
|
||||
<blocker name='npt'/>
|
||||
</cpu>
|
||||
<cpu type='kvm' name='pentium3' usable='yes'/>
|
||||
<cpu type='kvm' name='pentium2' usable='yes'/>
|
||||
<cpu type='kvm' name='pentium' usable='yes'/>
|
||||
|
@ -226,14 +233,32 @@
|
|||
<cpu type='kvm' name='kvm32' usable='yes'/>
|
||||
<cpu type='kvm' name='coreduo' usable='yes'/>
|
||||
<cpu type='kvm' name='core2duo' usable='yes'/>
|
||||
<cpu type='kvm' name='athlon' usable='no'/>
|
||||
<cpu type='kvm' name='athlon' usable='no'>
|
||||
<blocker name='mmxext'/>
|
||||
<blocker name='3dnowext'/>
|
||||
<blocker name='3dnow'/>
|
||||
</cpu>
|
||||
<cpu type='kvm' name='Westmere' usable='yes'/>
|
||||
<cpu type='kvm' name='Skylake-Client' usable='yes'/>
|
||||
<cpu type='kvm' name='SandyBridge' usable='yes'/>
|
||||
<cpu type='kvm' name='Penryn' usable='yes'/>
|
||||
<cpu type='kvm' name='Opteron_G5' usable='no'/>
|
||||
<cpu type='kvm' name='Opteron_G4' usable='no'/>
|
||||
<cpu type='kvm' name='Opteron_G3' usable='no'/>
|
||||
<cpu type='kvm' name='Opteron_G5' usable='no'>
|
||||
<blocker name='sse4a'/>
|
||||
<blocker name='misalignsse'/>
|
||||
<blocker name='xop'/>
|
||||
<blocker name='fma4'/>
|
||||
<blocker name='tbm'/>
|
||||
</cpu>
|
||||
<cpu type='kvm' name='Opteron_G4' usable='no'>
|
||||
<blocker name='sse4a'/>
|
||||
<blocker name='misalignsse'/>
|
||||
<blocker name='xop'/>
|
||||
<blocker name='fma4'/>
|
||||
</cpu>
|
||||
<cpu type='kvm' name='Opteron_G3' usable='no'>
|
||||
<blocker name='sse4a'/>
|
||||
<blocker name='misalignsse'/>
|
||||
</cpu>
|
||||
<cpu type='kvm' name='Opteron_G2' usable='yes'/>
|
||||
<cpu type='kvm' name='Opteron_G1' usable='yes'/>
|
||||
<cpu type='kvm' name='Nehalem' usable='yes'/>
|
||||
|
@ -244,10 +269,15 @@
|
|||
<cpu type='kvm' name='Broadwell' usable='yes'/>
|
||||
<cpu type='kvm' name='Broadwell-noTSX' usable='yes'/>
|
||||
<cpu type='kvm' name='486' usable='yes'/>
|
||||
<cpu type='tcg' name='host' usable='no'/>
|
||||
<cpu type='tcg' name='host' usable='no'>
|
||||
<blocker name='kvm'/>
|
||||
</cpu>
|
||||
<cpu type='tcg' name='qemu64' usable='yes'/>
|
||||
<cpu type='tcg' name='qemu32' usable='yes'/>
|
||||
<cpu type='tcg' name='phenom' usable='no'/>
|
||||
<cpu type='tcg' name='phenom' usable='no'>
|
||||
<blocker name='fxsr-opt'/>
|
||||
<blocker name='npt'/>
|
||||
</cpu>
|
||||
<cpu type='tcg' name='pentium3' usable='yes'/>
|
||||
<cpu type='tcg' name='pentium2' usable='yes'/>
|
||||
<cpu type='tcg' name='pentium' usable='yes'/>
|
||||
|
@ -258,21 +288,111 @@
|
|||
<cpu type='tcg' name='core2duo' usable='yes'/>
|
||||
<cpu type='tcg' name='athlon' usable='yes'/>
|
||||
<cpu type='tcg' name='Westmere' usable='yes'/>
|
||||
<cpu type='tcg' name='Skylake-Client' usable='no'/>
|
||||
<cpu type='tcg' name='SandyBridge' usable='no'/>
|
||||
<cpu type='tcg' name='Skylake-Client' usable='no'>
|
||||
<blocker name='fma'/>
|
||||
<blocker name='pcid'/>
|
||||
<blocker name='x2apic'/>
|
||||
<blocker name='tsc-deadline'/>
|
||||
<blocker name='avx'/>
|
||||
<blocker name='f16c'/>
|
||||
<blocker name='rdrand'/>
|
||||
<blocker name='hle'/>
|
||||
<blocker name='avx2'/>
|
||||
<blocker name='invpcid'/>
|
||||
<blocker name='rtm'/>
|
||||
<blocker name='rdseed'/>
|
||||
<blocker name='3dnowprefetch'/>
|
||||
<blocker name='xsavec'/>
|
||||
</cpu>
|
||||
<cpu type='tcg' name='SandyBridge' usable='no'>
|
||||
<blocker name='x2apic'/>
|
||||
<blocker name='tsc-deadline'/>
|
||||
<blocker name='avx'/>
|
||||
</cpu>
|
||||
<cpu type='tcg' name='Penryn' usable='yes'/>
|
||||
<cpu type='tcg' name='Opteron_G5' usable='no'/>
|
||||
<cpu type='tcg' name='Opteron_G4' usable='no'/>
|
||||
<cpu type='tcg' name='Opteron_G3' usable='no'/>
|
||||
<cpu type='tcg' name='Opteron_G5' usable='no'>
|
||||
<blocker name='fma'/>
|
||||
<blocker name='avx'/>
|
||||
<blocker name='f16c'/>
|
||||
<blocker name='misalignsse'/>
|
||||
<blocker name='3dnowprefetch'/>
|
||||
<blocker name='xop'/>
|
||||
<blocker name='fma4'/>
|
||||
<blocker name='tbm'/>
|
||||
</cpu>
|
||||
<cpu type='tcg' name='Opteron_G4' usable='no'>
|
||||
<blocker name='avx'/>
|
||||
<blocker name='misalignsse'/>
|
||||
<blocker name='3dnowprefetch'/>
|
||||
<blocker name='xop'/>
|
||||
<blocker name='fma4'/>
|
||||
</cpu>
|
||||
<cpu type='tcg' name='Opteron_G3' usable='no'>
|
||||
<blocker name='misalignsse'/>
|
||||
</cpu>
|
||||
<cpu type='tcg' name='Opteron_G2' usable='yes'/>
|
||||
<cpu type='tcg' name='Opteron_G1' usable='yes'/>
|
||||
<cpu type='tcg' name='Nehalem' usable='yes'/>
|
||||
<cpu type='tcg' name='IvyBridge' usable='no'/>
|
||||
<cpu type='tcg' name='Haswell' usable='no'/>
|
||||
<cpu type='tcg' name='Haswell-noTSX' usable='no'/>
|
||||
<cpu type='tcg' name='IvyBridge' usable='no'>
|
||||
<blocker name='x2apic'/>
|
||||
<blocker name='tsc-deadline'/>
|
||||
<blocker name='avx'/>
|
||||
<blocker name='f16c'/>
|
||||
<blocker name='rdrand'/>
|
||||
</cpu>
|
||||
<cpu type='tcg' name='Haswell' usable='no'>
|
||||
<blocker name='fma'/>
|
||||
<blocker name='pcid'/>
|
||||
<blocker name='x2apic'/>
|
||||
<blocker name='tsc-deadline'/>
|
||||
<blocker name='avx'/>
|
||||
<blocker name='f16c'/>
|
||||
<blocker name='rdrand'/>
|
||||
<blocker name='hle'/>
|
||||
<blocker name='avx2'/>
|
||||
<blocker name='invpcid'/>
|
||||
<blocker name='rtm'/>
|
||||
</cpu>
|
||||
<cpu type='tcg' name='Haswell-noTSX' usable='no'>
|
||||
<blocker name='fma'/>
|
||||
<blocker name='pcid'/>
|
||||
<blocker name='x2apic'/>
|
||||
<blocker name='tsc-deadline'/>
|
||||
<blocker name='avx'/>
|
||||
<blocker name='f16c'/>
|
||||
<blocker name='rdrand'/>
|
||||
<blocker name='avx2'/>
|
||||
<blocker name='invpcid'/>
|
||||
</cpu>
|
||||
<cpu type='tcg' name='Conroe' usable='yes'/>
|
||||
<cpu type='tcg' name='Broadwell' usable='no'/>
|
||||
<cpu type='tcg' name='Broadwell-noTSX' usable='no'/>
|
||||
<cpu type='tcg' name='Broadwell' usable='no'>
|
||||
<blocker name='fma'/>
|
||||
<blocker name='pcid'/>
|
||||
<blocker name='x2apic'/>
|
||||
<blocker name='tsc-deadline'/>
|
||||
<blocker name='avx'/>
|
||||
<blocker name='f16c'/>
|
||||
<blocker name='rdrand'/>
|
||||
<blocker name='hle'/>
|
||||
<blocker name='avx2'/>
|
||||
<blocker name='invpcid'/>
|
||||
<blocker name='rtm'/>
|
||||
<blocker name='rdseed'/>
|
||||
<blocker name='3dnowprefetch'/>
|
||||
</cpu>
|
||||
<cpu type='tcg' name='Broadwell-noTSX' usable='no'>
|
||||
<blocker name='fma'/>
|
||||
<blocker name='pcid'/>
|
||||
<blocker name='x2apic'/>
|
||||
<blocker name='tsc-deadline'/>
|
||||
<blocker name='avx'/>
|
||||
<blocker name='f16c'/>
|
||||
<blocker name='rdrand'/>
|
||||
<blocker name='avx2'/>
|
||||
<blocker name='invpcid'/>
|
||||
<blocker name='rdseed'/>
|
||||
<blocker name='3dnowprefetch'/>
|
||||
</cpu>
|
||||
<cpu type='tcg' name='486' usable='yes'/>
|
||||
<machine name='pc-i440fx-2.8' alias='pc' hotplugCpus='yes' maxCpus='255'/>
|
||||
<machine name='pc-0.12' hotplugCpus='yes' maxCpus='255'/>
|
||||
|
|
|
@ -694,7 +694,14 @@
|
|||
<cpu type='kvm' name='base' usable='yes'/>
|
||||
<cpu type='kvm' name='qemu64' usable='yes'/>
|
||||
<cpu type='kvm' name='qemu32' usable='yes'/>
|
||||
<cpu type='kvm' name='phenom' usable='no'/>
|
||||
<cpu type='kvm' name='phenom' usable='no'>
|
||||
<blocker name='mmxext'/>
|
||||
<blocker name='fxsr-opt'/>
|
||||
<blocker name='3dnowext'/>
|
||||
<blocker name='3dnow'/>
|
||||
<blocker name='sse4a'/>
|
||||
<blocker name='npt'/>
|
||||
</cpu>
|
||||
<cpu type='kvm' name='pentium3' usable='yes'/>
|
||||
<cpu type='kvm' name='pentium2' usable='yes'/>
|
||||
<cpu type='kvm' name='pentium' usable='yes'/>
|
||||
|
@ -703,14 +710,32 @@
|
|||
<cpu type='kvm' name='kvm32' usable='yes'/>
|
||||
<cpu type='kvm' name='coreduo' usable='yes'/>
|
||||
<cpu type='kvm' name='core2duo' usable='yes'/>
|
||||
<cpu type='kvm' name='athlon' usable='no'/>
|
||||
<cpu type='kvm' name='athlon' usable='no'>
|
||||
<blocker name='mmxext'/>
|
||||
<blocker name='3dnowext'/>
|
||||
<blocker name='3dnow'/>
|
||||
</cpu>
|
||||
<cpu type='kvm' name='Westmere' usable='yes'/>
|
||||
<cpu type='kvm' name='Skylake-Client' usable='yes'/>
|
||||
<cpu type='kvm' name='SandyBridge' usable='yes'/>
|
||||
<cpu type='kvm' name='Penryn' usable='yes'/>
|
||||
<cpu type='kvm' name='Opteron_G5' usable='no'/>
|
||||
<cpu type='kvm' name='Opteron_G4' usable='no'/>
|
||||
<cpu type='kvm' name='Opteron_G3' usable='no'/>
|
||||
<cpu type='kvm' name='Opteron_G5' usable='no'>
|
||||
<blocker name='sse4a'/>
|
||||
<blocker name='misalignsse'/>
|
||||
<blocker name='xop'/>
|
||||
<blocker name='fma4'/>
|
||||
<blocker name='tbm'/>
|
||||
</cpu>
|
||||
<cpu type='kvm' name='Opteron_G4' usable='no'>
|
||||
<blocker name='sse4a'/>
|
||||
<blocker name='misalignsse'/>
|
||||
<blocker name='xop'/>
|
||||
<blocker name='fma4'/>
|
||||
</cpu>
|
||||
<cpu type='kvm' name='Opteron_G3' usable='no'>
|
||||
<blocker name='sse4a'/>
|
||||
<blocker name='misalignsse'/>
|
||||
</cpu>
|
||||
<cpu type='kvm' name='Opteron_G2' usable='yes'/>
|
||||
<cpu type='kvm' name='Opteron_G1' usable='yes'/>
|
||||
<cpu type='kvm' name='Nehalem' usable='yes'/>
|
||||
|
@ -722,11 +747,16 @@
|
|||
<cpu type='kvm' name='Broadwell-noTSX' usable='yes'/>
|
||||
<cpu type='kvm' name='486' usable='yes'/>
|
||||
<cpu type='tcg' name='max' usable='yes'/>
|
||||
<cpu type='tcg' name='host' usable='no'/>
|
||||
<cpu type='tcg' name='host' usable='no'>
|
||||
<blocker name='kvm'/>
|
||||
</cpu>
|
||||
<cpu type='tcg' name='base' usable='yes'/>
|
||||
<cpu type='tcg' name='qemu64' usable='yes'/>
|
||||
<cpu type='tcg' name='qemu32' usable='yes'/>
|
||||
<cpu type='tcg' name='phenom' usable='no'/>
|
||||
<cpu type='tcg' name='phenom' usable='no'>
|
||||
<blocker name='fxsr-opt'/>
|
||||
<blocker name='npt'/>
|
||||
</cpu>
|
||||
<cpu type='tcg' name='pentium3' usable='yes'/>
|
||||
<cpu type='tcg' name='pentium2' usable='yes'/>
|
||||
<cpu type='tcg' name='pentium' usable='yes'/>
|
||||
|
@ -737,21 +767,111 @@
|
|||
<cpu type='tcg' name='core2duo' usable='yes'/>
|
||||
<cpu type='tcg' name='athlon' usable='yes'/>
|
||||
<cpu type='tcg' name='Westmere' usable='yes'/>
|
||||
<cpu type='tcg' name='Skylake-Client' usable='no'/>
|
||||
<cpu type='tcg' name='SandyBridge' usable='no'/>
|
||||
<cpu type='tcg' name='Skylake-Client' usable='no'>
|
||||
<blocker name='fma'/>
|
||||
<blocker name='pcid'/>
|
||||
<blocker name='x2apic'/>
|
||||
<blocker name='tsc-deadline'/>
|
||||
<blocker name='avx'/>
|
||||
<blocker name='f16c'/>
|
||||
<blocker name='rdrand'/>
|
||||
<blocker name='hle'/>
|
||||
<blocker name='avx2'/>
|
||||
<blocker name='invpcid'/>
|
||||
<blocker name='rtm'/>
|
||||
<blocker name='rdseed'/>
|
||||
<blocker name='3dnowprefetch'/>
|
||||
<blocker name='xsavec'/>
|
||||
</cpu>
|
||||
<cpu type='tcg' name='SandyBridge' usable='no'>
|
||||
<blocker name='x2apic'/>
|
||||
<blocker name='tsc-deadline'/>
|
||||
<blocker name='avx'/>
|
||||
</cpu>
|
||||
<cpu type='tcg' name='Penryn' usable='yes'/>
|
||||
<cpu type='tcg' name='Opteron_G5' usable='no'/>
|
||||
<cpu type='tcg' name='Opteron_G4' usable='no'/>
|
||||
<cpu type='tcg' name='Opteron_G3' usable='no'/>
|
||||
<cpu type='tcg' name='Opteron_G5' usable='no'>
|
||||
<blocker name='fma'/>
|
||||
<blocker name='avx'/>
|
||||
<blocker name='f16c'/>
|
||||
<blocker name='misalignsse'/>
|
||||
<blocker name='3dnowprefetch'/>
|
||||
<blocker name='xop'/>
|
||||
<blocker name='fma4'/>
|
||||
<blocker name='tbm'/>
|
||||
</cpu>
|
||||
<cpu type='tcg' name='Opteron_G4' usable='no'>
|
||||
<blocker name='avx'/>
|
||||
<blocker name='misalignsse'/>
|
||||
<blocker name='3dnowprefetch'/>
|
||||
<blocker name='xop'/>
|
||||
<blocker name='fma4'/>
|
||||
</cpu>
|
||||
<cpu type='tcg' name='Opteron_G3' usable='no'>
|
||||
<blocker name='misalignsse'/>
|
||||
</cpu>
|
||||
<cpu type='tcg' name='Opteron_G2' usable='yes'/>
|
||||
<cpu type='tcg' name='Opteron_G1' usable='yes'/>
|
||||
<cpu type='tcg' name='Nehalem' usable='yes'/>
|
||||
<cpu type='tcg' name='IvyBridge' usable='no'/>
|
||||
<cpu type='tcg' name='Haswell' usable='no'/>
|
||||
<cpu type='tcg' name='Haswell-noTSX' usable='no'/>
|
||||
<cpu type='tcg' name='IvyBridge' usable='no'>
|
||||
<blocker name='x2apic'/>
|
||||
<blocker name='tsc-deadline'/>
|
||||
<blocker name='avx'/>
|
||||
<blocker name='f16c'/>
|
||||
<blocker name='rdrand'/>
|
||||
</cpu>
|
||||
<cpu type='tcg' name='Haswell' usable='no'>
|
||||
<blocker name='fma'/>
|
||||
<blocker name='pcid'/>
|
||||
<blocker name='x2apic'/>
|
||||
<blocker name='tsc-deadline'/>
|
||||
<blocker name='avx'/>
|
||||
<blocker name='f16c'/>
|
||||
<blocker name='rdrand'/>
|
||||
<blocker name='hle'/>
|
||||
<blocker name='avx2'/>
|
||||
<blocker name='invpcid'/>
|
||||
<blocker name='rtm'/>
|
||||
</cpu>
|
||||
<cpu type='tcg' name='Haswell-noTSX' usable='no'>
|
||||
<blocker name='fma'/>
|
||||
<blocker name='pcid'/>
|
||||
<blocker name='x2apic'/>
|
||||
<blocker name='tsc-deadline'/>
|
||||
<blocker name='avx'/>
|
||||
<blocker name='f16c'/>
|
||||
<blocker name='rdrand'/>
|
||||
<blocker name='avx2'/>
|
||||
<blocker name='invpcid'/>
|
||||
</cpu>
|
||||
<cpu type='tcg' name='Conroe' usable='yes'/>
|
||||
<cpu type='tcg' name='Broadwell' usable='no'/>
|
||||
<cpu type='tcg' name='Broadwell-noTSX' usable='no'/>
|
||||
<cpu type='tcg' name='Broadwell' usable='no'>
|
||||
<blocker name='fma'/>
|
||||
<blocker name='pcid'/>
|
||||
<blocker name='x2apic'/>
|
||||
<blocker name='tsc-deadline'/>
|
||||
<blocker name='avx'/>
|
||||
<blocker name='f16c'/>
|
||||
<blocker name='rdrand'/>
|
||||
<blocker name='hle'/>
|
||||
<blocker name='avx2'/>
|
||||
<blocker name='invpcid'/>
|
||||
<blocker name='rtm'/>
|
||||
<blocker name='rdseed'/>
|
||||
<blocker name='3dnowprefetch'/>
|
||||
</cpu>
|
||||
<cpu type='tcg' name='Broadwell-noTSX' usable='no'>
|
||||
<blocker name='fma'/>
|
||||
<blocker name='pcid'/>
|
||||
<blocker name='x2apic'/>
|
||||
<blocker name='tsc-deadline'/>
|
||||
<blocker name='avx'/>
|
||||
<blocker name='f16c'/>
|
||||
<blocker name='rdrand'/>
|
||||
<blocker name='avx2'/>
|
||||
<blocker name='invpcid'/>
|
||||
<blocker name='rdseed'/>
|
||||
<blocker name='3dnowprefetch'/>
|
||||
</cpu>
|
||||
<cpu type='tcg' name='486' usable='yes'/>
|
||||
<machine name='pc-i440fx-2.9' alias='pc' hotplugCpus='yes' maxCpus='255'/>
|
||||
<machine name='pc-0.12' hotplugCpus='yes' maxCpus='255'/>
|
||||
|
|
Loading…
Reference in New Issue