You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
qemu/target/i386/kvm
Isaku Yamahata 40da501d89 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>
1 week ago
..
hyperv-proto.h hw/hyperv/hyperv-proto: Move SYNDBG definitions from target/i386 4 months ago
hyperv-stub.c target/i386: hyperv: add stub for hyperv_syndbg_query_options 7 months ago
hyperv.c exec/cpu-all: remove exec/target_page include 2 months ago
hyperv.h include: Rename sysemu/ -> system/ 6 months ago
kvm-cpu.c qom: Have class_init() take a const data argument 2 months ago
kvm.c i386/tdx: handle TDG.VP.VMCALL<GetQuote> 1 week ago
kvm_i386.h i386/tdx: Add TDX fixed1 bits to supported CPUIDs 1 month ago
meson.build i386/tdx: handle TDG.VP.VMCALL<GetQuote> 1 week ago
tdx-quote-generator.c i386/tdx: handle TDG.VP.VMCALL<GetQuote> 1 week ago
tdx-quote-generator.h i386/tdx: handle TDG.VP.VMCALL<GetQuote> 1 week ago
tdx-stub.c i386/tdx: handle TDG.VP.VMCALL<GetQuote> 1 week ago
tdx.c i386/tdx: handle TDG.VP.VMCALL<GetQuote> 1 week ago
tdx.h i386/tdx: handle TDG.VP.VMCALL<GetQuote> 1 week ago
trace-events i386/kvm: Add KVM_EXIT_HYPERCALL handling for KVM_HC_MAP_GPA_RANGE 1 year ago
trace.h
vmsr_energy.c cleanup: Drop pointless return at end of function 2 months ago
vmsr_energy.h Add support for RAPL MSRs in KVM/Qemu 11 months ago
xen-compat.h i386/xen: Implement HYPERVISOR_physdev_op 2 years ago
xen-emu.c exec/cpu-all: remove exec/target_page include 2 months ago
xen-emu.h hw/xen: Support HVM_PARAM_CALLBACK_TYPE_GSI callback 2 years ago