libvirt/tests/domaincapsdata/qemu_5.2.0.x86_64.xml
Martin Kletzander a52cd504b3 qemu: Report supported panic device models in domcapabilities
Domain capabilities include information about support for various
devices and models.

Panic devices are not included in the output which means that management
applications need to include the logic for choosing the right device
model or request a default model and try defining such a domain.

Add reporting of panic device models into the domain capabilities based
on the logic in qemuValidateDomainDefPanic() and also report whether
panic devices are supported based on whether at least one model is
supported.  That way consumers of the domain capability XML can
differentiate between libvirt not reporting the panic device models or
no model being supported.

Resolves: https://issues.redhat.com/browse/RHEL-65187
Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2024-11-05 09:57:37 +01:00

559 lines
18 KiB
XML

<domainCapabilities>
<path>/usr/bin/qemu-system-x86_64</path>
<domain>kvm</domain>
<machine>pc-i440fx-5.2</machine>
<arch>x86_64</arch>
<vcpu max='255'/>
<iothreads supported='yes'/>
<os supported='yes'>
<enum name='firmware'>
<value>bios</value>
<value>efi</value>
</enum>
<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>no</value>
</enum>
</loader>
</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-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='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'>486</model>
<model usable='no' vendor='Intel'>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'>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'>Broadwell-noTSX</model>
<blockers model='Broadwell-noTSX'>
<feature name='erms'/>
<feature name='invpcid'/>
<feature name='pcid'/>
</blockers>
<model usable='no' vendor='Intel'>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'>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'>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='yes' vendor='Intel'>Conroe</model>
<model usable='no' vendor='Intel'>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='yes' vendor='Hygon'>Dhyana</model>
<model usable='yes' vendor='AMD'>EPYC</model>
<model usable='yes' vendor='AMD'>EPYC-IBPB</model>
<model usable='yes' vendor='AMD'>EPYC-Rome</model>
<model usable='no' vendor='Intel'>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'>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'>Haswell-noTSX</model>
<blockers model='Haswell-noTSX'>
<feature name='erms'/>
<feature name='invpcid'/>
<feature name='pcid'/>
</blockers>
<model usable='no' vendor='Intel'>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' deprecated='yes' vendor='Intel'>Icelake-Client</model>
<blockers model='Icelake-Client'>
<feature name='avx512-vpopcntdq'/>
<feature name='avx512bitalg'/>
<feature name='avx512vbmi'/>
<feature name='avx512vbmi2'/>
<feature name='avx512vnni'/>
<feature name='erms'/>
<feature name='gfni'/>
<feature name='hle'/>
<feature name='invpcid'/>
<feature name='pcid'/>
<feature name='pku'/>
<feature name='rtm'/>
<feature name='spec-ctrl'/>
<feature name='vaes'/>
<feature name='vpclmulqdq'/>
</blockers>
<model usable='no' deprecated='yes' vendor='Intel'>Icelake-Client-noTSX</model>
<blockers model='Icelake-Client-noTSX'>
<feature name='avx512-vpopcntdq'/>
<feature name='avx512bitalg'/>
<feature name='avx512vbmi'/>
<feature name='avx512vbmi2'/>
<feature name='avx512vnni'/>
<feature name='erms'/>
<feature name='gfni'/>
<feature name='invpcid'/>
<feature name='pcid'/>
<feature name='pku'/>
<feature name='spec-ctrl'/>
<feature name='vaes'/>
<feature name='vpclmulqdq'/>
</blockers>
<model usable='no' vendor='Intel'>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'>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'>IvyBridge</model>
<blockers model='IvyBridge'>
<feature name='erms'/>
</blockers>
<model usable='no' vendor='Intel'>IvyBridge-IBRS</model>
<blockers model='IvyBridge-IBRS'>
<feature name='erms'/>
<feature name='spec-ctrl'/>
</blockers>
<model usable='yes' vendor='Intel'>Nehalem</model>
<model usable='no' vendor='Intel'>Nehalem-IBRS</model>
<blockers model='Nehalem-IBRS'>
<feature name='spec-ctrl'/>
</blockers>
<model usable='yes' vendor='AMD'>Opteron_G1</model>
<model usable='yes' vendor='AMD'>Opteron_G2</model>
<model usable='yes' vendor='AMD'>Opteron_G3</model>
<model usable='no' vendor='AMD'>Opteron_G4</model>
<blockers model='Opteron_G4'>
<feature name='fma4'/>
<feature name='xop'/>
</blockers>
<model usable='no' vendor='AMD'>Opteron_G5</model>
<blockers model='Opteron_G5'>
<feature name='fma4'/>
<feature name='tbm'/>
<feature name='xop'/>
</blockers>
<model usable='yes' vendor='Intel'>Penryn</model>
<model usable='yes' vendor='Intel'>SandyBridge</model>
<model usable='no' vendor='Intel'>SandyBridge-IBRS</model>
<blockers model='SandyBridge-IBRS'>
<feature name='spec-ctrl'/>
</blockers>
<model usable='no' vendor='Intel'>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'>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'>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-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'>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'>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'>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='yes' vendor='Intel'>Westmere</model>
<model usable='no' vendor='Intel'>Westmere-IBRS</model>
<blockers model='Westmere-IBRS'>
<feature name='spec-ctrl'/>
</blockers>
<model usable='no' vendor='AMD'>athlon</model>
<blockers model='athlon'>
<feature name='3dnow'/>
<feature name='3dnowext'/>
</blockers>
<model usable='no' vendor='Intel'>core2duo</model>
<blockers model='core2duo'>
<feature name='ss'/>
</blockers>
<model usable='no' vendor='Intel'>coreduo</model>
<blockers model='coreduo'>
<feature name='ss'/>
</blockers>
<model usable='yes' vendor='unknown'>kvm32</model>
<model usable='yes' vendor='unknown'>kvm64</model>
<model usable='no' vendor='Intel'>n270</model>
<blockers model='n270'>
<feature name='ss'/>
</blockers>
<model usable='yes' vendor='unknown'>pentium</model>
<model usable='yes' vendor='unknown'>pentium2</model>
<model usable='yes' vendor='unknown'>pentium3</model>
<model usable='no' vendor='AMD'>phenom</model>
<blockers model='phenom'>
<feature name='3dnow'/>
<feature name='3dnowext'/>
</blockers>
<model usable='yes' vendor='unknown'>qemu32</model>
<model usable='yes' vendor='unknown'>qemu64</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>ide</value>
<value>fdc</value>
<value>scsi</value>
<value>virtio</value>
<value>usb</value>
<value>sata</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>spice</value>
<value>egl-headless</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>
</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>handle</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>1.2</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>
</enum>
</crypto>
<interface supported='yes'>
<enum name='backendType'>
<value>default</value>
</enum>
</interface>
<panic supported='yes'>
<enum name='model'>
<value>isa</value>
<value>hyperv</value>
</enum>
</panic>
</devices>
<features>
<gic supported='no'/>
<vmcoreinfo supported='yes'/>
<genid supported='yes'/>
<backingStoreInput supported='yes'/>
<backup supported='no'/>
<async-teardown supported='no'/>
<ps2 supported='no'/>
<sev supported='no'/>
<sgx supported='no'/>
<launchSecurity supported='no'/>
</features>
</domainCapabilities>