[coreboot-gerrit] New patch to review for coreboot: dc46d6a vboot: Add a new post code for TPM failure

Marc Jones (marc.jones@se-eng.com) gerrit at coreboot.org
Sat Dec 27 00:31:08 CET 2014


Marc Jones (marc.jones at se-eng.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/7936

-gerrit

commit dc46d6aeb0454860323912862f5e32dd2f5cd535
Author: Duncan Laurie <dlaurie at chromium.org>
Date:   Mon May 12 10:22:01 2014 -0700

    vboot: Add a new post code for TPM failure
    
    If the kernel does not properly handle the TPM and send it a
    TPM_SaveState command before suspend then it will not be in
    the correct state on resume.  In order to easily detect this
    case add a new post code for TPM failure and use it in the
    vboot resume path.
    
    BUG=chromium:371105
    TEST=Build and boot on wtm2.
    
    Original-Change-Id: I412520b521387a8e18ad1c6f5a64b39cdd5c88ec
    Original-Signed-off-by: Duncan Laurie <dlaurie at chromium.org>
    Original-Reviewed-on: https://chromium-review.googlesource.com/199371
    Original-Reviewed-by: Aaron Durbin <adurbin at chromium.org>
    (cherry picked from commit ff2f0dc56c1a783295710f81567af02729fe1da2)
    Signed-off-by: Marc Jones <marc.jones at se-eng.com>
    
    Change-Id: I5baf894fd72922acd79d191e5485ae8ef7e0d559
---
 src/include/console/post_codes.h       | 7 +++++++
 src/vendorcode/google/chromeos/vboot.c | 1 +
 2 files changed, 8 insertions(+)

diff --git a/src/include/console/post_codes.h b/src/include/console/post_codes.h
index 0310db3..9f9b788 100644
--- a/src/include/console/post_codes.h
+++ b/src/include/console/post_codes.h
@@ -220,6 +220,13 @@
 #define POST_JUMPING_TO_PAYLOAD			0xf3
 
 /**
+ * \brief TPM failure
+ *
+ * An error with the TPM, either unexepcted state or communications failure.
+ */
+#define POST_TPM_FAILURE			0xed
+
+/**
  * \brief Not supposed to get here
  *
  * A function that should not have returned, returned
diff --git a/src/vendorcode/google/chromeos/vboot.c b/src/vendorcode/google/chromeos/vboot.c
index e42961f..44fe9e3 100644
--- a/src/vendorcode/google/chromeos/vboot.c
+++ b/src/vendorcode/google/chromeos/vboot.c
@@ -233,6 +233,7 @@ static void init_vboot(int bootmode)
 
 #if !MOCK_TPM
 	printk(BIOS_ERR, "TPM: Error code 0x%x. Hard reset!\n", result);
+	post_code(POST_TPM_FAILURE);
 	hard_reset();
 #endif
 }



More information about the coreboot-gerrit mailing list