mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 10:11:27 +01:00
In Windows on HVM domain, GetPubkey function and Seal function become an error. Signed-off-by: Kouichi YASAKI <yasaki.kouichi@jp.fujitsu.com>
Directory Structure
===================
tools/vtpm/tpm_emulator-0.2b.tar.gz -> TPM Emulator downloaded at build time that will
be patched and used for our vtpms
tools/vtpm/vtpm.patch -> patch applied to tpm_emulator to make vtpm
tools/vtpm/vtpm/ -> (created on build) tpm_emulator moved to ring 3,
listens on a pair of fifos for TPM commands,
persistent state is sent via named fifo to vtpm
manager, which encrypts it and protects it.
tools/vtpm/tpm_emulator.patch -> To allow for debugging and testing on non-TPM
platforms, this patches the emulator to allow
it to be inserted into the dom0 kernel
tools/vtpm/tpm_emulator-0.2 -> (created on build) directory containing patched emulator
Compile Flags
===================
VTPM_MULTI_VM -> Defined (not finished): VTPMs run in their own VMs
Not Defined (default): VTPMs are processes
Requirements
============
- xen-unstable
- IBM frontend/backend vtpm driver patch
- vtpm_managerd
- GNU MP Big number library (GMP)
vtpmd Flow (for vtpm_manager. vtpmd never run by default)
============================
- Launch the VTPM manager (vtpm_managerd) which which begins listening to the BE with one thread
and listens to a named fifo that is shared by the vtpms to commuincate with the manager.
- VTPM Manager listens to TPM BE.
- When xend launches a tpm frontend equipped VM it contacts the manager over the vtpm backend.
- When the manager receives the open message from the BE, it launches a vtpm
- Xend allows the VM to continue booting.
- When a TPM request is issued to the front end, the front end transmits the TPM request to the backend.
- The manager receives the TPM requests and uses a named fifo to forward the request to the vtpm.
- The fifo listener begins listening for the reply from vtpm for the request.
- Vtpm processes request and replies to manager over shared named fifo.
- If needed, the vtpm may send a request to the vtpm_manager at any time to save it's secrets to disk.
- Manager receives response from vtpm and passes it back to backend for forwarding to guest.
tpm_emulator flow
==================
Read documentation in tpm_emulator-0.2 directory