qapi: expand docs for SEV commands

This gives some more context about the behaviour of the commands in
unsupported guest configuration or platform scenarios.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Message-ID: <20250522190542.588267-3-pierrick.bouvier@linaro.org>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
[Tweak query-sev doc, turn error descriptions into Errors sections,
delate a stray #, normalize whitespace, wrap lines]
This commit is contained in:
Daniel P. Berrangé 2025-05-22 12:05:29 -07:00 committed by Markus Armbruster
parent a78a91feee
commit 9215d072d2

View file

@ -110,7 +110,11 @@
##
# @query-sev:
#
# Returns information about SEV
# Returns information about SEV/SEV-ES/SEV-SNP.
#
# If unavailable due to an incompatible configuration the returned
# @enabled field is set to 'false' and the state of all other fields
# is unspecified.
#
# Returns: @SevInfo
#
@ -141,10 +145,19 @@
##
# @query-sev-launch-measure:
#
# Query the SEV guest launch information.
# Query the SEV/SEV-ES guest launch information.
#
# This is only valid on x86 machines configured with KVM and the
# 'sev-guest' confidential virtualization object. The launch
# measurement for SEV-SNP guests is only available within the guest.
#
# Returns: The @SevLaunchMeasureInfo for the guest
#
# Errors:
# - If the launch measurement is unavailable, either due to an
# invalid guest configuration or if the guest has not reached
# the required SEV state, GenericError
#
# Since: 2.12
#
# .. qmp-example::
@ -185,11 +198,15 @@
##
# @query-sev-capabilities:
#
# This command is used to get the SEV capabilities, and is supported
# on AMD X86 platforms only.
# Get SEV capabilities.
#
# This is only supported on AMD X86 platforms with KVM enabled.
#
# Returns: SevCapability objects.
#
# Errors:
# - If SEV is not available on the platform, GenericError
#
# Since: 2.12
#
# .. qmp-example::
@ -205,7 +222,12 @@
##
# @sev-inject-launch-secret:
#
# This command injects a secret blob into memory of SEV guest.
# This command injects a secret blob into memory of a SEV/SEV-ES
# guest.
#
# This is only valid on x86 machines configured with KVM and the
# 'sev-guest' confidential virtualization object. SEV-SNP guests do
# not support launch secret injection.
#
# @packet-header: the launch secret packet header encoded in base64
#
@ -213,6 +235,11 @@
#
# @gpa: the guest physical address where secret will be injected.
#
# Errors:
# - If launch secret injection is not possible, either due to
# an invalid guest configuration, or if the guest has not
# reached the required SEV state, GenericError
#
# Since: 6.0
##
{ 'command': 'sev-inject-launch-secret',
@ -236,14 +263,23 @@
##
# @query-sev-attestation-report:
#
# This command is used to get the SEV attestation report, and is
# supported on AMD X86 platforms only.
# This command is used to get the SEV attestation report.
#
# This is only valid on x86 machines configured with KVM and the
# 'sev-guest' confidential virtualization object. The attestation
# report for SEV-SNP guests is only available within the guest.
#
# @mnonce: a random 16 bytes value encoded in base64 (it will be
# included in report)
#
# Returns: SevAttestationReport objects.
#
# Errors:
# - This will return an error if the attestation report is
# unavailable, either due to an invalid guest configuration
# or if the guest has not reached the required SEV state,
# GenericError
#
# Since: 6.1
#
# .. qmp-example::