On Thu, Jan 07, 2016 at 07:55:40AM -0500, Stefan Berger wrote:
From: Stefan Berger stefanb@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@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();
If the call to tpm_is_working() is removed from tpm_prepboot(), then a check for CONFIG_TCGBIOS still needs to be present (or the build may not weed out the code on !CONFIG_TCGBIOS).
-Kevin