[SeaBIOS] [PATCH v2 5/6] Remove usage of PP_CMD_ENABLE from all but one place

Stefan Berger stefanb at us.ibm.com
Thu Jan 7 13:55:40 CET 2016


From: Stefan Berger <stefanb at linux.vnet.ibm.com>

Remove the usage of PhysicalPresence_CMD_ENABLE from all but
the assert_physical_presence function.

Signed-off-by: Stefan Berger <stefanb at linux.vnet.ibm.com>
---
 src/tcgbios.c | 36 +++++++++---------------------------
 1 file changed, 9 insertions(+), 27 deletions(-)

diff --git a/src/tcgbios.c b/src/tcgbios.c
index d14468e..ccf5486 100644
--- a/src/tcgbios.c
+++ b/src/tcgbios.c
@@ -38,7 +38,6 @@ static const u8 CommandFlag_TRUE[1]  = { 0x01 };
 
 typedef u8 tpm_ppi_code;
 
-
 /****************************************************************
  * ACPI TCPA table interface
  ****************************************************************/
@@ -213,16 +212,10 @@ tpm_set_failure(void)
 {
     dprintf(DEBUG_tcg, "TCGBIOS: TPM malfunctioning.\n");
 
-    /* we will try to deactivate the TPM now - ignoring all errors */
-    tpm_send_cmd(0, TPM_ORD_PhysicalPresence,
-                 PhysicalPresence_CMD_ENABLE,
-                 sizeof(PhysicalPresence_CMD_ENABLE),
-                 TPM_DURATION_TYPE_SHORT);
-
-    tpm_send_cmd(0, TPM_ORD_PhysicalPresence,
-                 PhysicalPresence_PRESENT,
-                 sizeof(PhysicalPresence_PRESENT),
-                 TPM_DURATION_TYPE_SHORT);
+    /*
+     * We will try to deactivate the TPM now - ignoring all errors
+     * Physical presence is asserted.
+     */
 
     tpm_send_cmd(0, TPM_ORD_SetTempDeactivated,
                  NULL, 0, TPM_DURATION_TYPE_SHORT);
@@ -545,22 +538,11 @@ tpm_setup(void)
 void
 tpm_prepboot(void)
 {
-    if (!tpm_is_working())
-        return;
-
-    int ret = tpm_send_check_cmd(0, TPM_ORD_PhysicalPresence,
-                                 PhysicalPresence_CMD_ENABLE,
-                                 sizeof(PhysicalPresence_CMD_ENABLE),
-                                 TPM_DURATION_TYPE_SHORT);
-    if (ret)
-        return;
-
-    ret = tpm_send_check_cmd(0, TPM_ORD_PhysicalPresence,
-                             PhysicalPresence_NOT_PRESENT_LOCK,
-                             sizeof(PhysicalPresence_NOT_PRESENT_LOCK),
-                             TPM_DURATION_TYPE_SHORT);
-    if (ret)
-        return;
+    if (TPM_has_physical_presence)
+        tpm_send_cmd(0, TPM_ORD_PhysicalPresence,
+                     PhysicalPresence_NOT_PRESENT_LOCK,
+                     sizeof(PhysicalPresence_NOT_PRESENT_LOCK),
+                     TPM_DURATION_TYPE_SHORT);
 
     tpm_add_action(4, "Calling INT 19h");
     tpm_add_event_separators();
-- 
2.4.3




More information about the SeaBIOS mailing list