diff options
author | Victor Prupis <vprupis@google.com> | 2016-08-19 10:45:04 -0700 |
---|---|---|
committer | Martin Roth <martinroth@google.com> | 2016-08-31 19:59:43 +0200 |
commit | f706020ed6efa4892de61710fa30b8520522c61d (patch) | |
tree | 6d9231ac40cf84884d945050e899d5e30e91340d /src/lib/tpm2_marshaling.c | |
parent | 70c496b24ee2ed09969575afc291dadb19eea189 (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_marshaling.c')
-rw-r--r-- | src/lib/tpm2_marshaling.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/lib/tpm2_marshaling.c b/src/lib/tpm2_marshaling.c index ab9a928444..f4fd3cbc76 100644 --- a/src/lib/tpm2_marshaling.c +++ b/src/lib/tpm2_marshaling.c @@ -4,6 +4,7 @@ * found in the LICENSE file. */ +#include <arch/early_variables.h> #include <commonlib/endian.h> #include <console/console.h> #include <stdlib.h> @@ -11,7 +12,7 @@ #include "tpm2_marshaling.h" -static uint16_t tpm_tag; /* Depends on the command type. */ +static uint16_t tpm_tag CAR_GLOBAL; /* Depends on the command type. */ /* * Each unmarshaling function receives a pointer to the buffer pointer and a @@ -268,7 +269,7 @@ static void marshal_common_session_header(void **buffer, int i; struct tpm2_session_header session_header; - tpm_tag = TPM_ST_SESSIONS; + car_set_var(tpm_tag, TPM_ST_SESSIONS); for (i = 0; i < handle_count; i++) marshal_TPM_HANDLE(buffer, handles[i], buffer_space); @@ -380,7 +381,7 @@ int tpm_marshal_command(TPM_CC command, void *tpm_command_body, size_t body_size = max_body_size; /* Will be modified when marshaling some commands. */ - tpm_tag = TPM_ST_NO_SESSIONS; + car_set_var(tpm_tag, TPM_ST_NO_SESSIONS); switch (command) { case TPM2_Startup: @@ -437,7 +438,9 @@ int tpm_marshal_command(TPM_CC command, void *tpm_command_body, /* Total size includes the header size. */ marshaled_size += sizeof(struct tpm_header); - marshal_u16(&buffer, tpm_tag, &header_room); + uint16_t tpm_tag_value = car_get_var(tpm_tag); + + marshal_u16(&buffer, tpm_tag_value, &header_room); marshal_u32(&buffer, marshaled_size, &header_room); marshal_u32(&buffer, command, &header_room); return marshaled_size; |