Rather than editing existing Intel domain capabilities by hand, use capabilities from a real AMD HW. We're later going to use these to fill in SEV platform specific data automatically. Signed-off-by: Erik Skultety <eskultet@xxxxxxxxxx> --- .../kvm-x86_64-domcaps-amd-sev.xml | 144 ++++++++++++++++++ tests/utils.py | 2 + 2 files changed, 146 insertions(+) create mode 100644 tests/capabilities-xml/kvm-x86_64-domcaps-amd-sev.xml diff --git a/tests/capabilities-xml/kvm-x86_64-domcaps-amd-sev.xml b/tests/capabilities-xml/kvm-x86_64-domcaps-amd-sev.xml new file mode 100644 index 00000000..9a1ab5db --- /dev/null +++ b/tests/capabilities-xml/kvm-x86_64-domcaps-amd-sev.xml @@ -0,0 +1,144 @@ +<domainCapabilities> + <path>/usr/bin/qemu-system-x86_64</path> + <domain>kvm</domain> + <machine>pc-q35-3.0</machine> + <arch>x86_64</arch> + <vcpu max='288'/> + <iothreads supported='yes'/> + <os supported='yes'> + <loader supported='yes'> + <value>/usr/share/edk2/ovmf/OVMF_CODE.fd</value> + <enum name='type'> + <value>rom</value> + <value>pflash</value> + </enum> + <enum name='readonly'> + <value>yes</value> + <value>no</value> + </enum> + </loader> + </os> + <cpu> + <mode name='host-passthrough' supported='yes'/> + <mode name='host-model' supported='yes'> + <model fallback='forbid'>EPYC-IBPB</model> + <vendor>AMD</vendor> + <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='cmp_legacy'/> + <feature policy='require' name='perfctr_core'/> + <feature policy='require' name='invtsc'/> + <feature policy='require' name='virt-ssbd'/> + <feature policy='disable' name='monitor'/> + </mode> + <mode name='custom' supported='yes'> + <model usable='yes'>qemu64</model> + <model usable='yes'>qemu32</model> + <model usable='no'>phenom</model> + <model usable='yes'>pentium3</model> + <model usable='yes'>pentium2</model> + <model usable='yes'>pentium</model> + <model usable='no'>n270</model> + <model usable='yes'>kvm64</model> + <model usable='yes'>kvm32</model> + <model usable='no'>coreduo</model> + <model usable='no'>core2duo</model> + <model usable='no'>athlon</model> + <model usable='no'>Westmere-IBRS</model> + <model usable='yes'>Westmere</model> + <model usable='no'>Skylake-Server-IBRS</model> + <model usable='no'>Skylake-Server</model> + <model usable='no'>Skylake-Client-IBRS</model> + <model usable='no'>Skylake-Client</model> + <model usable='no'>SandyBridge-IBRS</model> + <model usable='yes'>SandyBridge</model> + <model usable='yes'>Penryn</model> + <model usable='no'>Opteron_G5</model> + <model usable='no'>Opteron_G4</model> + <model usable='yes'>Opteron_G3</model> + <model usable='yes'>Opteron_G2</model> + <model usable='yes'>Opteron_G1</model> + <model usable='no'>Nehalem-IBRS</model> + <model usable='yes'>Nehalem</model> + <model usable='no'>IvyBridge-IBRS</model> + <model usable='no'>IvyBridge</model> + <model usable='no'>Haswell-noTSX-IBRS</model> + <model usable='no'>Haswell-noTSX</model> + <model usable='no'>Haswell-IBRS</model> + <model usable='no'>Haswell</model> + <model usable='yes'>EPYC-IBPB</model> + <model usable='yes'>EPYC</model> + <model usable='yes'>Conroe</model> + <model usable='no'>Broadwell-noTSX-IBRS</model> + <model usable='no'>Broadwell-noTSX</model> + <model usable='no'>Broadwell-IBRS</model> + <model usable='no'>Broadwell</model> + <model usable='yes'>486</model> + </mode> + </cpu> + <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> + </disk> + <graphics supported='yes'> + <enum name='type'> + <value>sdl</value> + <value>vnc</value> + <value>spice</value> + </enum> + </graphics> + <video supported='yes'> + <enum name='modelType'> + <value>vga</value> + <value>cirrus</value> + <value>vmvga</value> + <value>qxl</value> + <value>virtio</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> + </devices> + <features> + <gic supported='no'/> + <vmcoreinfo supported='yes'/> + <genid supported='yes'/> + <sev supported='yes'> + <cbitpos>47</cbitpos> + <reducedPhysBits>1</reducedPhysBits> + </sev> + </features> +</domainCapabilities> diff --git a/tests/utils.py b/tests/utils.py index ea99eada..e002dd1d 100644 --- a/tests/utils.py +++ b/tests/utils.py @@ -74,6 +74,7 @@ class _URIs(object): _uri_kvm = _uri_qemu + _domcaps("kvm-x86_64-domcaps.xml") _uri_kvm_rhel7 = _uri_qemu + _domcaps("kvm-x86_64-rhel7-domcaps.xml") _uri_kvm_q35 = _uri_qemu + _domcaps("kvm-x86_64-domcaps-q35.xml") + _uri_kvm_amd_sev = _uri_qemu + _domcaps("kvm-x86_64-domcaps-amd-sev.xml") _uri_kvm_aarch64 = _uri_qemu + _domcaps("kvm-aarch64-domcaps.xml") _uri_qemu_riscv64 = _uri_qemu + _domcaps("qemu-riscv64-domcaps.xml") @@ -82,6 +83,7 @@ class _URIs(object): self.kvm_nodomcaps = _uri_qemu + _caps("kvm-x86_64.xml") self.kvm_rhel = _uri_kvm_rhel7 + _caps("kvm-x86_64-rhel7.xml") self.kvm_q35 = _uri_kvm_q35 + _caps("kvm-x86_64.xml") + self.kvm_amd_sev = _uri_kvm_amd_sev + _caps("kvm-x86_64.xml") self.kvm_session = self.kvm + ",session" self.kvm_armv7l = _uri_kvm + _caps("kvm-armv7l.xml") -- 2.21.0 _______________________________________________ virt-tools-list mailing list virt-tools-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/virt-tools-list