]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu: Add capability for IBS pSeries feature
authorDaniel Henrique Barboza <danielhb413@gmail.com>
Mon, 27 Apr 2020 12:14:30 +0000 (09:14 -0300)
committerMichal Privoznik <mprivozn@redhat.com>
Mon, 27 Apr 2020 12:43:10 +0000 (14:43 +0200)
IBS (Indirect Branch Speculation) is the last capability added
in QEMU 2.12 related to Spectre mitigation for Power. It was
added in commit 4be8d4e7d935.

This patch introduces it as QEMU_CAPS_MACHINE_PSERIES_CAP_IBS.
Like CFPC and SBBC, users might want to tune in IBS based on
their HW and guest OS requirements, and it's better to do it
so in a proper Libvirt feature than to put QEMU arguments
in the middle of the domain XML.

Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
src/qemu/qemu_capabilities.c
src/qemu/qemu_capabilities.h
tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml
tests/qemucapabilitiesdata/caps_3.0.0.ppc64.xml
tests/qemucapabilitiesdata/caps_3.1.0.ppc64.xml
tests/qemucapabilitiesdata/caps_4.0.0.ppc64.xml
tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml
tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml

index 2e2b9874a77522aaede0d8a2c3f898f2b87bc643..3e00299a91892cecf3e7d12109e8d40a6bcf0131 100644 (file)
@@ -578,6 +578,7 @@ VIR_ENUM_IMPL(virQEMUCaps,
 
               /* 365 */
               "machine.pseries.cap-sbbc",
+              "machine.pseries.cap-ibs",
     );
 
 
@@ -1623,6 +1624,7 @@ static struct virQEMUCapsStringFlags virQEMUCapsMachinePropsPSeries[] = {
     { "cap-ccf-assist", QEMU_CAPS_MACHINE_PSERIES_CAP_CCF_ASSIST },
     { "cap-cfpc", QEMU_CAPS_MACHINE_PSERIES_CAP_CFPC },
     { "cap-sbbc", QEMU_CAPS_MACHINE_PSERIES_CAP_SBBC },
+    { "cap-ibs", QEMU_CAPS_MACHINE_PSERIES_CAP_IBS },
 };
 
 static struct virQEMUCapsStringFlags virQEMUCapsMachinePropsVirt[] = {
index 4040c50dc407ddae75774af5c00f01d97b7e2428..281aca5ea7d0c458e546eda415ae3b1d5f416368 100644 (file)
@@ -559,6 +559,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */
 
     /* 365 */
     QEMU_CAPS_MACHINE_PSERIES_CAP_SBBC, /* -machine pseries.cap-sbbc */
+    QEMU_CAPS_MACHINE_PSERIES_CAP_IBS, /* -machine pseries.cap-ibs */
 
     QEMU_CAPS_LAST /* this must always be the last item */
 } virQEMUCapsFlags;
index 2046f1097c21e2bf56d9834697137c6b98f8b431..4c1758fbfe4e09b9d1d7b0984e776ce8b3815ae0 100644 (file)
   <flag name='i8042'/>
   <flag name='machine.pseries.cap-cfpc'/>
   <flag name='machine.pseries.cap-sbbc'/>
+  <flag name='machine.pseries.cap-ibs'/>
   <version>2011090</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>42900289</microcodeVersion>
index 9e71080152e7318e4fc23af59ee60e3d46ed94f4..a8390a12ebf73c7028096b73f48b2c010e908d79 100644 (file)
   <flag name='i8042'/>
   <flag name='machine.pseries.cap-cfpc'/>
   <flag name='machine.pseries.cap-sbbc'/>
+  <flag name='machine.pseries.cap-ibs'/>
   <version>2012050</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>42900239</microcodeVersion>
index f13b384e919c2fc9c1e00bf7f38333fb4286762f..d96caaa9edc53b7c8622e8d1c2712d59fc584346 100644 (file)
   <flag name='storage.werror'/>
   <flag name='machine.pseries.cap-cfpc'/>
   <flag name='machine.pseries.cap-sbbc'/>
+  <flag name='machine.pseries.cap-ibs'/>
   <version>3000091</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>42900240</microcodeVersion>
index 674e4b4944ec19c94c01d0609adff074857e229d..44c1b9205ec111cd65be06a33ddcec0dbee15d0a 100644 (file)
   <flag name='storage.werror'/>
   <flag name='machine.pseries.cap-cfpc'/>
   <flag name='machine.pseries.cap-sbbc'/>
+  <flag name='machine.pseries.cap-ibs'/>
   <version>4000000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>42900240</microcodeVersion>
index f89498171bef534efde4217832dbff589c0edfda..2eef337cc4e72dc4967c75c8a1aab0f3cdc6e9cf 100644 (file)
   <flag name='storage.werror'/>
   <flag name='machine.pseries.cap-cfpc'/>
   <flag name='machine.pseries.cap-sbbc'/>
+  <flag name='machine.pseries.cap-ibs'/>
   <version>4001050</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>42900242</microcodeVersion>
index ebc39130dfc685de07d83dfdc51d308b108d0f3f..d972def4b3156bbf8ad6b169e73af9977ef6ee84 100644 (file)
   <flag name='virtio.packed'/>
   <flag name='machine.pseries.cap-cfpc'/>
   <flag name='machine.pseries.cap-sbbc'/>
+  <flag name='machine.pseries.cap-ibs'/>
   <version>4002050</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>42900241</microcodeVersion>