Re: [PATCH v3 52/70] i386/tdx: handle TDG.VP.VMCALL

Markus Armbruster
2023-12-01T11:02:20Z

Xiaoyao Li <xiaoyao.li@intel.com> writes:

> From: Isaku Yamahata <isaku.yamahata@intel.com>
>
> For GetQuote, delegate a request to Quote Generation Service.
> Add property "quote-generation-socket" to tdx-guest, whihc is a property
> of type SocketAddress to specify Quote Generation Service(QGS).
>
> On request, connect to the QGS, read request buffer from shared guest
> memory, send the request buffer to the server and store the response
> into shared guest memory and notify TD guest by interrupt.
>
> command line example:
> qemu-system-x86_64 \
> -object '{"qom-type":"tdx-guest","id":"tdx0","quote-generation-socket":{"type": "vsock", "cid":"2","port":"1234"}}' \
> -machine confidential-guest-support=tdx0
>
> Signed-off-by: Isaku Yamahata <isaku.yamahata@intel.com>
> Codeveloped-by: Chenyi Qiang <chenyi.qiang@intel.com>
> Signed-off-by: Chenyi Qiang <chenyi.qiang@intel.com>
> Signed-off-by: Xiaoyao Li <xiaoyao.li@intel.com>
> ---
> Changes in v3:
> - rename property "quote-generation-service" to "quote-generation-socket";
> - change the type of "quote-generation-socket" from str to
> SocketAddress;
> - squash next patch into this one;
> ---
> qapi/qom.json | 5 +-
> target/i386/kvm/tdx.c | 430 ++++++++++++++++++++++++++++++++++++++++++
> target/i386/kvm/tdx.h | 6 +
> 3 files changed, 440 insertions(+), 1 deletion(-)
>
> diff --git a/qapi/qom.json b/qapi/qom.json
> index fd99aa1ff8cc..cf36a1832ddd 100644
> --- a/qapi/qom.json
> +++ b/qapi/qom.json
> @@ -894,13 +894,16 @@
> #
> # @mrownerconfig: base64 MROWNERCONFIG SHA384 digest
> #
> +# @quote-generation-socket: socket address for Quote Generation Service(QGS)
> +#

Long line. Better:

# @quote-generation-socket: socket address for Quote Generation
# Service(QGS)

> # Since: 8.2
> ##
> { 'struct': 'TdxGuestProperties',
> 'data': { '*sept-ve-disable': 'bool',
> '*mrconfigid': 'str',
> '*mrowner': 'str',
> - '*mrownerconfig': 'str' } }
> + '*mrownerconfig': 'str',
> + '*quote-generation-socket': 'SocketAddress' } }
>
> ##