* Kevin Wolf (kwolf(a)redhat.com) wrote:
This adds a QAPI schema for the properties of the objects
implementing
the confidential-guest-support interface.
pef-guest and s390x-pv-guest don't have any properties, so they only
need to be added to the ObjectType enum without adding a new branch to
ObjectOptions.
Signed-off-by: Kevin Wolf <kwolf(a)redhat.com>
---
qapi/qom.json | 37 +++++++++++++++++++++++++++++++++++++
1 file changed, 37 insertions(+)
diff --git a/qapi/qom.json b/qapi/qom.json
index e7184122e9..d5f68b5c89 100644
--- a/qapi/qom.json
+++ b/qapi/qom.json
@@ -633,6 +633,38 @@
'base': 'RngProperties',
'data': { '*filename': 'str' } }
+##
+# @SevGuestProperties:
+#
+# Properties for sev-guest objects.
+#
+# @sev-device: SEV device to use (default: "/dev/sev")
+#
+# @dh-cert-file: guest owners DH certificate (encoded with base64)
+#
+# @session-file: guest owners session parameters (encoded with base64)
+#
+# @policy: SEV policy value (default: 0x1)
+#
+# @handle: SEV firmware handle (default: 0)
+#
+# @cbitpos: C-bit location in page table entry (default: 0)
+#
+# @reduced-phys-bits: number of bits in physical addresses that become
+# unavailable when SEV is enabled
+#
+# Since: 2.12
+##
+{ 'struct': 'SevGuestProperties',
+ 'data': { '*sev-device': 'str',
+ '*dh-cert-file': 'str',
+ '*session-file': 'str',
+ '*policy': 'uint32',
+ '*handle': 'uint32',
+ '*cbitpos': 'uint32',
+ 'reduced-phys-bits': 'uint32' },
+ 'if': 'defined(CONFIG_SEV)' }
+
##
# @ObjectType:
#
@@ -661,12 +693,15 @@
'memory-backend-file',
'memory-backend-memfd',
'memory-backend-ram',
+ {'name': 'pef-guest', 'if':
'defined(CONFIG_PSERIES)' },
'pr-manager-helper',
'rng-builtin',
'rng-egd',
'rng-random',
'secret',
'secret_keyring',
+ {'name': 'sev-guest', 'if': 'defined(CONFIG_SEV)'
},
+ 's390-pv-guest',
If pef-guest is conditional on PSERIES< shouldn't this be dependent on
s390?
Dave
'throttle-group',
'tls-creds-anon',
'tls-creds-psk',
@@ -716,6 +751,8 @@
'rng-random': 'RngRandomProperties',
'secret': 'SecretProperties',
'secret_keyring': 'SecretKeyringProperties',
+ 'sev-guest': { 'type':
'SevGuestProperties',
+ 'if': 'defined(CONFIG_SEV)' },
'throttle-group': 'ThrottleGroupProperties',
'tls-creds-anon': 'TlsCredsAnonProperties',
'tls-creds-psk': 'TlsCredsPskProperties',
--
2.29.2
--
Dr. David Alan Gilbert / dgilbert(a)redhat.com / Manchester, UK