aboutsummaryrefslogtreecommitdiffstats
path: root/extras/mini-os/tpmback.c
diff options
context:
space:
mode:
authorDaniel De Graaf <dgdegra@tycho.nsa.gov>2013-03-21 16:11:22 -0400
committerIan Campbell <ian.campbell@citrix.com>2013-04-12 14:28:17 +0100
commit9f0cf56683a0efcaa3cda67c534144d335f7ad2c (patch)
tree85bc2bbcd3927f3410ed68f2adcdff5cb6b65e0f /extras/mini-os/tpmback.c
parentb05cb51b0605fb7c614e8a78ef03b79eeb06c85a (diff)
downloadxen-9f0cf56683a0efcaa3cda67c534144d335f7ad2c.tar.gz
xen-9f0cf56683a0efcaa3cda67c534144d335f7ad2c.tar.bz2
xen-9f0cf56683a0efcaa3cda67c534144d335f7ad2c.zip
mini-os/tpmback: add tpmback_get_peercontext
This allows the XSM label of the TPM's client domain to be retrieved. Signed-off-by: Daniel De Graaf <dgdegra@tycho.nsa.gov> Acked-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Diffstat (limited to 'extras/mini-os/tpmback.c')
-rw-r--r--extras/mini-os/tpmback.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/extras/mini-os/tpmback.c b/extras/mini-os/tpmback.c
index 21dd20606f..43e840d910 100644
--- a/extras/mini-os/tpmback.c
+++ b/extras/mini-os/tpmback.c
@@ -830,6 +830,17 @@ unsigned char* tpmback_get_uuid(domid_t domid, unsigned int handle)
return tpmif->uuid;
}
+int tpmback_get_peercontext(domid_t domid, unsigned int handle, void* buffer, int buflen)
+{
+ tpmif_t* tpmif;
+ if((tpmif = get_tpmif(domid, handle)) == NULL) {
+ TPMBACK_DEBUG("get_uuid() failed, %u/%u is an invalid frontend\n", (unsigned int) domid, handle);
+ return -1;
+ }
+
+ return evtchn_get_peercontext(tpmif->evtchn, buffer, buflen);
+}
+
static void event_listener(void)
{
const char* bepath = "backend/vtpm";