aboutsummaryrefslogtreecommitdiffstats
path: root/extras/mini-os/include/tpmback.h
diff options
context:
space:
mode:
authorDaniel De Graaf <dgdegra@tycho.nsa.gov>2013-04-11 12:20:25 -0400
committerIan Campbell <ian.campbell@citrix.com>2013-04-12 14:28:17 +0100
commitf494d9f3c37542435239236085be25c820912304 (patch)
tree571f23e359f4ba4c78c818ef288147dbd0f563ae /extras/mini-os/include/tpmback.h
parentc1f0b214536773630cd5f16bf3d275015373555b (diff)
downloadxen-f494d9f3c37542435239236085be25c820912304.tar.gz
xen-f494d9f3c37542435239236085be25c820912304.tar.bz2
xen-f494d9f3c37542435239236085be25c820912304.zip
mini-os/tpm{back, front}: Change shared page ABI
This changes the vTPM shared page ABI from a copy of the Xen network interface to a single-page interface that better reflects the expected behavior of a TPM: only a single request packet can be sent at any given time, and every packet sent generates a single response packet. This protocol change should also increase efficiency as it avoids mapping and unmapping grants when possible. The vtpm xenbus device now requires a feature-protocol-v2 node in xenstore to avoid conflicts with existing (xen-patched) kernels supporting the old interface. While the contents of the shared page have been defined to allow packets larger than a single page (actually 4088 bytes) by allowing the client to add extra grant references, the mapping of these extra references has not been implemented; a feature node in xenstore may be used in the future to indicate full support for the multi-page protocol. Most uses of the TPM should not require this feature. Signed-off-by: Daniel De Graaf <dgdegra@tycho.nsa.gov> Cc: Jan Beulich <JBeulich@suse.com>
Diffstat (limited to 'extras/mini-os/include/tpmback.h')
-rw-r--r--extras/mini-os/include/tpmback.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/extras/mini-os/include/tpmback.h b/extras/mini-os/include/tpmback.h
index ff8673285c..ec9eda4b57 100644
--- a/extras/mini-os/include/tpmback.h
+++ b/extras/mini-os/include/tpmback.h
@@ -43,6 +43,7 @@
struct tpmcmd {
domid_t domid; /* Domid of the frontend */
+ uint8_t locality; /* Locality requested by the frontend */
unsigned int handle; /* Handle of the frontend */
unsigned char uuid[16]; /* uuid of the tpm interface */