[libvirt] [PATCH v8 01/11] qemu: provide support to query the SEV capability

Erik Skultety eskultet at redhat.com
Thu Jun 7 16:11:00 UTC 2018


On Wed, Jun 06, 2018 at 12:50:07PM -0500, Brijesh Singh wrote:
> QEMU version >= 2.12 provides support for launching an encrypted VMs on
> AMD x86 platform using Secure Encrypted Virtualization (SEV) feature.
> This patch adds support to query the SEV capability from the qemu.
>
> Signed-off-by: Brijesh Singh <brijesh.singh at amd.com>
> ---
>  src/conf/domain_capabilities.c                     | 12 ++++
>  src/conf/domain_capabilities.h                     | 16 +++++
>  src/libvirt_private.syms                           |  2 +-
>  src/qemu/qemu_capabilities.c                       | 35 ++++++++++
>  src/qemu/qemu_capabilities.h                       |  2 +-
>  src/qemu/qemu_capspriv.h                           |  4 ++
>  src/qemu/qemu_monitor.c                            | 10 +++
>  src/qemu/qemu_monitor.h                            |  3 +
>  src/qemu/qemu_monitor_json.c                       | 79 ++++++++++++++++++++++
>  src/qemu/qemu_monitor_json.h                       |  3 +
>  .../caps_2.12.0.x86_64.replies                     | 10 +++
>  tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml  |  3 +-
>  12 files changed, 176 insertions(+), 3 deletions(-)

With the following squashed in:
Reviewed-by: Erik Skultety <eskultet at redhat.com>

diff --git a/src/conf/domain_capabilities.h b/src/conf/domain_capabilities.h
index 30b32725c0..56c1903cf4 100644
--- a/src/conf/domain_capabilities.h
+++ b/src/conf/domain_capabilities.h
@@ -137,9 +137,6 @@ struct _virDomainCapsCPU {
     virDomainCapsCPUModelsPtr custom;
 };

-/*
- * SEV capabilities
- */
 typedef struct _virSEVCapability virSEVCapability;
 typedef virSEVCapability *virSEVCapabilityPtr;
 struct _virSEVCapability {
@@ -149,10 +146,6 @@ struct _virSEVCapability {
     unsigned int reduced_phys_bits;
 };

-void
-virSEVCapabilitiesFree(virSEVCapability *capabilities);
-
-
 struct _virDomainCaps {
     virObjectLockable parent;

@@ -218,4 +211,7 @@ int virDomainCapsEnumSet(virDomainCapsEnumPtr capsEnum,
 void virDomainCapsEnumClear(virDomainCapsEnumPtr capsEnum);

 char * virDomainCapsFormat(virDomainCapsPtr const caps);
+
+void
+virSEVCapabilitiesFree(virSEVCapability *capabilities);
 #endif /* __DOMAIN_CAPABILITIES_H__ */
diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms
index ba435db07f..af66c7995f 100644
--- a/src/libvirt_private.syms
+++ b/src/libvirt_private.syms
@@ -187,6 +187,7 @@ virDomainCapsFormat;
 virDomainCapsNew;
 virSEVCapabilitiesFree;

+
 # conf/domain_conf.h
 virBlkioDeviceArrayClear;
 virDiskNameParse;




More information about the libvir-list mailing list