1
0
mirror of https://gitlab.com/libvirt/libvirt.git synced 2025-03-20 06:50:22 +03:00

domaincapstest: Use proper input file based on 'variant' in 'fillQemuCaps'

The qemu part of 'domaincapstest' supports testing of the '+hvf' variant
of files, but doesn't properly pick the input file. The input file lacks
the variant part thus the wrong file is used.

Propagate the variant and select the correct input file.

Fixes: 738c5bae888cfa72ed359899cf1a41fed9dbb0f5
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>
This commit is contained in:
Peter Krempa 2025-03-03 18:18:06 +01:00
parent 107cf9992f
commit af68ab6b26
3 changed files with 1001 additions and 6 deletions

View File

@ -3,6 +3,7 @@
<domain>hvf</domain>
<machine>virt-7.0</machine>
<arch>aarch64</arch>
<vcpu max='512'/>
<iothreads supported='yes'/>
<os supported='yes'>
<enum name='firmware'>
@ -37,7 +38,47 @@
</enum>
</mode>
<mode name='host-model' supported='no'/>
<mode name='custom' supported='no'/>
<mode name='custom' supported='yes'>
<model usable='unknown' vendor='unknown'>a64fx</model>
<model usable='unknown' vendor='unknown'>arm1026</model>
<model usable='unknown' vendor='unknown'>arm1136</model>
<model usable='unknown' vendor='unknown'>arm1136-r2</model>
<model usable='unknown' vendor='unknown'>arm1176</model>
<model usable='unknown' vendor='unknown'>arm11mpcore</model>
<model usable='unknown' vendor='unknown'>arm926</model>
<model usable='unknown' vendor='unknown'>arm946</model>
<model usable='unknown' vendor='unknown'>cortex-a15</model>
<model usable='unknown' vendor='unknown'>cortex-a53</model>
<model usable='unknown' vendor='unknown'>cortex-a57</model>
<model usable='unknown' vendor='unknown'>cortex-a7</model>
<model usable='unknown' vendor='unknown'>cortex-a72</model>
<model usable='unknown' vendor='unknown'>cortex-a8</model>
<model usable='unknown' vendor='unknown'>cortex-a9</model>
<model usable='unknown' vendor='unknown'>cortex-m0</model>
<model usable='unknown' vendor='unknown'>cortex-m3</model>
<model usable='unknown' vendor='unknown'>cortex-m33</model>
<model usable='unknown' vendor='unknown'>cortex-m4</model>
<model usable='unknown' vendor='unknown'>cortex-m55</model>
<model usable='unknown' vendor='unknown'>cortex-m7</model>
<model usable='unknown' vendor='unknown'>cortex-r5</model>
<model usable='unknown' vendor='unknown'>cortex-r5f</model>
<model usable='unknown' vendor='unknown'>max</model>
<model usable='unknown' vendor='unknown'>pxa250</model>
<model usable='unknown' vendor='unknown'>pxa255</model>
<model usable='unknown' vendor='unknown'>pxa260</model>
<model usable='unknown' vendor='unknown'>pxa261</model>
<model usable='unknown' vendor='unknown'>pxa262</model>
<model usable='unknown' vendor='unknown'>pxa270</model>
<model usable='unknown' vendor='unknown'>pxa270-a0</model>
<model usable='unknown' vendor='unknown'>pxa270-a1</model>
<model usable='unknown' vendor='unknown'>pxa270-b0</model>
<model usable='unknown' vendor='unknown'>pxa270-b1</model>
<model usable='unknown' vendor='unknown'>pxa270-c0</model>
<model usable='unknown' vendor='unknown'>pxa270-c5</model>
<model usable='unknown' vendor='unknown'>sa1100</model>
<model usable='unknown' vendor='unknown'>sa1110</model>
<model usable='unknown' vendor='unknown'>ti925t</model>
</mode>
</cpu>
<memoryBacking supported='yes'>
<enum name='sourceType'>

View File

@ -3,6 +3,7 @@
<domain>hvf</domain>
<machine>pc-i440fx-7.2</machine>
<arch>x86_64</arch>
<vcpu max='255'/>
<iothreads supported='yes'/>
<os supported='yes'>
<enum name='firmware'>
@ -38,8 +39,955 @@
<value>off</value>
</enum>
</mode>
<mode name='host-model' supported='no'/>
<mode name='custom' supported='no'/>
<mode name='host-model' supported='yes'>
<model fallback='forbid'>EPYC-Rome</model>
<vendor>AMD</vendor>
<maxphysaddr mode='passthrough' limit='64'/>
<feature policy='require' name='x2apic'/>
<feature policy='require' name='tsc-deadline'/>
<feature policy='require' name='hypervisor'/>
<feature policy='require' name='tsc_adjust'/>
<feature policy='require' name='stibp'/>
<feature policy='require' name='arch-capabilities'/>
<feature policy='require' name='ssbd'/>
<feature policy='require' name='xsaves'/>
<feature policy='require' name='cmp_legacy'/>
<feature policy='require' name='invtsc'/>
<feature policy='require' name='amd-ssbd'/>
<feature policy='require' name='virt-ssbd'/>
<feature policy='require' name='lbrv'/>
<feature policy='require' name='tsc-scale'/>
<feature policy='require' name='vmcb-clean'/>
<feature policy='require' name='pause-filter'/>
<feature policy='require' name='pfthreshold'/>
<feature policy='require' name='v-vmsave-vmload'/>
<feature policy='require' name='vgif'/>
<feature policy='require' name='svme-addr-chk'/>
<feature policy='require' name='rdctl-no'/>
<feature policy='require' name='skip-l1dfl-vmentry'/>
<feature policy='require' name='mds-no'/>
<feature policy='require' name='pschange-mc-no'/>
</mode>
<mode name='custom' supported='yes'>
<model usable='yes' vendor='unknown' canonical='486-v1'>486</model>
<model usable='yes' vendor='unknown'>486-v1</model>
<model usable='no' vendor='Intel' canonical='Broadwell-v1'>Broadwell</model>
<blockers model='Broadwell'>
<feature name='erms'/>
<feature name='hle'/>
<feature name='invpcid'/>
<feature name='pcid'/>
<feature name='rtm'/>
</blockers>
<model usable='no' vendor='Intel' canonical='Broadwell-v3'>Broadwell-IBRS</model>
<blockers model='Broadwell-IBRS'>
<feature name='erms'/>
<feature name='hle'/>
<feature name='invpcid'/>
<feature name='pcid'/>
<feature name='rtm'/>
<feature name='spec-ctrl'/>
</blockers>
<model usable='no' vendor='Intel' canonical='Broadwell-v2'>Broadwell-noTSX</model>
<blockers model='Broadwell-noTSX'>
<feature name='erms'/>
<feature name='invpcid'/>
<feature name='pcid'/>
</blockers>
<model usable='no' vendor='Intel' canonical='Broadwell-v4'>Broadwell-noTSX-IBRS</model>
<blockers model='Broadwell-noTSX-IBRS'>
<feature name='erms'/>
<feature name='invpcid'/>
<feature name='pcid'/>
<feature name='spec-ctrl'/>
</blockers>
<model usable='no' vendor='Intel'>Broadwell-v1</model>
<blockers model='Broadwell-v1'>
<feature name='erms'/>
<feature name='hle'/>
<feature name='invpcid'/>
<feature name='pcid'/>
<feature name='rtm'/>
</blockers>
<model usable='no' vendor='Intel'>Broadwell-v2</model>
<blockers model='Broadwell-v2'>
<feature name='erms'/>
<feature name='invpcid'/>
<feature name='pcid'/>
</blockers>
<model usable='no' vendor='Intel'>Broadwell-v3</model>
<blockers model='Broadwell-v3'>
<feature name='erms'/>
<feature name='hle'/>
<feature name='invpcid'/>
<feature name='pcid'/>
<feature name='rtm'/>
<feature name='spec-ctrl'/>
</blockers>
<model usable='no' vendor='Intel'>Broadwell-v4</model>
<blockers model='Broadwell-v4'>
<feature name='erms'/>
<feature name='invpcid'/>
<feature name='pcid'/>
<feature name='spec-ctrl'/>
</blockers>
<model usable='no' vendor='Intel' canonical='Cascadelake-Server-v1'>Cascadelake-Server</model>
<blockers model='Cascadelake-Server'>
<feature name='avx512bw'/>
<feature name='avx512cd'/>
<feature name='avx512dq'/>
<feature name='avx512f'/>
<feature name='avx512vl'/>
<feature name='avx512vnni'/>
<feature name='erms'/>
<feature name='hle'/>
<feature name='invpcid'/>
<feature name='pcid'/>
<feature name='pku'/>
<feature name='rtm'/>
<feature name='spec-ctrl'/>
</blockers>
<model usable='no' vendor='Intel' canonical='Cascadelake-Server-v3'>Cascadelake-Server-noTSX</model>
<blockers model='Cascadelake-Server-noTSX'>
<feature name='avx512bw'/>
<feature name='avx512cd'/>
<feature name='avx512dq'/>
<feature name='avx512f'/>
<feature name='avx512vl'/>
<feature name='avx512vnni'/>
<feature name='erms'/>
<feature name='ibrs-all'/>
<feature name='invpcid'/>
<feature name='pcid'/>
<feature name='pku'/>
<feature name='spec-ctrl'/>
</blockers>
<model usable='no' vendor='Intel'>Cascadelake-Server-v1</model>
<blockers model='Cascadelake-Server-v1'>
<feature name='avx512bw'/>
<feature name='avx512cd'/>
<feature name='avx512dq'/>
<feature name='avx512f'/>
<feature name='avx512vl'/>
<feature name='avx512vnni'/>
<feature name='erms'/>
<feature name='hle'/>
<feature name='invpcid'/>
<feature name='pcid'/>
<feature name='pku'/>
<feature name='rtm'/>
<feature name='spec-ctrl'/>
</blockers>
<model usable='no' vendor='Intel'>Cascadelake-Server-v2</model>
<blockers model='Cascadelake-Server-v2'>
<feature name='avx512bw'/>
<feature name='avx512cd'/>
<feature name='avx512dq'/>
<feature name='avx512f'/>
<feature name='avx512vl'/>
<feature name='avx512vnni'/>
<feature name='erms'/>
<feature name='hle'/>
<feature name='ibrs-all'/>
<feature name='invpcid'/>
<feature name='pcid'/>
<feature name='pku'/>
<feature name='rtm'/>
<feature name='spec-ctrl'/>
</blockers>
<model usable='no' vendor='Intel'>Cascadelake-Server-v3</model>
<blockers model='Cascadelake-Server-v3'>
<feature name='avx512bw'/>
<feature name='avx512cd'/>
<feature name='avx512dq'/>
<feature name='avx512f'/>
<feature name='avx512vl'/>
<feature name='avx512vnni'/>
<feature name='erms'/>
<feature name='ibrs-all'/>
<feature name='invpcid'/>
<feature name='pcid'/>
<feature name='pku'/>
<feature name='spec-ctrl'/>
</blockers>
<model usable='no' vendor='Intel'>Cascadelake-Server-v4</model>
<blockers model='Cascadelake-Server-v4'>
<feature name='avx512bw'/>
<feature name='avx512cd'/>
<feature name='avx512dq'/>
<feature name='avx512f'/>
<feature name='avx512vl'/>
<feature name='avx512vnni'/>
<feature name='erms'/>
<feature name='ibrs-all'/>
<feature name='invpcid'/>
<feature name='pcid'/>
<feature name='pku'/>
<feature name='spec-ctrl'/>
</blockers>
<model usable='no' vendor='Intel'>Cascadelake-Server-v5</model>
<blockers model='Cascadelake-Server-v5'>
<feature name='avx512bw'/>
<feature name='avx512cd'/>
<feature name='avx512dq'/>
<feature name='avx512f'/>
<feature name='avx512vl'/>
<feature name='avx512vnni'/>
<feature name='erms'/>
<feature name='ibrs-all'/>
<feature name='invpcid'/>
<feature name='pcid'/>
<feature name='pku'/>
<feature name='spec-ctrl'/>
</blockers>
<model usable='yes' vendor='Intel' canonical='Conroe-v1'>Conroe</model>
<model usable='yes' vendor='Intel'>Conroe-v1</model>
<model usable='no' vendor='Intel' canonical='Cooperlake-v1'>Cooperlake</model>
<blockers model='Cooperlake'>
<feature name='avx512-bf16'/>
<feature name='avx512bw'/>
<feature name='avx512cd'/>
<feature name='avx512dq'/>
<feature name='avx512f'/>
<feature name='avx512vl'/>
<feature name='avx512vnni'/>
<feature name='erms'/>
<feature name='hle'/>
<feature name='ibrs-all'/>
<feature name='invpcid'/>
<feature name='pcid'/>
<feature name='pku'/>
<feature name='rtm'/>
<feature name='spec-ctrl'/>
<feature name='taa-no'/>
</blockers>
<model usable='no' vendor='Intel'>Cooperlake-v1</model>
<blockers model='Cooperlake-v1'>
<feature name='avx512-bf16'/>
<feature name='avx512bw'/>
<feature name='avx512cd'/>
<feature name='avx512dq'/>
<feature name='avx512f'/>
<feature name='avx512vl'/>
<feature name='avx512vnni'/>
<feature name='erms'/>
<feature name='hle'/>
<feature name='ibrs-all'/>
<feature name='invpcid'/>
<feature name='pcid'/>
<feature name='pku'/>
<feature name='rtm'/>
<feature name='spec-ctrl'/>
<feature name='taa-no'/>
</blockers>
<model usable='no' vendor='Intel'>Cooperlake-v2</model>
<blockers model='Cooperlake-v2'>
<feature name='avx512-bf16'/>
<feature name='avx512bw'/>
<feature name='avx512cd'/>
<feature name='avx512dq'/>
<feature name='avx512f'/>
<feature name='avx512vl'/>
<feature name='avx512vnni'/>
<feature name='erms'/>
<feature name='hle'/>
<feature name='ibrs-all'/>
<feature name='invpcid'/>
<feature name='pcid'/>
<feature name='pku'/>
<feature name='rtm'/>
<feature name='spec-ctrl'/>
<feature name='taa-no'/>
</blockers>
<model usable='no' vendor='Intel' canonical='Denverton-v1'>Denverton</model>
<blockers model='Denverton'>
<feature name='erms'/>
<feature name='mpx'/>
<feature name='spec-ctrl'/>
</blockers>
<model usable='no' vendor='Intel'>Denverton-v1</model>
<blockers model='Denverton-v1'>
<feature name='erms'/>
<feature name='mpx'/>
<feature name='spec-ctrl'/>
</blockers>
<model usable='no' vendor='Intel'>Denverton-v2</model>
<blockers model='Denverton-v2'>
<feature name='erms'/>
<feature name='spec-ctrl'/>
</blockers>
<model usable='no' vendor='Intel'>Denverton-v3</model>
<blockers model='Denverton-v3'>
<feature name='erms'/>
<feature name='spec-ctrl'/>
</blockers>
<model usable='yes' vendor='Hygon' canonical='Dhyana-v1'>Dhyana</model>
<model usable='yes' vendor='Hygon'>Dhyana-v1</model>
<model usable='yes' vendor='Hygon'>Dhyana-v2</model>
<model usable='yes' vendor='AMD' canonical='EPYC-v1'>EPYC</model>
<model usable='yes' vendor='AMD' canonical='EPYC-v2'>EPYC-IBPB</model>
<model usable='no' vendor='AMD' canonical='EPYC-Milan-v1'>EPYC-Milan</model>
<blockers model='EPYC-Milan'>
<feature name='erms'/>
<feature name='fsrm'/>
<feature name='ibrs'/>
<feature name='invpcid'/>
<feature name='pcid'/>
<feature name='pku'/>
</blockers>
<model usable='no' vendor='AMD'>EPYC-Milan-v1</model>
<blockers model='EPYC-Milan-v1'>
<feature name='erms'/>
<feature name='fsrm'/>
<feature name='ibrs'/>
<feature name='invpcid'/>
<feature name='pcid'/>
<feature name='pku'/>
</blockers>
<model usable='yes' vendor='AMD' canonical='EPYC-Rome-v1'>EPYC-Rome</model>
<model usable='yes' vendor='AMD'>EPYC-Rome-v1</model>
<model usable='no' vendor='AMD'>EPYC-Rome-v2</model>
<blockers model='EPYC-Rome-v2'>
<feature name='ibrs'/>
</blockers>
<model usable='yes' vendor='AMD'>EPYC-v1</model>
<model usable='yes' vendor='AMD'>EPYC-v2</model>
<model usable='yes' vendor='AMD'>EPYC-v3</model>
<model usable='no' vendor='Intel' canonical='Haswell-v1'>Haswell</model>
<blockers model='Haswell'>
<feature name='erms'/>
<feature name='hle'/>
<feature name='invpcid'/>
<feature name='pcid'/>
<feature name='rtm'/>
</blockers>
<model usable='no' vendor='Intel' canonical='Haswell-v3'>Haswell-IBRS</model>
<blockers model='Haswell-IBRS'>
<feature name='erms'/>
<feature name='hle'/>
<feature name='invpcid'/>
<feature name='pcid'/>
<feature name='rtm'/>
<feature name='spec-ctrl'/>
</blockers>
<model usable='no' vendor='Intel' canonical='Haswell-v2'>Haswell-noTSX</model>
<blockers model='Haswell-noTSX'>
<feature name='erms'/>
<feature name='invpcid'/>
<feature name='pcid'/>
</blockers>
<model usable='no' vendor='Intel' canonical='Haswell-v4'>Haswell-noTSX-IBRS</model>
<blockers model='Haswell-noTSX-IBRS'>
<feature name='erms'/>
<feature name='invpcid'/>
<feature name='pcid'/>
<feature name='spec-ctrl'/>
</blockers>
<model usable='no' vendor='Intel'>Haswell-v1</model>
<blockers model='Haswell-v1'>
<feature name='erms'/>
<feature name='hle'/>
<feature name='invpcid'/>
<feature name='pcid'/>
<feature name='rtm'/>
</blockers>
<model usable='no' vendor='Intel'>Haswell-v2</model>
<blockers model='Haswell-v2'>
<feature name='erms'/>
<feature name='invpcid'/>
<feature name='pcid'/>
</blockers>
<model usable='no' vendor='Intel'>Haswell-v3</model>
<blockers model='Haswell-v3'>
<feature name='erms'/>
<feature name='hle'/>
<feature name='invpcid'/>
<feature name='pcid'/>
<feature name='rtm'/>
<feature name='spec-ctrl'/>
</blockers>
<model usable='no' vendor='Intel'>Haswell-v4</model>
<blockers model='Haswell-v4'>
<feature name='erms'/>
<feature name='invpcid'/>
<feature name='pcid'/>
<feature name='spec-ctrl'/>
</blockers>
<model usable='no' vendor='Intel' canonical='Icelake-Server-v1'>Icelake-Server</model>
<blockers model='Icelake-Server'>
<feature name='avx512-vpopcntdq'/>
<feature name='avx512bitalg'/>
<feature name='avx512bw'/>
<feature name='avx512cd'/>
<feature name='avx512dq'/>
<feature name='avx512f'/>
<feature name='avx512vbmi'/>
<feature name='avx512vbmi2'/>
<feature name='avx512vl'/>
<feature name='avx512vnni'/>
<feature name='erms'/>
<feature name='gfni'/>
<feature name='hle'/>
<feature name='invpcid'/>
<feature name='la57'/>
<feature name='pcid'/>
<feature name='pku'/>
<feature name='rtm'/>
<feature name='spec-ctrl'/>
<feature name='vaes'/>
<feature name='vpclmulqdq'/>
</blockers>
<model usable='no' vendor='Intel' canonical='Icelake-Server-v2'>Icelake-Server-noTSX</model>
<blockers model='Icelake-Server-noTSX'>
<feature name='avx512-vpopcntdq'/>
<feature name='avx512bitalg'/>
<feature name='avx512bw'/>
<feature name='avx512cd'/>
<feature name='avx512dq'/>
<feature name='avx512f'/>
<feature name='avx512vbmi'/>
<feature name='avx512vbmi2'/>
<feature name='avx512vl'/>
<feature name='avx512vnni'/>
<feature name='erms'/>
<feature name='gfni'/>
<feature name='invpcid'/>
<feature name='la57'/>
<feature name='pcid'/>
<feature name='pku'/>
<feature name='spec-ctrl'/>
<feature name='vaes'/>
<feature name='vpclmulqdq'/>
</blockers>
<model usable='no' vendor='Intel'>Icelake-Server-v1</model>
<blockers model='Icelake-Server-v1'>
<feature name='avx512-vpopcntdq'/>
<feature name='avx512bitalg'/>
<feature name='avx512bw'/>
<feature name='avx512cd'/>
<feature name='avx512dq'/>
<feature name='avx512f'/>
<feature name='avx512vbmi'/>
<feature name='avx512vbmi2'/>
<feature name='avx512vl'/>
<feature name='avx512vnni'/>
<feature name='erms'/>
<feature name='gfni'/>
<feature name='hle'/>
<feature name='invpcid'/>
<feature name='la57'/>
<feature name='pcid'/>
<feature name='pku'/>
<feature name='rtm'/>
<feature name='spec-ctrl'/>
<feature name='vaes'/>
<feature name='vpclmulqdq'/>
</blockers>
<model usable='no' vendor='Intel'>Icelake-Server-v2</model>
<blockers model='Icelake-Server-v2'>
<feature name='avx512-vpopcntdq'/>
<feature name='avx512bitalg'/>
<feature name='avx512bw'/>
<feature name='avx512cd'/>
<feature name='avx512dq'/>
<feature name='avx512f'/>
<feature name='avx512vbmi'/>
<feature name='avx512vbmi2'/>
<feature name='avx512vl'/>
<feature name='avx512vnni'/>
<feature name='erms'/>
<feature name='gfni'/>
<feature name='invpcid'/>
<feature name='la57'/>
<feature name='pcid'/>
<feature name='pku'/>
<feature name='spec-ctrl'/>
<feature name='vaes'/>
<feature name='vpclmulqdq'/>
</blockers>
<model usable='no' vendor='Intel'>Icelake-Server-v3</model>
<blockers model='Icelake-Server-v3'>
<feature name='avx512-vpopcntdq'/>
<feature name='avx512bitalg'/>
<feature name='avx512bw'/>
<feature name='avx512cd'/>
<feature name='avx512dq'/>
<feature name='avx512f'/>
<feature name='avx512vbmi'/>
<feature name='avx512vbmi2'/>
<feature name='avx512vl'/>
<feature name='avx512vnni'/>
<feature name='erms'/>
<feature name='gfni'/>
<feature name='ibrs-all'/>
<feature name='invpcid'/>
<feature name='la57'/>
<feature name='pcid'/>
<feature name='pku'/>
<feature name='spec-ctrl'/>
<feature name='taa-no'/>
<feature name='vaes'/>
<feature name='vpclmulqdq'/>
</blockers>
<model usable='no' vendor='Intel'>Icelake-Server-v4</model>
<blockers model='Icelake-Server-v4'>
<feature name='avx512-vpopcntdq'/>
<feature name='avx512bitalg'/>
<feature name='avx512bw'/>
<feature name='avx512cd'/>
<feature name='avx512dq'/>
<feature name='avx512f'/>
<feature name='avx512ifma'/>
<feature name='avx512vbmi'/>
<feature name='avx512vbmi2'/>
<feature name='avx512vl'/>
<feature name='avx512vnni'/>
<feature name='erms'/>
<feature name='fsrm'/>
<feature name='gfni'/>
<feature name='ibrs-all'/>
<feature name='invpcid'/>
<feature name='la57'/>
<feature name='pcid'/>
<feature name='pku'/>
<feature name='spec-ctrl'/>
<feature name='taa-no'/>
<feature name='vaes'/>
<feature name='vpclmulqdq'/>
</blockers>
<model usable='no' vendor='Intel'>Icelake-Server-v5</model>
<blockers model='Icelake-Server-v5'>
<feature name='avx512-vpopcntdq'/>
<feature name='avx512bitalg'/>
<feature name='avx512bw'/>
<feature name='avx512cd'/>
<feature name='avx512dq'/>
<feature name='avx512f'/>
<feature name='avx512ifma'/>
<feature name='avx512vbmi'/>
<feature name='avx512vbmi2'/>
<feature name='avx512vl'/>
<feature name='avx512vnni'/>
<feature name='erms'/>
<feature name='fsrm'/>
<feature name='gfni'/>
<feature name='ibrs-all'/>
<feature name='invpcid'/>
<feature name='la57'/>
<feature name='pcid'/>
<feature name='pku'/>
<feature name='spec-ctrl'/>
<feature name='taa-no'/>
<feature name='vaes'/>
<feature name='vpclmulqdq'/>
</blockers>
<model usable='no' vendor='Intel'>Icelake-Server-v6</model>
<blockers model='Icelake-Server-v6'>
<feature name='avx512-vpopcntdq'/>
<feature name='avx512bitalg'/>
<feature name='avx512bw'/>
<feature name='avx512cd'/>
<feature name='avx512dq'/>
<feature name='avx512f'/>
<feature name='avx512ifma'/>
<feature name='avx512vbmi'/>
<feature name='avx512vbmi2'/>
<feature name='avx512vl'/>
<feature name='avx512vnni'/>
<feature name='erms'/>
<feature name='fsrm'/>
<feature name='gfni'/>
<feature name='ibrs-all'/>
<feature name='invpcid'/>
<feature name='la57'/>
<feature name='pcid'/>
<feature name='pku'/>
<feature name='spec-ctrl'/>
<feature name='taa-no'/>
<feature name='vaes'/>
<feature name='vpclmulqdq'/>
</blockers>
<model usable='no' vendor='Intel' canonical='IvyBridge-v1'>IvyBridge</model>
<blockers model='IvyBridge'>
<feature name='erms'/>
</blockers>
<model usable='no' vendor='Intel' canonical='IvyBridge-v2'>IvyBridge-IBRS</model>
<blockers model='IvyBridge-IBRS'>
<feature name='erms'/>
<feature name='spec-ctrl'/>
</blockers>
<model usable='no' vendor='Intel'>IvyBridge-v1</model>
<blockers model='IvyBridge-v1'>
<feature name='erms'/>
</blockers>
<model usable='no' vendor='Intel'>IvyBridge-v2</model>
<blockers model='IvyBridge-v2'>
<feature name='erms'/>
<feature name='spec-ctrl'/>
</blockers>
<model usable='no' vendor='Intel' canonical='KnightsMill-v1'>KnightsMill</model>
<blockers model='KnightsMill'>
<feature name='avx512-4fmaps'/>
<feature name='avx512-4vnniw'/>
<feature name='avx512-vpopcntdq'/>
<feature name='avx512cd'/>
<feature name='avx512er'/>
<feature name='avx512f'/>
<feature name='avx512pf'/>
<feature name='erms'/>
<feature name='ss'/>
</blockers>
<model usable='no' vendor='Intel'>KnightsMill-v1</model>
<blockers model='KnightsMill-v1'>
<feature name='avx512-4fmaps'/>
<feature name='avx512-4vnniw'/>
<feature name='avx512-vpopcntdq'/>
<feature name='avx512cd'/>
<feature name='avx512er'/>
<feature name='avx512f'/>
<feature name='avx512pf'/>
<feature name='erms'/>
<feature name='ss'/>
</blockers>
<model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model>
<model usable='no' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model>
<blockers model='Nehalem-IBRS'>
<feature name='spec-ctrl'/>
</blockers>
<model usable='yes' vendor='Intel'>Nehalem-v1</model>
<model usable='no' vendor='Intel'>Nehalem-v2</model>
<blockers model='Nehalem-v2'>
<feature name='spec-ctrl'/>
</blockers>
<model usable='yes' vendor='AMD' canonical='Opteron_G1-v1'>Opteron_G1</model>
<model usable='yes' vendor='AMD'>Opteron_G1-v1</model>
<model usable='yes' vendor='AMD' canonical='Opteron_G2-v1'>Opteron_G2</model>
<model usable='yes' vendor='AMD'>Opteron_G2-v1</model>
<model usable='yes' vendor='AMD' canonical='Opteron_G3-v1'>Opteron_G3</model>
<model usable='yes' vendor='AMD'>Opteron_G3-v1</model>
<model usable='no' vendor='AMD' canonical='Opteron_G4-v1'>Opteron_G4</model>
<blockers model='Opteron_G4'>
<feature name='fma4'/>
<feature name='xop'/>
</blockers>
<model usable='no' vendor='AMD'>Opteron_G4-v1</model>
<blockers model='Opteron_G4-v1'>
<feature name='fma4'/>
<feature name='xop'/>
</blockers>
<model usable='no' vendor='AMD' canonical='Opteron_G5-v1'>Opteron_G5</model>
<blockers model='Opteron_G5'>
<feature name='fma4'/>
<feature name='tbm'/>
<feature name='xop'/>
</blockers>
<model usable='no' vendor='AMD'>Opteron_G5-v1</model>
<blockers model='Opteron_G5-v1'>
<feature name='fma4'/>
<feature name='tbm'/>
<feature name='xop'/>
</blockers>
<model usable='yes' vendor='Intel' canonical='Penryn-v1'>Penryn</model>
<model usable='yes' vendor='Intel'>Penryn-v1</model>
<model usable='yes' vendor='Intel' canonical='SandyBridge-v1'>SandyBridge</model>
<model usable='no' vendor='Intel' canonical='SandyBridge-v2'>SandyBridge-IBRS</model>
<blockers model='SandyBridge-IBRS'>
<feature name='spec-ctrl'/>
</blockers>
<model usable='yes' vendor='Intel'>SandyBridge-v1</model>
<model usable='no' vendor='Intel'>SandyBridge-v2</model>
<blockers model='SandyBridge-v2'>
<feature name='spec-ctrl'/>
</blockers>
<model usable='no' vendor='Intel' canonical='Skylake-Client-v1'>Skylake-Client</model>
<blockers model='Skylake-Client'>
<feature name='erms'/>
<feature name='hle'/>
<feature name='invpcid'/>
<feature name='pcid'/>
<feature name='rtm'/>
</blockers>
<model usable='no' vendor='Intel' canonical='Skylake-Client-v2'>Skylake-Client-IBRS</model>
<blockers model='Skylake-Client-IBRS'>
<feature name='erms'/>
<feature name='hle'/>
<feature name='invpcid'/>
<feature name='pcid'/>
<feature name='rtm'/>
<feature name='spec-ctrl'/>
</blockers>
<model usable='no' vendor='Intel' canonical='Skylake-Client-v3'>Skylake-Client-noTSX-IBRS</model>
<blockers model='Skylake-Client-noTSX-IBRS'>
<feature name='erms'/>
<feature name='invpcid'/>
<feature name='pcid'/>
<feature name='spec-ctrl'/>
</blockers>
<model usable='no' vendor='Intel'>Skylake-Client-v1</model>
<blockers model='Skylake-Client-v1'>
<feature name='erms'/>
<feature name='hle'/>
<feature name='invpcid'/>
<feature name='pcid'/>
<feature name='rtm'/>
</blockers>
<model usable='no' vendor='Intel'>Skylake-Client-v2</model>
<blockers model='Skylake-Client-v2'>
<feature name='erms'/>
<feature name='hle'/>
<feature name='invpcid'/>
<feature name='pcid'/>
<feature name='rtm'/>
<feature name='spec-ctrl'/>
</blockers>
<model usable='no' vendor='Intel'>Skylake-Client-v3</model>
<blockers model='Skylake-Client-v3'>
<feature name='erms'/>
<feature name='invpcid'/>
<feature name='pcid'/>
<feature name='spec-ctrl'/>
</blockers>
<model usable='no' vendor='Intel'>Skylake-Client-v4</model>
<blockers model='Skylake-Client-v4'>
<feature name='erms'/>
<feature name='invpcid'/>
<feature name='pcid'/>
<feature name='spec-ctrl'/>
</blockers>
<model usable='no' vendor='Intel' canonical='Skylake-Server-v1'>Skylake-Server</model>
<blockers model='Skylake-Server'>
<feature name='avx512bw'/>
<feature name='avx512cd'/>
<feature name='avx512dq'/>
<feature name='avx512f'/>
<feature name='avx512vl'/>
<feature name='erms'/>
<feature name='hle'/>
<feature name='invpcid'/>
<feature name='pcid'/>
<feature name='pku'/>
<feature name='rtm'/>
</blockers>
<model usable='no' vendor='Intel' canonical='Skylake-Server-v2'>Skylake-Server-IBRS</model>
<blockers model='Skylake-Server-IBRS'>
<feature name='avx512bw'/>
<feature name='avx512cd'/>
<feature name='avx512dq'/>
<feature name='avx512f'/>
<feature name='avx512vl'/>
<feature name='erms'/>
<feature name='hle'/>
<feature name='invpcid'/>
<feature name='pcid'/>
<feature name='pku'/>
<feature name='rtm'/>
<feature name='spec-ctrl'/>
</blockers>
<model usable='no' vendor='Intel' canonical='Skylake-Server-v3'>Skylake-Server-noTSX-IBRS</model>
<blockers model='Skylake-Server-noTSX-IBRS'>
<feature name='avx512bw'/>
<feature name='avx512cd'/>
<feature name='avx512dq'/>
<feature name='avx512f'/>
<feature name='avx512vl'/>
<feature name='erms'/>
<feature name='invpcid'/>
<feature name='pcid'/>
<feature name='pku'/>
<feature name='spec-ctrl'/>
</blockers>
<model usable='no' vendor='Intel'>Skylake-Server-v1</model>
<blockers model='Skylake-Server-v1'>
<feature name='avx512bw'/>
<feature name='avx512cd'/>
<feature name='avx512dq'/>
<feature name='avx512f'/>
<feature name='avx512vl'/>
<feature name='erms'/>
<feature name='hle'/>
<feature name='invpcid'/>
<feature name='pcid'/>
<feature name='pku'/>
<feature name='rtm'/>
</blockers>
<model usable='no' vendor='Intel'>Skylake-Server-v2</model>
<blockers model='Skylake-Server-v2'>
<feature name='avx512bw'/>
<feature name='avx512cd'/>
<feature name='avx512dq'/>
<feature name='avx512f'/>
<feature name='avx512vl'/>
<feature name='erms'/>
<feature name='hle'/>
<feature name='invpcid'/>
<feature name='pcid'/>
<feature name='pku'/>
<feature name='rtm'/>
<feature name='spec-ctrl'/>
</blockers>
<model usable='no' vendor='Intel'>Skylake-Server-v3</model>
<blockers model='Skylake-Server-v3'>
<feature name='avx512bw'/>
<feature name='avx512cd'/>
<feature name='avx512dq'/>
<feature name='avx512f'/>
<feature name='avx512vl'/>
<feature name='erms'/>
<feature name='invpcid'/>
<feature name='pcid'/>
<feature name='pku'/>
<feature name='spec-ctrl'/>
</blockers>
<model usable='no' vendor='Intel'>Skylake-Server-v4</model>
<blockers model='Skylake-Server-v4'>
<feature name='avx512bw'/>
<feature name='avx512cd'/>
<feature name='avx512dq'/>
<feature name='avx512f'/>
<feature name='avx512vl'/>
<feature name='erms'/>
<feature name='invpcid'/>
<feature name='pcid'/>
<feature name='pku'/>
<feature name='spec-ctrl'/>
</blockers>
<model usable='no' vendor='Intel'>Skylake-Server-v5</model>
<blockers model='Skylake-Server-v5'>
<feature name='avx512bw'/>
<feature name='avx512cd'/>
<feature name='avx512dq'/>
<feature name='avx512f'/>
<feature name='avx512vl'/>
<feature name='erms'/>
<feature name='invpcid'/>
<feature name='pcid'/>
<feature name='pku'/>
<feature name='spec-ctrl'/>
</blockers>
<model usable='no' vendor='Intel' canonical='Snowridge-v1'>Snowridge</model>
<blockers model='Snowridge'>
<feature name='cldemote'/>
<feature name='core-capability'/>
<feature name='erms'/>
<feature name='gfni'/>
<feature name='movdir64b'/>
<feature name='movdiri'/>
<feature name='mpx'/>
<feature name='spec-ctrl'/>
<feature name='split-lock-detect'/>
</blockers>
<model usable='no' vendor='Intel'>Snowridge-v1</model>
<blockers model='Snowridge-v1'>
<feature name='cldemote'/>
<feature name='core-capability'/>
<feature name='erms'/>
<feature name='gfni'/>
<feature name='movdir64b'/>
<feature name='movdiri'/>
<feature name='mpx'/>
<feature name='spec-ctrl'/>
<feature name='split-lock-detect'/>
</blockers>
<model usable='no' vendor='Intel'>Snowridge-v2</model>
<blockers model='Snowridge-v2'>
<feature name='cldemote'/>
<feature name='core-capability'/>
<feature name='erms'/>
<feature name='gfni'/>
<feature name='movdir64b'/>
<feature name='movdiri'/>
<feature name='spec-ctrl'/>
<feature name='split-lock-detect'/>
</blockers>
<model usable='no' vendor='Intel'>Snowridge-v3</model>
<blockers model='Snowridge-v3'>
<feature name='cldemote'/>
<feature name='core-capability'/>
<feature name='erms'/>
<feature name='gfni'/>
<feature name='movdir64b'/>
<feature name='movdiri'/>
<feature name='spec-ctrl'/>
<feature name='split-lock-detect'/>
</blockers>
<model usable='no' vendor='Intel'>Snowridge-v4</model>
<blockers model='Snowridge-v4'>
<feature name='cldemote'/>
<feature name='erms'/>
<feature name='gfni'/>
<feature name='movdir64b'/>
<feature name='movdiri'/>
<feature name='spec-ctrl'/>
</blockers>
<model usable='yes' vendor='Intel' canonical='Westmere-v1'>Westmere</model>
<model usable='no' vendor='Intel' canonical='Westmere-v2'>Westmere-IBRS</model>
<blockers model='Westmere-IBRS'>
<feature name='spec-ctrl'/>
</blockers>
<model usable='yes' vendor='Intel'>Westmere-v1</model>
<model usable='no' vendor='Intel'>Westmere-v2</model>
<blockers model='Westmere-v2'>
<feature name='spec-ctrl'/>
</blockers>
<model usable='no' vendor='AMD' canonical='athlon-v1'>athlon</model>
<blockers model='athlon'>
<feature name='3dnow'/>
<feature name='3dnowext'/>
</blockers>
<model usable='no' vendor='AMD'>athlon-v1</model>
<blockers model='athlon-v1'>
<feature name='3dnow'/>
<feature name='3dnowext'/>
</blockers>
<model usable='no' vendor='Intel' canonical='core2duo-v1'>core2duo</model>
<blockers model='core2duo'>
<feature name='ss'/>
</blockers>
<model usable='no' vendor='Intel'>core2duo-v1</model>
<blockers model='core2duo-v1'>
<feature name='ss'/>
</blockers>
<model usable='no' vendor='Intel' canonical='coreduo-v1'>coreduo</model>
<blockers model='coreduo'>
<feature name='ss'/>
</blockers>
<model usable='no' vendor='Intel'>coreduo-v1</model>
<blockers model='coreduo-v1'>
<feature name='ss'/>
</blockers>
<model usable='yes' vendor='unknown' canonical='kvm32-v1'>kvm32</model>
<model usable='yes' vendor='unknown'>kvm32-v1</model>
<model usable='yes' vendor='unknown' canonical='kvm64-v1'>kvm64</model>
<model usable='yes' vendor='unknown'>kvm64-v1</model>
<model usable='no' vendor='Intel' canonical='n270-v1'>n270</model>
<blockers model='n270'>
<feature name='ss'/>
</blockers>
<model usable='no' vendor='Intel'>n270-v1</model>
<blockers model='n270-v1'>
<feature name='ss'/>
</blockers>
<model usable='yes' vendor='unknown' canonical='pentium-v1'>pentium</model>
<model usable='yes' vendor='unknown'>pentium-v1</model>
<model usable='yes' vendor='unknown' canonical='pentium2-v1'>pentium2</model>
<model usable='yes' vendor='unknown'>pentium2-v1</model>
<model usable='yes' vendor='unknown' canonical='pentium3-v1'>pentium3</model>
<model usable='yes' vendor='unknown'>pentium3-v1</model>
<model usable='no' vendor='AMD' canonical='phenom-v1'>phenom</model>
<blockers model='phenom'>
<feature name='3dnow'/>
<feature name='3dnowext'/>
</blockers>
<model usable='no' vendor='AMD'>phenom-v1</model>
<blockers model='phenom-v1'>
<feature name='3dnow'/>
<feature name='3dnowext'/>
</blockers>
<model usable='yes' vendor='unknown' canonical='qemu32-v1'>qemu32</model>
<model usable='yes' vendor='unknown'>qemu32-v1</model>
<model usable='yes' vendor='unknown' canonical='qemu64-v1'>qemu64</model>
<model usable='yes' vendor='unknown'>qemu64-v1</model>
</mode>
</cpu>
<memoryBacking supported='yes'>
<enum name='sourceType'>

View File

@ -70,6 +70,7 @@ static int
fillQemuCaps(virDomainCaps *domCaps,
const char *name,
const char *arch,
const char *variant,
const char *machine,
virQEMUDriverConfig *cfg)
{
@ -81,7 +82,7 @@ fillQemuCaps(virDomainCaps *domCaps,
if (fakeHostCPU(domCaps->arch) < 0)
return -1;
path = g_strdup_printf("%s/%s_%s.xml", TEST_QEMU_CAPS_PATH, name, arch);
path = g_strdup_printf("%s/%s_%s%s.xml", TEST_QEMU_CAPS_PATH, name, arch, variant);
if (!(qemuCaps = qemuTestParseCapabilitiesArch(domCaps->arch, path)))
return -1;
@ -182,6 +183,7 @@ struct testData {
const char *emulator;
const char *machine;
const char *arch;
const char *variant;
virDomainVirtType type;
enum testCapsType capsType;
const char *capsName;
@ -209,8 +211,8 @@ test_virDomainCapsFormat(const void *opaque)
case CAPS_QEMU:
#if WITH_QEMU
if (fillQemuCaps(domCaps, data->capsName, data->arch, data->machine,
data->capsOpaque) < 0)
if (fillQemuCaps(domCaps, data->capsName, data->arch, data->variant,
data->machine, data->capsOpaque) < 0)
return -1;
#endif
break;
@ -259,6 +261,7 @@ doTestQemuInternal(const char *version,
.emulator = emulator,
.machine = machine,
.arch = arch,
.variant = variant,
.type = type,
.capsType = CAPS_QEMU,
.capsName = capsName,
@ -426,6 +429,7 @@ mymain(void)
.emulator = Emulator, \
.machine = Machine, \
.arch = Arch, \
.variant = "", \
.type = Type, \
.capsType = CapsType, \
}; \
@ -440,6 +444,7 @@ mymain(void)
.emulator = Emulator, \
.machine = Machine, \
.arch = Arch, \
.variant = "", \
.type = Type, \
.capsType = CAPS_LIBXL, \
}; \
@ -456,6 +461,7 @@ mymain(void)
.name = name, \
.emulator = Emulator, \
.arch = "x86_64", \
.variant = "", \
.type = Type, \
.capsType = CAPS_BHYVE, \
.capsOpaque = BhyveCaps, \