<domainCapabilities>
  <path>/usr/bin/qemu-system-x86_64</path>
  <domain>kvm</domain>
  <machine>pc-q35-5.0</machine>
  <arch>x86_64</arch>
  <vcpu max='288'/>
  <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>yes</value>
        <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'>Skylake-Client-IBRS</model>
      <vendor>Intel</vendor>
      <maxphysaddr mode='passthrough' limit='64'/>
      <feature policy='require' name='vmx'/>
      <feature policy='require' name='hypervisor'/>
      <feature policy='require' name='ss'/>
      <feature policy='require' name='tsc_adjust'/>
      <feature policy='require' name='mpx'/>
      <feature policy='require' name='clflushopt'/>
      <feature policy='require' name='umip'/>
      <feature policy='require' name='md-clear'/>
      <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='pdpe1gb'/>
      <feature policy='require' name='invtsc'/>
      <feature policy='require' name='skip-l1dfl-vmentry'/>
      <feature policy='require' name='pschange-mc-no'/>
      <feature policy='require' name='vmx-ins-outs'/>
      <feature policy='require' name='vmx-true-ctls'/>
      <feature policy='require' name='vmx-store-lma'/>
      <feature policy='require' name='vmx-activity-hlt'/>
      <feature policy='require' name='vmx-vmwrite-vmexit-fields'/>
      <feature policy='require' name='vmx-apicv-xapic'/>
      <feature policy='require' name='vmx-ept'/>
      <feature policy='require' name='vmx-desc-exit'/>
      <feature policy='require' name='vmx-rdtscp-exit'/>
      <feature policy='require' name='vmx-apicv-x2apic'/>
      <feature policy='require' name='vmx-vpid'/>
      <feature policy='require' name='vmx-wbinvd-exit'/>
      <feature policy='require' name='vmx-unrestricted-guest'/>
      <feature policy='require' name='vmx-rdrand-exit'/>
      <feature policy='require' name='vmx-invpcid-exit'/>
      <feature policy='require' name='vmx-vmfunc'/>
      <feature policy='require' name='vmx-shadow-vmcs'/>
      <feature policy='require' name='vmx-rdseed-exit'/>
      <feature policy='require' name='vmx-pml'/>
      <feature policy='require' name='vmx-xsaves'/>
      <feature policy='require' name='vmx-ept-execonly'/>
      <feature policy='require' name='vmx-page-walk-4'/>
      <feature policy='require' name='vmx-ept-2mb'/>
      <feature policy='require' name='vmx-ept-1gb'/>
      <feature policy='require' name='vmx-invept'/>
      <feature policy='require' name='vmx-eptad'/>
      <feature policy='require' name='vmx-invept-single-context'/>
      <feature policy='require' name='vmx-invept-all-context'/>
      <feature policy='require' name='vmx-invvpid'/>
      <feature policy='require' name='vmx-invvpid-single-addr'/>
      <feature policy='require' name='vmx-invvpid-all-context'/>
      <feature policy='require' name='vmx-intr-exit'/>
      <feature policy='require' name='vmx-nmi-exit'/>
      <feature policy='require' name='vmx-vnmi'/>
      <feature policy='require' name='vmx-preemption-timer'/>
      <feature policy='require' name='vmx-vintr-pending'/>
      <feature policy='require' name='vmx-tsc-offset'/>
      <feature policy='require' name='vmx-hlt-exit'/>
      <feature policy='require' name='vmx-invlpg-exit'/>
      <feature policy='require' name='vmx-mwait-exit'/>
      <feature policy='require' name='vmx-rdpmc-exit'/>
      <feature policy='require' name='vmx-rdtsc-exit'/>
      <feature policy='require' name='vmx-cr3-load-noexit'/>
      <feature policy='require' name='vmx-cr3-store-noexit'/>
      <feature policy='require' name='vmx-cr8-load-exit'/>
      <feature policy='require' name='vmx-cr8-store-exit'/>
      <feature policy='require' name='vmx-flexpriority'/>
      <feature policy='require' name='vmx-vnmi-pending'/>
      <feature policy='require' name='vmx-movdr-exit'/>
      <feature policy='require' name='vmx-io-exit'/>
      <feature policy='require' name='vmx-io-bitmap'/>
      <feature policy='require' name='vmx-mtf'/>
      <feature policy='require' name='vmx-msr-bitmap'/>
      <feature policy='require' name='vmx-monitor-exit'/>
      <feature policy='require' name='vmx-pause-exit'/>
      <feature policy='require' name='vmx-secondary-ctls'/>
      <feature policy='require' name='vmx-exit-nosave-debugctl'/>
      <feature policy='require' name='vmx-exit-ack-intr'/>
      <feature policy='require' name='vmx-exit-save-pat'/>
      <feature policy='require' name='vmx-exit-load-pat'/>
      <feature policy='require' name='vmx-exit-save-efer'/>
      <feature policy='require' name='vmx-exit-load-efer'/>
      <feature policy='require' name='vmx-exit-save-preemption-timer'/>
      <feature policy='require' name='vmx-entry-noload-debugctl'/>
      <feature policy='require' name='vmx-entry-ia32e-mode'/>
      <feature policy='require' name='vmx-entry-load-pat'/>
      <feature policy='require' name='vmx-entry-load-efer'/>
      <feature policy='require' name='vmx-eptp-switching'/>
    </mode>
    <mode name='custom' supported='yes'>
      <model usable='yes' vendor='unknown'>qemu64</model>
      <model usable='yes' vendor='unknown'>qemu32</model>
      <model usable='no' vendor='AMD'>phenom</model>
      <model usable='yes' vendor='unknown'>pentium3</model>
      <model usable='yes' vendor='unknown'>pentium2</model>
      <model usable='yes' vendor='unknown'>pentium</model>
      <model usable='yes' vendor='Intel'>n270</model>
      <model usable='yes' vendor='unknown'>kvm64</model>
      <model usable='yes' vendor='unknown'>kvm32</model>
      <model usable='yes' vendor='Intel'>coreduo</model>
      <model usable='yes' vendor='Intel'>core2duo</model>
      <model usable='no' vendor='AMD'>athlon</model>
      <model usable='yes' vendor='Intel'>Westmere-IBRS</model>
      <model usable='yes' vendor='Intel'>Westmere</model>
      <model usable='no' vendor='Intel'>Snowridge</model>
      <model usable='no' vendor='Intel'>Skylake-Server-noTSX-IBRS</model>
      <model usable='no' vendor='Intel'>Skylake-Server-IBRS</model>
      <model usable='no' vendor='Intel'>Skylake-Server</model>
      <model usable='yes' vendor='Intel'>Skylake-Client-noTSX-IBRS</model>
      <model usable='yes' vendor='Intel'>Skylake-Client-IBRS</model>
      <model usable='yes' vendor='Intel'>Skylake-Client</model>
      <model usable='yes' vendor='Intel'>SandyBridge-IBRS</model>
      <model usable='yes' vendor='Intel'>SandyBridge</model>
      <model usable='yes' vendor='Intel'>Penryn</model>
      <model usable='no' vendor='AMD'>Opteron_G5</model>
      <model usable='no' vendor='AMD'>Opteron_G4</model>
      <model usable='no' vendor='AMD'>Opteron_G3</model>
      <model usable='yes' vendor='AMD'>Opteron_G2</model>
      <model usable='yes' vendor='AMD'>Opteron_G1</model>
      <model usable='yes' vendor='Intel'>Nehalem-IBRS</model>
      <model usable='yes' vendor='Intel'>Nehalem</model>
      <model usable='yes' vendor='Intel'>IvyBridge-IBRS</model>
      <model usable='yes' vendor='Intel'>IvyBridge</model>
      <model usable='no' vendor='Intel'>Icelake-Server-noTSX</model>
      <model usable='no' vendor='Intel'>Icelake-Server</model>
      <model usable='no' vendor='Intel'>Icelake-Client-noTSX</model>
      <model usable='no' vendor='Intel'>Icelake-Client</model>
      <model usable='yes' vendor='Intel'>Haswell-noTSX-IBRS</model>
      <model usable='yes' vendor='Intel'>Haswell-noTSX</model>
      <model usable='yes' vendor='Intel'>Haswell-IBRS</model>
      <model usable='yes' vendor='Intel'>Haswell</model>
      <model usable='no' vendor='AMD'>EPYC-Rome</model>
      <model usable='no' vendor='AMD'>EPYC-IBPB</model>
      <model usable='no' vendor='AMD'>EPYC</model>
      <model usable='no' vendor='Hygon'>Dhyana</model>
      <model usable='no' vendor='Intel'>Cooperlake</model>
      <model usable='yes' vendor='Intel'>Conroe</model>
      <model usable='no' vendor='Intel'>Cascadelake-Server-noTSX</model>
      <model usable='no' vendor='Intel'>Cascadelake-Server</model>
      <model usable='yes' vendor='Intel'>Broadwell-noTSX-IBRS</model>
      <model usable='yes' vendor='Intel'>Broadwell-noTSX</model>
      <model usable='yes' vendor='Intel'>Broadwell-IBRS</model>
      <model usable='yes' vendor='Intel'>Broadwell</model>
      <model usable='yes' vendor='unknown'>486</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>
      </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>
  </devices>
  <features>
    <gic supported='no'/>
    <vmcoreinfo supported='yes'/>
    <genid supported='yes'/>
    <backingStoreInput supported='yes'/>
    <backup supported='no'/>
    <async-teardown supported='no'/>
    <sev supported='no'/>
    <sgx supported='no'/>
    <launchSecurity supported='no'/>
  </features>
</domainCapabilities>