domaincapstest: Test SUPPORTED_CPU_FEATURES flag

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
This commit is contained in:
Jiri Denemark
2026-06-02 13:45:27 +02:00
parent 26ffa1d4f0
commit 241318232c
17 changed files with 22755 additions and 0 deletions
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,237 @@
<domainCapabilities>
<path>/usr/bin/qemu-system-x86_64</path>
<domain>kvm</domain>
<machine>pc-q35-10.2</machine>
<arch>x86_64</arch>
<iothreads supported='yes'/>
<os supported='yes'>
<enum name='firmware'>
<value>bios</value>
<value>efi</value>
</enum>
<firmwareFeatures supported='yes'>
<enum name='secureBoot'>
<value>yes</value>
<value>no</value>
</enum>
<enum name='enrolledKeys'>
<value>yes</value>
<value>no</value>
</enum>
</firmwareFeatures>
<loader supported='yes'>
<value>/obviously/fake/firmware1.fd</value>
<value>/obviously/fake/firmware2.fd</value>
<enum name='type'>
<value>rom</value>
<value>pflash</value>
</enum>
<enum name='readonly'>
<value>yes</value>
<value>no</value>
</enum>
<enum name='secure'>
<value>yes</value>
<value>no</value>
</enum>
</loader>
<varstore supported='yes'/>
</os>
<cpu>
<mode name='host-passthrough' supported='yes'>
<enum name='hostPassthroughMigratable'>
<value>on</value>
<value>off</value>
</enum>
</mode>
<mode name='maximum' supported='yes'>
<enum name='maximumMigratable'>
<value>on</value>
<value>off</value>
</enum>
</mode>
<mode name='host-model' supported='no'/>
<mode name='custom' supported='no'/>
</cpu>
<memoryBacking supported='yes'>
<enum name='sourceType'>
<value>file</value>
<value>anonymous</value>
<value>memfd</value>
</enum>
</memoryBacking>
<devices>
<disk supported='yes'>
<enum name='diskDevice'>
<value>disk</value>
<value>cdrom</value>
<value>floppy</value>
<value>lun</value>
</enum>
<enum name='bus'>
<value>fdc</value>
<value>scsi</value>
<value>virtio</value>
<value>usb</value>
<value>sata</value>
<value>nvme</value>
</enum>
<enum name='model'>
<value>virtio</value>
<value>virtio-transitional</value>
<value>virtio-non-transitional</value>
</enum>
</disk>
<graphics supported='yes'>
<enum name='type'>
<value>vnc</value>
<value>rdp</value>
<value>egl-headless</value>
<value>dbus</value>
</enum>
</graphics>
<video supported='yes'>
<enum name='modelType'>
<value>vga</value>
<value>cirrus</value>
<value>vmvga</value>
<value>virtio</value>
<value>none</value>
<value>bochs</value>
<value>ramfb</value>
</enum>
</video>
<hostdev supported='yes'>
<enum name='mode'>
<value>subsystem</value>
</enum>
<enum name='startupPolicy'>
<value>default</value>
<value>mandatory</value>
<value>requisite</value>
<value>optional</value>
</enum>
<enum name='subsysType'>
<value>usb</value>
<value>pci</value>
<value>scsi</value>
</enum>
<enum name='capsType'/>
<enum name='pciBackend'>
<value>default</value>
<value>vfio</value>
</enum>
<enum name='iommufd'>
<value>yes</value>
<value>no</value>
</enum>
</hostdev>
<rng supported='yes'>
<enum name='model'>
<value>virtio</value>
<value>virtio-transitional</value>
<value>virtio-non-transitional</value>
</enum>
<enum name='backendModel'>
<value>random</value>
<value>egd</value>
<value>builtin</value>
</enum>
</rng>
<filesystem supported='yes'>
<enum name='driverType'>
<value>path</value>
<value>virtiofs</value>
</enum>
</filesystem>
<tpm supported='yes'>
<enum name='model'>
<value>tpm-tis</value>
<value>tpm-crb</value>
</enum>
<enum name='backendModel'>
<value>passthrough</value>
<value>emulator</value>
<value>external</value>
</enum>
<enum name='backendVersion'>
<value>2.0</value>
</enum>
</tpm>
<redirdev supported='yes'>
<enum name='bus'>
<value>usb</value>
</enum>
</redirdev>
<channel supported='yes'>
<enum name='type'>
<value>pty</value>
<value>unix</value>
</enum>
</channel>
<crypto supported='yes'>
<enum name='model'>
<value>virtio</value>
</enum>
<enum name='type'>
<value>qemu</value>
</enum>
<enum name='backendModel'>
<value>builtin</value>
<value>lkcf</value>
</enum>
</crypto>
<interface supported='yes'>
<enum name='backendType'>
<value>default</value>
<value>passt</value>
</enum>
</interface>
<panic supported='yes'>
<enum name='model'>
<value>isa</value>
<value>hyperv</value>
<value>pvpanic</value>
</enum>
</panic>
<console supported='yes'>
<enum name='type'>
<value>null</value>
<value>vc</value>
<value>pty</value>
<value>dev</value>
<value>file</value>
<value>pipe</value>
<value>stdio</value>
<value>udp</value>
<value>tcp</value>
<value>unix</value>
<value>dbus</value>
</enum>
</console>
</devices>
<features>
<gic supported='no'/>
<vmcoreinfo supported='yes'/>
<genid supported='yes'/>
<backingStoreInput supported='yes'/>
<backup supported='yes'/>
<async-teardown supported='yes'/>
<s390-pv supported='no'/>
<ps2 supported='yes'/>
<tdx supported='yes'/>
<sev supported='no'/>
<sgx supported='no'/>
<hyperv supported='yes'>
<enum name='features'>
<value>spinlocks</value>
<value>vendor_id</value>
</enum>
</hyperv>
<launchSecurity supported='yes'>
<enum name='sectype'>
<value>tdx</value>
</enum>
</launchSecurity>
</features>
</domainCapabilities>
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,895 @@
<domainCapabilities>
<path>/usr/bin/qemu-system-x86_64</path>
<domain>kvm</domain>
<machine>pc-q35-9.2</machine>
<arch>x86_64</arch>
<vcpu max='4096'/>
<iothreads supported='yes'/>
<os supported='yes'>
<enum name='firmware'>
<value>bios</value>
<value>efi</value>
</enum>
<firmwareFeatures supported='yes'>
<enum name='secureBoot'>
<value>yes</value>
<value>no</value>
</enum>
<enum name='enrolledKeys'>
<value>yes</value>
<value>no</value>
</enum>
</firmwareFeatures>
<loader supported='yes'>
<value>/obviously/fake/firmware1.fd</value>
<value>/obviously/fake/firmware2.fd</value>
<enum name='type'>
<value>rom</value>
<value>pflash</value>
</enum>
<enum name='readonly'>
<value>yes</value>
<value>no</value>
</enum>
<enum name='secure'>
<value>yes</value>
<value>no</value>
</enum>
</loader>
<varstore supported='no'/>
</os>
<cpu>
<mode name='host-passthrough' supported='yes'>
<enum name='hostPassthroughMigratable'>
<value>on</value>
<value>off</value>
</enum>
</mode>
<mode name='maximum' supported='yes'>
<enum name='maximumMigratable'>
<value>on</value>
<value>off</value>
</enum>
</mode>
<mode name='host-model' supported='yes'>
<model fallback='forbid'>EPYC-Genoa</model>
<vendor>AMD</vendor>
<maxphysaddr mode='passthrough' limit='64'/>
<feature policy='require' name='arch-capabilities'/>
<feature policy='require' name='cmp_legacy'/>
<feature policy='require' name='flush-l1d'/>
<feature policy='require' name='flushbyasid'/>
<feature policy='require' name='gds-no'/>
<feature policy='require' name='hypervisor'/>
<feature policy='require' name='ibpb-brtype'/>
<feature policy='require' name='invtsc'/>
<feature policy='require' name='lbrv'/>
<feature policy='require' name='mds-no'/>
<feature policy='require' name='overflow-recov'/>
<feature policy='require' name='pause-filter'/>
<feature policy='require' name='perfmon-v2'/>
<feature policy='require' name='pfthreshold'/>
<feature policy='require' name='pschange-mc-no'/>
<feature policy='require' name='rdctl-no'/>
<feature policy='require' name='rfds-no'/>
<feature policy='require' name='sbpb'/>
<feature policy='require' name='skip-l1dfl-vmentry'/>
<feature policy='require' name='spec-ctrl'/>
<feature policy='require' name='ssbd'/>
<feature policy='require' name='stibp'/>
<feature policy='require' name='succor'/>
<feature policy='require' name='tsc-deadline'/>
<feature policy='require' name='tsc-scale'/>
<feature policy='require' name='tsc_adjust'/>
<feature policy='require' name='v-vmsave-vmload'/>
<feature policy='require' name='vgif'/>
<feature policy='require' name='virt-ssbd'/>
<feature policy='require' name='vmcb-clean'/>
<feature policy='require' name='x2apic'/>
</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='hle'/>
<feature name='rtm'/>
</blockers>
<model usable='no' vendor='Intel' canonical='Broadwell-v3'>Broadwell-IBRS</model>
<blockers model='Broadwell-IBRS'>
<feature name='hle'/>
<feature name='rtm'/>
</blockers>
<model usable='yes' vendor='Intel' canonical='Broadwell-v2'>Broadwell-noTSX</model>
<model usable='yes' vendor='Intel' canonical='Broadwell-v4'>Broadwell-noTSX-IBRS</model>
<model usable='no' vendor='Intel'>Broadwell-v1</model>
<blockers model='Broadwell-v1'>
<feature name='hle'/>
<feature name='rtm'/>
</blockers>
<model usable='yes' vendor='Intel'>Broadwell-v2</model>
<model usable='no' vendor='Intel'>Broadwell-v3</model>
<blockers model='Broadwell-v3'>
<feature name='hle'/>
<feature name='rtm'/>
</blockers>
<model usable='yes' vendor='Intel'>Broadwell-v4</model>
<model usable='no' vendor='Intel' canonical='Cascadelake-Server-v1'>Cascadelake-Server</model>
<blockers model='Cascadelake-Server'>
<feature name='hle'/>
<feature name='rtm'/>
</blockers>
<model usable='no' vendor='Intel' canonical='Cascadelake-Server-v3'>Cascadelake-Server-noTSX</model>
<blockers model='Cascadelake-Server-noTSX'>
<feature name='ibrs-all'/>
</blockers>
<model usable='no' vendor='Intel'>Cascadelake-Server-v1</model>
<blockers model='Cascadelake-Server-v1'>
<feature name='hle'/>
<feature name='rtm'/>
</blockers>
<model usable='no' vendor='Intel'>Cascadelake-Server-v2</model>
<blockers model='Cascadelake-Server-v2'>
<feature name='hle'/>
<feature name='ibrs-all'/>
<feature name='rtm'/>
</blockers>
<model usable='no' vendor='Intel'>Cascadelake-Server-v3</model>
<blockers model='Cascadelake-Server-v3'>
<feature name='ibrs-all'/>
</blockers>
<model usable='no' vendor='Intel'>Cascadelake-Server-v4</model>
<blockers model='Cascadelake-Server-v4'>
<feature name='ibrs-all'/>
</blockers>
<model usable='no' vendor='Intel'>Cascadelake-Server-v5</model>
<blockers model='Cascadelake-Server-v5'>
<feature name='ibrs-all'/>
</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='hle'/>
<feature name='ibrs-all'/>
<feature name='rtm'/>
<feature name='taa-no'/>
</blockers>
<model usable='no' vendor='Intel'>Cooperlake-v1</model>
<blockers model='Cooperlake-v1'>
<feature name='hle'/>
<feature name='ibrs-all'/>
<feature name='rtm'/>
<feature name='taa-no'/>
</blockers>
<model usable='no' vendor='Intel'>Cooperlake-v2</model>
<blockers model='Cooperlake-v2'>
<feature name='hle'/>
<feature name='ibrs-all'/>
<feature name='rtm'/>
<feature name='taa-no'/>
</blockers>
<model usable='no' vendor='Intel' canonical='Denverton-v1'>Denverton</model>
<blockers model='Denverton'>
<feature name='mpx'/>
</blockers>
<model usable='no' vendor='Intel'>Denverton-v1</model>
<blockers model='Denverton-v1'>
<feature name='mpx'/>
</blockers>
<model usable='yes' vendor='Intel'>Denverton-v2</model>
<model usable='yes' vendor='Intel'>Denverton-v3</model>
<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-Genoa-v1'>EPYC-Genoa</model>
<model usable='yes' vendor='AMD'>EPYC-Genoa-v1</model>
<model usable='yes' vendor='AMD' canonical='EPYC-v2'>EPYC-IBPB</model>
<model usable='yes' vendor='AMD' canonical='EPYC-Milan-v1'>EPYC-Milan</model>
<model usable='yes' vendor='AMD'>EPYC-Milan-v1</model>
<model usable='yes' vendor='AMD'>EPYC-Milan-v2</model>
<model usable='yes' vendor='AMD' canonical='EPYC-Rome-v1'>EPYC-Rome</model>
<model usable='yes' vendor='AMD'>EPYC-Rome-v1</model>
<model usable='yes' vendor='AMD'>EPYC-Rome-v2</model>
<model usable='yes' vendor='AMD'>EPYC-Rome-v3</model>
<model usable='yes' vendor='AMD'>EPYC-Rome-v4</model>
<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='yes' vendor='AMD'>EPYC-v4</model>
<model usable='no' vendor='Intel' canonical='GraniteRapids-v1'>GraniteRapids</model>
<blockers model='GraniteRapids'>
<feature name='amx-bf16'/>
<feature name='amx-fp16'/>
<feature name='amx-int8'/>
<feature name='amx-tile'/>
<feature name='avx-vnni'/>
<feature name='avx512-fp16'/>
<feature name='bus-lock-detect'/>
<feature name='fbsdp-no'/>
<feature name='fsrc'/>
<feature name='fsrs'/>
<feature name='fzrm'/>
<feature name='hle'/>
<feature name='ibrs-all'/>
<feature name='mcdt-no'/>
<feature name='pbrsb-no'/>
<feature name='prefetchiti'/>
<feature name='psdp-no'/>
<feature name='rtm'/>
<feature name='sbdr-ssdp-no'/>
<feature name='serialize'/>
<feature name='taa-no'/>
<feature name='tsx-ldtrk'/>
<feature name='xfd'/>
</blockers>
<model usable='no' vendor='Intel'>GraniteRapids-v1</model>
<blockers model='GraniteRapids-v1'>
<feature name='amx-bf16'/>
<feature name='amx-fp16'/>
<feature name='amx-int8'/>
<feature name='amx-tile'/>
<feature name='avx-vnni'/>
<feature name='avx512-fp16'/>
<feature name='bus-lock-detect'/>
<feature name='fbsdp-no'/>
<feature name='fsrc'/>
<feature name='fsrs'/>
<feature name='fzrm'/>
<feature name='hle'/>
<feature name='ibrs-all'/>
<feature name='mcdt-no'/>
<feature name='pbrsb-no'/>
<feature name='prefetchiti'/>
<feature name='psdp-no'/>
<feature name='rtm'/>
<feature name='sbdr-ssdp-no'/>
<feature name='serialize'/>
<feature name='taa-no'/>
<feature name='tsx-ldtrk'/>
<feature name='xfd'/>
</blockers>
<model usable='no' vendor='Intel'>GraniteRapids-v2</model>
<blockers model='GraniteRapids-v2'>
<feature name='amx-bf16'/>
<feature name='amx-fp16'/>
<feature name='amx-int8'/>
<feature name='amx-tile'/>
<feature name='avx-vnni'/>
<feature name='avx10'/>
<feature name='avx10-128'/>
<feature name='avx10-256'/>
<feature name='avx10-512'/>
<feature name='avx512-fp16'/>
<feature name='bus-lock-detect'/>
<feature name='cldemote'/>
<feature name='fbsdp-no'/>
<feature name='fsrc'/>
<feature name='fsrs'/>
<feature name='fzrm'/>
<feature name='hle'/>
<feature name='ibrs-all'/>
<feature name='mcdt-no'/>
<feature name='movdir64b'/>
<feature name='movdiri'/>
<feature name='pbrsb-no'/>
<feature name='prefetchiti'/>
<feature name='psdp-no'/>
<feature name='rtm'/>
<feature name='sbdr-ssdp-no'/>
<feature name='serialize'/>
<feature name='ss'/>
<feature name='taa-no'/>
<feature name='tsx-ldtrk'/>
<feature name='xfd'/>
</blockers>
<model usable='no' vendor='Intel' canonical='Haswell-v1'>Haswell</model>
<blockers model='Haswell'>
<feature name='hle'/>
<feature name='rtm'/>
</blockers>
<model usable='no' vendor='Intel' canonical='Haswell-v3'>Haswell-IBRS</model>
<blockers model='Haswell-IBRS'>
<feature name='hle'/>
<feature name='rtm'/>
</blockers>
<model usable='yes' vendor='Intel' canonical='Haswell-v2'>Haswell-noTSX</model>
<model usable='yes' vendor='Intel' canonical='Haswell-v4'>Haswell-noTSX-IBRS</model>
<model usable='no' vendor='Intel'>Haswell-v1</model>
<blockers model='Haswell-v1'>
<feature name='hle'/>
<feature name='rtm'/>
</blockers>
<model usable='yes' vendor='Intel'>Haswell-v2</model>
<model usable='no' vendor='Intel'>Haswell-v3</model>
<blockers model='Haswell-v3'>
<feature name='hle'/>
<feature name='rtm'/>
</blockers>
<model usable='yes' vendor='Intel'>Haswell-v4</model>
<model usable='no' vendor='Intel' canonical='Icelake-Server-v1'>Icelake-Server</model>
<blockers model='Icelake-Server'>
<feature name='hle'/>
<feature name='rtm'/>
</blockers>
<model usable='yes' vendor='Intel' canonical='Icelake-Server-v2'>Icelake-Server-noTSX</model>
<model usable='no' vendor='Intel'>Icelake-Server-v1</model>
<blockers model='Icelake-Server-v1'>
<feature name='hle'/>
<feature name='rtm'/>
</blockers>
<model usable='yes' vendor='Intel'>Icelake-Server-v2</model>
<model usable='no' vendor='Intel'>Icelake-Server-v3</model>
<blockers model='Icelake-Server-v3'>
<feature name='ibrs-all'/>
<feature name='taa-no'/>
</blockers>
<model usable='no' vendor='Intel'>Icelake-Server-v4</model>
<blockers model='Icelake-Server-v4'>
<feature name='ibrs-all'/>
<feature name='taa-no'/>
</blockers>
<model usable='no' vendor='Intel'>Icelake-Server-v5</model>
<blockers model='Icelake-Server-v5'>
<feature name='ibrs-all'/>
<feature name='taa-no'/>
</blockers>
<model usable='no' vendor='Intel'>Icelake-Server-v6</model>
<blockers model='Icelake-Server-v6'>
<feature name='ibrs-all'/>
<feature name='taa-no'/>
</blockers>
<model usable='no' vendor='Intel'>Icelake-Server-v7</model>
<blockers model='Icelake-Server-v7'>
<feature name='hle'/>
<feature name='ibrs-all'/>
<feature name='rtm'/>
<feature name='taa-no'/>
</blockers>
<model usable='yes' vendor='Intel' canonical='IvyBridge-v1'>IvyBridge</model>
<model usable='yes' vendor='Intel' canonical='IvyBridge-v2'>IvyBridge-IBRS</model>
<model usable='yes' vendor='Intel'>IvyBridge-v1</model>
<model usable='yes' vendor='Intel'>IvyBridge-v2</model>
<model usable='no' vendor='Intel' canonical='KnightsMill-v1'>KnightsMill</model>
<blockers model='KnightsMill'>
<feature name='avx512-4fmaps'/>
<feature name='avx512-4vnniw'/>
<feature name='avx512er'/>
<feature name='avx512pf'/>
<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='avx512er'/>
<feature name='avx512pf'/>
<feature name='ss'/>
</blockers>
<model usable='yes' vendor='Intel' canonical='Nehalem-v1'>Nehalem</model>
<model usable='yes' vendor='Intel' canonical='Nehalem-v2'>Nehalem-IBRS</model>
<model usable='yes' vendor='Intel'>Nehalem-v1</model>
<model usable='yes' vendor='Intel'>Nehalem-v2</model>
<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='yes' vendor='Intel' canonical='SandyBridge-v2'>SandyBridge-IBRS</model>
<model usable='yes' vendor='Intel'>SandyBridge-v1</model>
<model usable='yes' vendor='Intel'>SandyBridge-v2</model>
<model usable='no' vendor='Intel' canonical='SapphireRapids-v1'>SapphireRapids</model>
<blockers model='SapphireRapids'>
<feature name='amx-bf16'/>
<feature name='amx-int8'/>
<feature name='amx-tile'/>
<feature name='avx-vnni'/>
<feature name='avx512-fp16'/>
<feature name='bus-lock-detect'/>
<feature name='fsrc'/>
<feature name='fsrs'/>
<feature name='fzrm'/>
<feature name='hle'/>
<feature name='ibrs-all'/>
<feature name='rtm'/>
<feature name='serialize'/>
<feature name='taa-no'/>
<feature name='tsx-ldtrk'/>
<feature name='xfd'/>
</blockers>
<model usable='no' vendor='Intel'>SapphireRapids-v1</model>
<blockers model='SapphireRapids-v1'>
<feature name='amx-bf16'/>
<feature name='amx-int8'/>
<feature name='amx-tile'/>
<feature name='avx-vnni'/>
<feature name='avx512-fp16'/>
<feature name='bus-lock-detect'/>
<feature name='fsrc'/>
<feature name='fsrs'/>
<feature name='fzrm'/>
<feature name='hle'/>
<feature name='ibrs-all'/>
<feature name='rtm'/>
<feature name='serialize'/>
<feature name='taa-no'/>
<feature name='tsx-ldtrk'/>
<feature name='xfd'/>
</blockers>
<model usable='no' vendor='Intel'>SapphireRapids-v2</model>
<blockers model='SapphireRapids-v2'>
<feature name='amx-bf16'/>
<feature name='amx-int8'/>
<feature name='amx-tile'/>
<feature name='avx-vnni'/>
<feature name='avx512-fp16'/>
<feature name='bus-lock-detect'/>
<feature name='fbsdp-no'/>
<feature name='fsrc'/>
<feature name='fsrs'/>
<feature name='fzrm'/>
<feature name='hle'/>
<feature name='ibrs-all'/>
<feature name='psdp-no'/>
<feature name='rtm'/>
<feature name='sbdr-ssdp-no'/>
<feature name='serialize'/>
<feature name='taa-no'/>
<feature name='tsx-ldtrk'/>
<feature name='xfd'/>
</blockers>
<model usable='no' vendor='Intel'>SapphireRapids-v3</model>
<blockers model='SapphireRapids-v3'>
<feature name='amx-bf16'/>
<feature name='amx-int8'/>
<feature name='amx-tile'/>
<feature name='avx-vnni'/>
<feature name='avx512-fp16'/>
<feature name='bus-lock-detect'/>
<feature name='cldemote'/>
<feature name='fbsdp-no'/>
<feature name='fsrc'/>
<feature name='fsrs'/>
<feature name='fzrm'/>
<feature name='hle'/>
<feature name='ibrs-all'/>
<feature name='movdir64b'/>
<feature name='movdiri'/>
<feature name='psdp-no'/>
<feature name='rtm'/>
<feature name='sbdr-ssdp-no'/>
<feature name='serialize'/>
<feature name='ss'/>
<feature name='taa-no'/>
<feature name='tsx-ldtrk'/>
<feature name='xfd'/>
</blockers>
<model usable='no' vendor='Intel' canonical='SierraForest-v1'>SierraForest</model>
<blockers model='SierraForest'>
<feature name='avx-ifma'/>
<feature name='avx-ne-convert'/>
<feature name='avx-vnni'/>
<feature name='avx-vnni-int8'/>
<feature name='bus-lock-detect'/>
<feature name='cmpccxadd'/>
<feature name='fbsdp-no'/>
<feature name='fsrs'/>
<feature name='ibrs-all'/>
<feature name='mcdt-no'/>
<feature name='pbrsb-no'/>
<feature name='psdp-no'/>
<feature name='sbdr-ssdp-no'/>
<feature name='serialize'/>
</blockers>
<model usable='no' vendor='Intel'>SierraForest-v1</model>
<blockers model='SierraForest-v1'>
<feature name='avx-ifma'/>
<feature name='avx-ne-convert'/>
<feature name='avx-vnni'/>
<feature name='avx-vnni-int8'/>
<feature name='bus-lock-detect'/>
<feature name='cmpccxadd'/>
<feature name='fbsdp-no'/>
<feature name='fsrs'/>
<feature name='ibrs-all'/>
<feature name='mcdt-no'/>
<feature name='pbrsb-no'/>
<feature name='psdp-no'/>
<feature name='sbdr-ssdp-no'/>
<feature name='serialize'/>
</blockers>
<model usable='no' vendor='Intel' canonical='Skylake-Client-v1'>Skylake-Client</model>
<blockers model='Skylake-Client'>
<feature name='hle'/>
<feature name='rtm'/>
</blockers>
<model usable='no' vendor='Intel' canonical='Skylake-Client-v2'>Skylake-Client-IBRS</model>
<blockers model='Skylake-Client-IBRS'>
<feature name='hle'/>
<feature name='rtm'/>
</blockers>
<model usable='yes' vendor='Intel' canonical='Skylake-Client-v3'>Skylake-Client-noTSX-IBRS</model>
<model usable='no' vendor='Intel'>Skylake-Client-v1</model>
<blockers model='Skylake-Client-v1'>
<feature name='hle'/>
<feature name='rtm'/>
</blockers>
<model usable='no' vendor='Intel'>Skylake-Client-v2</model>
<blockers model='Skylake-Client-v2'>
<feature name='hle'/>
<feature name='rtm'/>
</blockers>
<model usable='yes' vendor='Intel'>Skylake-Client-v3</model>
<model usable='yes' vendor='Intel'>Skylake-Client-v4</model>
<model usable='no' vendor='Intel' canonical='Skylake-Server-v1'>Skylake-Server</model>
<blockers model='Skylake-Server'>
<feature name='hle'/>
<feature name='rtm'/>
</blockers>
<model usable='no' vendor='Intel' canonical='Skylake-Server-v2'>Skylake-Server-IBRS</model>
<blockers model='Skylake-Server-IBRS'>
<feature name='hle'/>
<feature name='rtm'/>
</blockers>
<model usable='yes' vendor='Intel' canonical='Skylake-Server-v3'>Skylake-Server-noTSX-IBRS</model>
<model usable='no' vendor='Intel'>Skylake-Server-v1</model>
<blockers model='Skylake-Server-v1'>
<feature name='hle'/>
<feature name='rtm'/>
</blockers>
<model usable='no' vendor='Intel'>Skylake-Server-v2</model>
<blockers model='Skylake-Server-v2'>
<feature name='hle'/>
<feature name='rtm'/>
</blockers>
<model usable='yes' vendor='Intel'>Skylake-Server-v3</model>
<model usable='yes' vendor='Intel'>Skylake-Server-v4</model>
<model usable='yes' vendor='Intel'>Skylake-Server-v5</model>
<model usable='no' vendor='Intel' canonical='Snowridge-v1'>Snowridge</model>
<blockers model='Snowridge'>
<feature name='cldemote'/>
<feature name='core-capability'/>
<feature name='movdir64b'/>
<feature name='movdiri'/>
<feature name='mpx'/>
<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='movdir64b'/>
<feature name='movdiri'/>
<feature name='mpx'/>
<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='movdir64b'/>
<feature name='movdiri'/>
<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='movdir64b'/>
<feature name='movdiri'/>
<feature name='split-lock-detect'/>
</blockers>
<model usable='no' vendor='Intel'>Snowridge-v4</model>
<blockers model='Snowridge-v4'>
<feature name='cldemote'/>
<feature name='movdir64b'/>
<feature name='movdiri'/>
</blockers>
<model usable='yes' vendor='Intel' canonical='Westmere-v1'>Westmere</model>
<model usable='yes' vendor='Intel' canonical='Westmere-v2'>Westmere-IBRS</model>
<model usable='yes' vendor='Intel'>Westmere-v1</model>
<model usable='yes' vendor='Intel'>Westmere-v2</model>
<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'>
<value>file</value>
<value>anonymous</value>
<value>memfd</value>
</enum>
</memoryBacking>
<devices>
<disk supported='yes'>
<enum name='diskDevice'>
<value>disk</value>
<value>cdrom</value>
<value>floppy</value>
<value>lun</value>
</enum>
<enum name='bus'>
<value>fdc</value>
<value>scsi</value>
<value>virtio</value>
<value>usb</value>
<value>sata</value>
<value>nvme</value>
</enum>
<enum name='model'>
<value>virtio</value>
<value>virtio-transitional</value>
<value>virtio-non-transitional</value>
</enum>
</disk>
<graphics supported='yes'>
<enum name='type'>
<value>sdl</value>
<value>vnc</value>
<value>rdp</value>
<value>spice</value>
<value>egl-headless</value>
<value>dbus</value>
</enum>
</graphics>
<video supported='yes'>
<enum name='modelType'>
<value>vga</value>
<value>cirrus</value>
<value>vmvga</value>
<value>qxl</value>
<value>virtio</value>
<value>none</value>
<value>bochs</value>
<value>ramfb</value>
</enum>
</video>
<hostdev supported='yes'>
<enum name='mode'>
<value>subsystem</value>
</enum>
<enum name='startupPolicy'>
<value>default</value>
<value>mandatory</value>
<value>requisite</value>
<value>optional</value>
</enum>
<enum name='subsysType'>
<value>usb</value>
<value>pci</value>
<value>scsi</value>
</enum>
<enum name='capsType'/>
<enum name='pciBackend'>
<value>default</value>
<value>vfio</value>
</enum>
<enum name='iommufd'>
<value>yes</value>
<value>no</value>
</enum>
</hostdev>
<rng supported='yes'>
<enum name='model'>
<value>virtio</value>
<value>virtio-transitional</value>
<value>virtio-non-transitional</value>
</enum>
<enum name='backendModel'>
<value>random</value>
<value>egd</value>
<value>builtin</value>
</enum>
</rng>
<filesystem supported='yes'>
<enum name='driverType'>
<value>path</value>
<value>virtiofs</value>
</enum>
</filesystem>
<tpm supported='yes'>
<enum name='model'>
<value>tpm-tis</value>
<value>tpm-crb</value>
</enum>
<enum name='backendModel'>
<value>passthrough</value>
<value>emulator</value>
<value>external</value>
</enum>
<enum name='backendVersion'>
<value>2.0</value>
</enum>
</tpm>
<redirdev supported='yes'>
<enum name='bus'>
<value>usb</value>
</enum>
</redirdev>
<channel supported='yes'>
<enum name='type'>
<value>pty</value>
<value>unix</value>
<value>spicevmc</value>
</enum>
</channel>
<crypto supported='yes'>
<enum name='model'>
<value>virtio</value>
</enum>
<enum name='type'>
<value>qemu</value>
</enum>
<enum name='backendModel'>
<value>builtin</value>
<value>lkcf</value>
</enum>
</crypto>
<interface supported='yes'>
<enum name='backendType'>
<value>default</value>
<value>passt</value>
</enum>
</interface>
<panic supported='yes'>
<enum name='model'>
<value>isa</value>
<value>hyperv</value>
<value>pvpanic</value>
</enum>
</panic>
<console supported='yes'>
<enum name='type'>
<value>null</value>
<value>vc</value>
<value>pty</value>
<value>dev</value>
<value>file</value>
<value>pipe</value>
<value>stdio</value>
<value>udp</value>
<value>tcp</value>
<value>unix</value>
<value>spicevmc</value>
<value>spiceport</value>
<value>qemu-vdagent</value>
<value>dbus</value>
</enum>
</console>
</devices>
<features>
<gic supported='no'/>
<vmcoreinfo supported='yes'/>
<genid supported='yes'/>
<backingStoreInput supported='yes'/>
<backup supported='yes'/>
<async-teardown supported='yes'/>
<s390-pv supported='no'/>
<ps2 supported='yes'/>
<tdx supported='no'/>
<sev supported='yes'>
<cbitpos>51</cbitpos>
<reducedPhysBits>1</reducedPhysBits>
<maxGuests>59</maxGuests>
<maxESGuests>450</maxESGuests>
<cpu0Id>BlAwmcr4Ruya3YvEGe2EBxuWjMAfIYolslNNM92RsIKxLkWDDRqivqSBOD+qQRCYS9joBYSHMD1g+rmjY+MmVw==</cpu0Id>
</sev>
<sgx supported='no'/>
<hyperv supported='yes'>
<enum name='features'>
<value>relaxed</value>
<value>vapic</value>
<value>spinlocks</value>
<value>vpindex</value>
<value>runtime</value>
<value>synic</value>
<value>stimer</value>
<value>reset</value>
<value>vendor_id</value>
<value>frequencies</value>
<value>reenlightenment</value>
<value>tlbflush</value>
<value>ipi</value>
<value>avic</value>
<value>emsr_bitmap</value>
<value>xmm_input</value>
</enum>
<defaults>
<spinlocks>4095</spinlocks>
<stimer_direct>on</stimer_direct>
<tlbflush_direct>on</tlbflush_direct>
<tlbflush_extended>on</tlbflush_extended>
<vendor_id>Linux KVM Hv</vendor_id>
</defaults>
</hyperv>
<launchSecurity supported='yes'>
<enum name='sectype'>
<value>sev</value>
<value>sev-snp</value>
</enum>
</launchSecurity>
</features>
</domainCapabilities>
File diff suppressed because it is too large Load Diff
+8
View File
@@ -289,6 +289,8 @@ doTestQemuInternal(const char *version,
if (flags & VIR_CONNECT_GET_DOMAIN_CAPABILITIES_EXPAND_CPU_FEATURES)
flag = "-expanded";
else if (flags & VIR_CONNECT_GET_DOMAIN_CAPABILITIES_SUPPORTED_CPU_FEATURES)
flag = "-supported";
else
flag = "";
@@ -360,6 +362,12 @@ doTestQemu(const char *inputDir G_GNUC_UNUSED,
VIR_CONNECT_GET_DOMAIN_CAPABILITIES_EXPAND_CPU_FEATURES,
opaque) < 0)
ret = -1;
if (doTestQemuInternal(version, "q35", arch, variant,
VIR_DOMAIN_VIRT_KVM,
VIR_CONNECT_GET_DOMAIN_CAPABILITIES_SUPPORTED_CPU_FEATURES,
opaque) < 0)
ret = -1;
}
if (doTestQemuInternal(version, NULL, arch, variant,