From 474a7b917c2b3c93b51bc4dfa340cb49883f7752 Mon Sep 17 00:00:00 2001 From: Daniel De Graaf Date: Thu, 21 Mar 2013 16:11:21 -0400 Subject: [PATCH] mini-os/tpmback: Replace UUID field with opaque pointer Instead of only recording the UUID field, which may not be of interest to all tpmback implementations, provide a user-settable opaque pointer associated with the tpmback instance. Signed-off-by: Daniel De Graaf --- vtpmmgr/init.c | 8 +++++++- vtpmmgr/vtpmmgr.c | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/vtpmmgr/init.c b/vtpmmgr/init.c index 00dd9f3..33ac152 100644 --- a/vtpmmgr/init.c +++ b/vtpmmgr/init.c @@ -436,6 +436,12 @@ egress: return status; } +/* Set up the opaque field to contain a pointer to the UUID */ +static void set_opaque_to_uuid(domid_t domid, unsigned int handle) +{ + tpmback_set_opaque(domid, handle, tpmback_get_uuid(domid, handle)); +} + TPM_RESULT vtpmmgr_init(int argc, char** argv) { TPM_RESULT status = TPM_SUCCESS; @@ -462,7 +468,7 @@ TPM_RESULT vtpmmgr_init(int argc, char** argv) { } //Setup tpmback device - init_tpmback(NULL, NULL); + init_tpmback(set_opaque_to_uuid, NULL); //Setup tpm access switch(opts.tpmdriver) { diff --git a/vtpmmgr/vtpmmgr.c b/vtpmmgr/vtpmmgr.c index 563f4e8..270ca8a 100644 --- a/vtpmmgr/vtpmmgr.c +++ b/vtpmmgr/vtpmmgr.c @@ -61,7 +61,7 @@ void main_loop(void) { tpmcmd->resp = respbuf; /* Process the command */ - vtpmmgr_handle_cmd(tpmcmd->uuid, tpmcmd); + vtpmmgr_handle_cmd(tpmcmd->opaque, tpmcmd); /* Send response */ tpmback_resp(tpmcmd); -- 2.39.5