qemu: Add capability for SBBC pSeries feature

SBBC (Speculation Barrier Bounds Checking) is another capability
related to Spectre mitigation efforts in Power processors. It
was implemented in QEMU 2.12 by commit 09114fd81799.

This patch introduces it as QEMU_CAPS_MACHINE_PSERIES_CAP_SBBC to
be implemented in the next patch. Like the case with the now
implemented CFPC, exposing this feature in the XML allows for
a cleaner way for users to tune the SBBC accordingly, given
that not all hypervisor and guest setups supports this
Spectre mitigation.

Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
Daniel Henrique Barboza 2020-04-27 09:14:28 -03:00 committed by Michal Privoznik
parent 0280fc7270
commit 249a5c789e
8 changed files with 13 additions and 0 deletions

View File

@ -575,6 +575,9 @@ VIR_ENUM_IMPL(virQEMUCaps,
"pcie-root-port.hotplug",
"aio.io_uring",
"machine.pseries.cap-cfpc",
/* 365 */
"machine.pseries.cap-sbbc",
);
@ -1619,6 +1622,7 @@ static struct virQEMUCapsStringFlags virQEMUCapsMachinePropsPSeries[] = {
{ "cap-nested-hv", QEMU_CAPS_MACHINE_PSERIES_CAP_NESTED_HV },
{ "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 },
};
static struct virQEMUCapsStringFlags virQEMUCapsMachinePropsVirt[] = {

View File

@ -557,6 +557,9 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */
QEMU_CAPS_AIO_IO_URING, /* -blockdev {...,"aio":"io_uring",...} */
QEMU_CAPS_MACHINE_PSERIES_CAP_CFPC, /* -machine pseries.cap-cfpc */
/* 365 */
QEMU_CAPS_MACHINE_PSERIES_CAP_SBBC, /* -machine pseries.cap-sbbc */
QEMU_CAPS_LAST /* this must always be the last item */
} virQEMUCapsFlags;

View File

@ -155,6 +155,7 @@
<flag name='drive-nvme'/>
<flag name='i8042'/>
<flag name='machine.pseries.cap-cfpc'/>
<flag name='machine.pseries.cap-sbbc'/>
<version>2011090</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>42900289</microcodeVersion>

View File

@ -157,6 +157,7 @@
<flag name='drive-nvme'/>
<flag name='i8042'/>
<flag name='machine.pseries.cap-cfpc'/>
<flag name='machine.pseries.cap-sbbc'/>
<version>2012050</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>42900239</microcodeVersion>

View File

@ -162,6 +162,7 @@
<flag name='i8042'/>
<flag name='storage.werror'/>
<flag name='machine.pseries.cap-cfpc'/>
<flag name='machine.pseries.cap-sbbc'/>
<version>3000091</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>42900240</microcodeVersion>

View File

@ -176,6 +176,7 @@
<flag name='i8042'/>
<flag name='storage.werror'/>
<flag name='machine.pseries.cap-cfpc'/>
<flag name='machine.pseries.cap-sbbc'/>
<version>4000000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>42900240</microcodeVersion>

View File

@ -181,6 +181,7 @@
<flag name='rng-builtin'/>
<flag name='storage.werror'/>
<flag name='machine.pseries.cap-cfpc'/>
<flag name='machine.pseries.cap-sbbc'/>
<version>4001050</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>42900242</microcodeVersion>

View File

@ -193,6 +193,7 @@
<flag name='fsdev.multidevs'/>
<flag name='virtio.packed'/>
<flag name='machine.pseries.cap-cfpc'/>
<flag name='machine.pseries.cap-sbbc'/>
<version>4002050</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>42900241</microcodeVersion>