summaryrefslogtreecommitdiff
path: root/src/lib/tpm2_tlcl.c
diff options
context:
space:
mode:
authorVictor Prupis <vprupis@google.com>2016-08-19 10:45:04 -0700
committerMartin Roth <martinroth@google.com>2016-08-31 19:59:43 +0200
commitf706020ed6efa4892de61710fa30b8520522c61d (patch)
tree6d9231ac40cf84884d945050e899d5e30e91340d /src/lib/tpm2_tlcl.c
parent70c496b24ee2ed09969575afc291dadb19eea189 (diff)
Provide CAR decoration for tpm2 statics
Decorated tpm2 statics with CAR_GLOBAL BUG=chrome-os-partner:55083 BRANCH=none TEST=none Change-Id: I85620d5c6ffddab5514c01c2c652670bf33b4e7e Signed-off-by: Martin Roth <martinroth@chromium.org> Original-Commit-Id: ae43d3bb7fed5b891ed38cd268bfe4e1416b77e2 Original-Change-Id: I871442ec096836a86870f8d53a3058c9c040cff8 Original-Signed-off-by: Victor Prupis <vprupis@google.com> Original-Reviewed-on: https://chromium-review.googlesource.com/373243 Original-Commit-Ready: Stefan Reinauer <reinauer@google.com> Original-Tested-by: Stefan Reinauer <reinauer@google.com> Original-Reviewed-by: Aaron Durbin <adurbin@chromium.org> Reviewed-on: https://review.coreboot.org/16366 Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Diffstat (limited to 'src/lib/tpm2_tlcl.c')
-rw-r--r--src/lib/tpm2_tlcl.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/lib/tpm2_tlcl.c b/src/lib/tpm2_tlcl.c
index c8e7e90e7b..7bfd40d810 100644
--- a/src/lib/tpm2_tlcl.c
+++ b/src/lib/tpm2_tlcl.c
@@ -4,6 +4,7 @@
* found in the LICENSE file.
*/
+#include <arch/early_variables.h>
#include <console/console.h>
#include <endian.h>
#include <lib/tpm2_tlcl_structures.h>
@@ -24,10 +25,12 @@ static void *tpm_process_command(TPM_CC command, void *command_body)
ssize_t out_size;
size_t in_size;
/* Command/response buffer. */
- static uint8_t cr_buffer[TPM_BUFFER_SIZE];
+ static uint8_t cr_buffer[TPM_BUFFER_SIZE] CAR_GLOBAL;
+
+ uint8_t *cr_buffer_ptr = car_get_var_ptr(cr_buffer);
out_size = tpm_marshal_command(command, command_body,
- cr_buffer, sizeof(cr_buffer));
+ cr_buffer_ptr, sizeof(cr_buffer));
if (out_size < 0) {
printk(BIOS_ERR, "command %#x, cr size %zd\n",
command, out_size);
@@ -35,13 +38,13 @@ static void *tpm_process_command(TPM_CC command, void *command_body)
}
in_size = sizeof(cr_buffer);
- if (tis_sendrecv(cr_buffer, out_size,
- cr_buffer, &in_size)) {
+ if (tis_sendrecv(cr_buffer_ptr, out_size,
+ cr_buffer_ptr, &in_size)) {
printk(BIOS_ERR, "tpm transaction failed\n");
return NULL;
}
- return tpm_unmarshal_response(command, cr_buffer, in_size);
+ return tpm_unmarshal_response(command, cr_buffer_ptr, in_size);
}