diff options
author | Furquan Shaikh <furquan@chromium.org> | 2016-11-10 09:49:05 -0800 |
---|---|---|
committer | Martin Roth <martinroth@google.com> | 2016-11-11 22:15:57 +0100 |
commit | 8b5d04e1abd1d7c3b9447385b043b0d902d22a54 (patch) | |
tree | e59984f678eeefd2632667988a19bcd73478ddc9 /src/drivers | |
parent | ffae746c373e6e213636daaf704e619926798841 (diff) | |
download | coreboot-8b5d04e1abd1d7c3b9447385b043b0d902d22a54.tar.xz |
lib/tlcl: Ensure tlcl library is initialized only once
Since tlcl library is used other than just vboot driver, ensure that the
library is initialized only once per stage.
BUG=chrome-os-partner:59355
BRANCH=None
TEST=Verified in recovery mode on reef, tlcl library is initialized only
once in romstage.
Change-Id: I6245fe9ed34f5c174341b7eea8db456b45113287
Signed-off-by: Furquan Shaikh <furquan@chromium.org>
Reviewed-on: https://review.coreboot.org/17364
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Tested-by: build bot (Jenkins)
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Diffstat (limited to 'src/drivers')
-rw-r--r-- | src/drivers/intel/fsp2_0/memory_init.c | 21 |
1 files changed, 2 insertions, 19 deletions
diff --git a/src/drivers/intel/fsp2_0/memory_init.c b/src/drivers/intel/fsp2_0/memory_init.c index 30da906819..b83356163e 100644 --- a/src/drivers/intel/fsp2_0/memory_init.c +++ b/src/drivers/intel/fsp2_0/memory_init.c @@ -12,7 +12,6 @@ */ #include <antirollback.h> -#include <arch/early_variables.h> #include <arch/io.h> #include <arch/cpu.h> #include <arch/symbols.h> @@ -34,22 +33,6 @@ #include <vboot/vboot_common.h> #include <vb2_api.h> -static uint8_t tpm_init_done CAR_GLOBAL; - -static int mrc_cache_tpm_init(void) -{ - uint8_t done = car_get_var(tpm_init_done); - - if (done) - return 0; - - if (tlcl_lib_init() != VB2_SUCCESS) - return -1; - - car_set_var(tpm_init_done, 1); - return 0; -} - static void mrc_cache_update_tpm_hash(const uint8_t *data, size_t size) { uint8_t data_hash[VB2_SHA256_DIGEST_SIZE]; @@ -74,7 +57,7 @@ static void mrc_cache_update_tpm_hash(const uint8_t *data, size_t size) return; /* Initialize TPM driver. */ - if (mrc_cache_tpm_init()) { + if (tlcl_lib_init() != VB2_SUCCESS) { printk(BIOS_ERR, "MRC: TPM driver initialization failed.\n"); return; } @@ -206,7 +189,7 @@ static int mrc_cache_verify_tpm_hash(const uint8_t *data, size_t size) } /* Initialize TPM driver. */ - if (mrc_cache_tpm_init()) { + if (tlcl_lib_init() != VB2_SUCCESS) { printk(BIOS_ERR, "MRC: TPM driver initialization failed.\n"); return 0; } |