From af68ab6b267401911db7db97a75cc8bcf4f4766e Mon Sep 17 00:00:00 2001 From: Peter Krempa Date: Mon, 3 Mar 2025 18:18:06 +0100 Subject: [PATCH] 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 Reviewed-by: Pavel Hrdina --- .../qemu_7.0.0-hvf.aarch64+hvf.xml | 43 +- .../qemu_7.2.0-hvf.x86_64+hvf.xml | 952 +++++++++++++++++- tests/domaincapstest.c | 12 +- 3 files changed, 1001 insertions(+), 6 deletions(-) diff --git a/tests/domaincapsdata/qemu_7.0.0-hvf.aarch64+hvf.xml b/tests/domaincapsdata/qemu_7.0.0-hvf.aarch64+hvf.xml index bf130dde10..e3d4dbd3db 100644 --- a/tests/domaincapsdata/qemu_7.0.0-hvf.aarch64+hvf.xml +++ b/tests/domaincapsdata/qemu_7.0.0-hvf.aarch64+hvf.xml @@ -3,6 +3,7 @@ hvf virt-7.0 aarch64 + @@ -37,7 +38,47 @@ - + + a64fx + arm1026 + arm1136 + arm1136-r2 + arm1176 + arm11mpcore + arm926 + arm946 + cortex-a15 + cortex-a53 + cortex-a57 + cortex-a7 + cortex-a72 + cortex-a8 + cortex-a9 + cortex-m0 + cortex-m3 + cortex-m33 + cortex-m4 + cortex-m55 + cortex-m7 + cortex-r5 + cortex-r5f + max + pxa250 + pxa255 + pxa260 + pxa261 + pxa262 + pxa270 + pxa270-a0 + pxa270-a1 + pxa270-b0 + pxa270-b1 + pxa270-c0 + pxa270-c5 + sa1100 + sa1110 + ti925t + diff --git a/tests/domaincapsdata/qemu_7.2.0-hvf.x86_64+hvf.xml b/tests/domaincapsdata/qemu_7.2.0-hvf.x86_64+hvf.xml index 75b2f1102d..ce2e4f9f37 100644 --- a/tests/domaincapsdata/qemu_7.2.0-hvf.x86_64+hvf.xml +++ b/tests/domaincapsdata/qemu_7.2.0-hvf.x86_64+hvf.xml @@ -3,6 +3,7 @@ hvf pc-i440fx-7.2 x86_64 + @@ -38,8 +39,955 @@ off - - + + EPYC-Rome + AMD + + + + + + + + + + + + + + + + + + + + + + + + + + + + 486 + 486-v1 + Broadwell + + + + + + + + Broadwell-IBRS + + + + + + + + + Broadwell-noTSX + + + + + + Broadwell-noTSX-IBRS + + + + + + + Broadwell-v1 + + + + + + + + Broadwell-v2 + + + + + + Broadwell-v3 + + + + + + + + + Broadwell-v4 + + + + + + + Cascadelake-Server + + + + + + + + + + + + + + + + Cascadelake-Server-noTSX + + + + + + + + + + + + + + + Cascadelake-Server-v1 + + + + + + + + + + + + + + + + Cascadelake-Server-v2 + + + + + + + + + + + + + + + + + Cascadelake-Server-v3 + + + + + + + + + + + + + + + Cascadelake-Server-v4 + + + + + + + + + + + + + + + Cascadelake-Server-v5 + + + + + + + + + + + + + + + Conroe + Conroe-v1 + Cooperlake + + + + + + + + + + + + + + + + + + + Cooperlake-v1 + + + + + + + + + + + + + + + + + + + Cooperlake-v2 + + + + + + + + + + + + + + + + + + + Denverton + + + + + + Denverton-v1 + + + + + + Denverton-v2 + + + + + Denverton-v3 + + + + + Dhyana + Dhyana-v1 + Dhyana-v2 + EPYC + EPYC-IBPB + EPYC-Milan + + + + + + + + + EPYC-Milan-v1 + + + + + + + + + EPYC-Rome + EPYC-Rome-v1 + EPYC-Rome-v2 + + + + EPYC-v1 + EPYC-v2 + EPYC-v3 + Haswell + + + + + + + + Haswell-IBRS + + + + + + + + + Haswell-noTSX + + + + + + Haswell-noTSX-IBRS + + + + + + + Haswell-v1 + + + + + + + + Haswell-v2 + + + + + + Haswell-v3 + + + + + + + + + Haswell-v4 + + + + + + + Icelake-Server + + + + + + + + + + + + + + + + + + + + + + + + Icelake-Server-noTSX + + + + + + + + + + + + + + + + + + + + + + Icelake-Server-v1 + + + + + + + + + + + + + + + + + + + + + + + + Icelake-Server-v2 + + + + + + + + + + + + + + + + + + + + + + Icelake-Server-v3 + + + + + + + + + + + + + + + + + + + + + + + + Icelake-Server-v4 + + + + + + + + + + + + + + + + + + + + + + + + + + Icelake-Server-v5 + + + + + + + + + + + + + + + + + + + + + + + + + + Icelake-Server-v6 + + + + + + + + + + + + + + + + + + + + + + + + + + IvyBridge + + + + IvyBridge-IBRS + + + + + IvyBridge-v1 + + + + IvyBridge-v2 + + + + + KnightsMill + + + + + + + + + + + + KnightsMill-v1 + + + + + + + + + + + + Nehalem + Nehalem-IBRS + + + + Nehalem-v1 + Nehalem-v2 + + + + Opteron_G1 + Opteron_G1-v1 + Opteron_G2 + Opteron_G2-v1 + Opteron_G3 + Opteron_G3-v1 + Opteron_G4 + + + + + Opteron_G4-v1 + + + + + Opteron_G5 + + + + + + Opteron_G5-v1 + + + + + + Penryn + Penryn-v1 + SandyBridge + SandyBridge-IBRS + + + + SandyBridge-v1 + SandyBridge-v2 + + + + Skylake-Client + + + + + + + + Skylake-Client-IBRS + + + + + + + + + Skylake-Client-noTSX-IBRS + + + + + + + Skylake-Client-v1 + + + + + + + + Skylake-Client-v2 + + + + + + + + + Skylake-Client-v3 + + + + + + + Skylake-Client-v4 + + + + + + + Skylake-Server + + + + + + + + + + + + + + Skylake-Server-IBRS + + + + + + + + + + + + + + + Skylake-Server-noTSX-IBRS + + + + + + + + + + + + + Skylake-Server-v1 + + + + + + + + + + + + + + Skylake-Server-v2 + + + + + + + + + + + + + + + Skylake-Server-v3 + + + + + + + + + + + + + Skylake-Server-v4 + + + + + + + + + + + + + Skylake-Server-v5 + + + + + + + + + + + + + Snowridge + + + + + + + + + + + + Snowridge-v1 + + + + + + + + + + + + Snowridge-v2 + + + + + + + + + + + Snowridge-v3 + + + + + + + + + + + Snowridge-v4 + + + + + + + + + Westmere + Westmere-IBRS + + + + Westmere-v1 + Westmere-v2 + + + + athlon + + + + + athlon-v1 + + + + + core2duo + + + + core2duo-v1 + + + + coreduo + + + + coreduo-v1 + + + + kvm32 + kvm32-v1 + kvm64 + kvm64-v1 + n270 + + + + n270-v1 + + + + pentium + pentium-v1 + pentium2 + pentium2-v1 + pentium3 + pentium3-v1 + phenom + + + + + phenom-v1 + + + + + qemu32 + qemu32-v1 + qemu64 + qemu64-v1 + diff --git a/tests/domaincapstest.c b/tests/domaincapstest.c index e520c7d7bc..51fec0558f 100644 --- a/tests/domaincapstest.c +++ b/tests/domaincapstest.c @@ -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, \ -- 2.47.3