Re: [PATCH 15/24] qemu_command: Use canonical names of CPU features

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Jun 19, 2019 at 11:38:12AM +0200, Jiri Denemark wrote:
When building QEMU command line, we should use the preferred spelling of
each CPU feature without relying on compatibility aliases (which may be
removed at some point).

The "unavailable-features" CPU property is used as a witness for the
correct names of the features in our translation table.

Signed-off-by: Jiri Denemark <jdenemar@xxxxxxxxxx>
---
src/qemu/qemu_capabilities.c                              | 8 +++++++-
src/qemu/qemu_capabilities.h                              | 1 +
src/qemu/qemu_command.c                                   | 2 ++
tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml          | 1 +
tests/qemuxml2argvdata/cpu-translation.x86_64-latest.args | 6 +++---
tests/qemuxml2argvdata/eoi-disabled.x86_64-latest.args    | 2 +-
tests/qemuxml2argvdata/eoi-enabled.x86_64-latest.args     | 2 +-
.../kvmclock+eoi-disabled.x86_64-latest.args              | 2 +-
.../pv-spinlock-disabled.x86_64-latest.args               | 2 +-
.../pv-spinlock-enabled.x86_64-latest.args                | 2 +-
10 files changed, 19 insertions(+), 9 deletions(-)

diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index 3af6923e6f..c742838383 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -532,6 +532,7 @@ VIR_ENUM_IMPL(virQEMUCaps,
              "nbd-bitmap",
              "x86-max-cpu",
              "cpu-unavailable-features",
+              "canonical-cpu-features",
    );


@@ -2892,7 +2893,9 @@ virQEMUCapsCPUFeatureTranslate(virQEMUCapsPtr qemuCaps,
    if (ARCH_IS_X86(qemuCaps->arch))
        table = virQEMUCapsCPUFeaturesX86;

-    if (!table || !feature)
+    if (!table ||
+        !feature ||
+        !virQEMUCapsGet(qemuCaps, QEMU_CAPS_CANONICAL_CPU_FEATURES))
        return feature;

    for (entry = table; entry->libvirt; entry++) {
@@ -4398,6 +4401,9 @@ virQEMUCapsInitProcessCaps(virQEMUCapsPtr qemuCaps)
     * we are able to pass the custom 'device_id' for SCSI disks and cdroms. */
    if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_SCSI_DISK_DEVICE_ID))
        virQEMUCapsClear(qemuCaps, QEMU_CAPS_BLOCKDEV);
+
+    if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_CPU_UNAVAILABLE_FEATURES))
+        virQEMUCapsSet(qemuCaps, QEMU_CAPS_CANONICAL_CPU_FEATURES);
}

Do we need an alias for the QEMU_CAPS_CPU_UNAVAILABLE_FEATURES
capability?

I think virQEMUCapsCPUFeatureTranslate can use QEMU_CAPS_CPU_UNAVAILABLE_FEATURES directly




Reviewed-by: Ján Tomko <jtomko@xxxxxxxxxx>

Jano

Attachment: signature.asc
Description: PGP signature

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list

[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux