mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 08:13:54 -06:00
i386/tdx: handle TDG.VP.VMCALL<GetQuote>
Add property "quote-generation-socket" to tdx-guest, which is a property of type SocketAddress to specify Quote Generation Service(QGS). On request of GetQuote, it connects to the QGS socket, read request data from shared guest memory, send the request data to the QGS, and store the response into shared guest memory, at last notify TD guest by interrupt. command line example: qemu-system-x86_64 \ -object '{"qom-type":"tdx-guest","id":"tdx0","quote-generation-socket":{"type":"unix", "path":"/var/run/tdx-qgs/qgs.socket"}}' \ -machine confidential-guest-support=tdx0 Note, above example uses the unix socket. It can be other types, like vsock, which depends on the implementation of QGS. To avoid no response from QGS server, setup a timer for the transaction. If timeout, make it an error and interrupt guest. Define the threshold of time to 30s at present, maybe change to other value if not appropriate. Signed-off-by: Isaku Yamahata <isaku.yamahata@intel.com> Co-developed-by: Chenyi Qiang <chenyi.qiang@intel.com> Signed-off-by: Chenyi Qiang <chenyi.qiang@intel.com> Co-developed-by: Xiaoyao Li <xiaoyao.li@intel.com> Signed-off-by: Xiaoyao Li <xiaoyao.li@intel.com> Tested-by: Xiaoyao Li <xiaoyao.li@intel.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
427b8cf47a
commit
40da501d89
8 changed files with 582 additions and 3 deletions
|
@ -1071,6 +1071,11 @@
|
|||
# e.g., specific to the workload rather than the run-time or OS
|
||||
# (base64 encoded SHA384 digest). Defaults to all zeros.
|
||||
#
|
||||
# @quote-generation-socket: socket address for Quote Generation
|
||||
# Service (QGS). QGS is a daemon running on the host. Without
|
||||
# it, the guest will not be able to get a TD quote for
|
||||
# attestation.
|
||||
#
|
||||
# Since: 10.1
|
||||
##
|
||||
{ 'struct': 'TdxGuestProperties',
|
||||
|
@ -1078,7 +1083,8 @@
|
|||
'*sept-ve-disable': 'bool',
|
||||
'*mrconfigid': 'str',
|
||||
'*mrowner': 'str',
|
||||
'*mrownerconfig': 'str' } }
|
||||
'*mrownerconfig': 'str',
|
||||
'*quote-generation-socket': 'SocketAddress' } }
|
||||
|
||||
##
|
||||
# @ThreadContextProperties:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue