[edk2-devel] [PATCH] SecurityPkg: Remove enforcement of final GoIdle transition for CRB commands

Rodrigo Gonzalez del Cueto posted 1 patch 5 days, 18 hours ago
Failed in applying to current master (apply log)
SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2Ptp.c | 13 -------------
1 file changed, 13 deletions(-)
[edk2-devel] [PATCH] SecurityPkg: Remove enforcement of final GoIdle transition for CRB commands
Posted by Rodrigo Gonzalez del Cueto 5 days, 18 hours ago
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4077

Following the design described in the TCG specification,
the driver implementation of the CRB protocol does not require
enforcing completing the transition to goIdle at the end of a command
sequence.

Signed-off-by: "Gonzalez Del Cueto, Rodrigo" <rodrigo.gonzalez.del.cueto@intel.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Jian J Wang <jian.j.wang@intel.com>
---
 SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2Ptp.c | 13 -------------
 1 file changed, 13 deletions(-)

diff --git a/SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2Ptp.c b/SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2Ptp.c
index 840265292a..1f9ac5ab5a 100644
--- a/SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2Ptp.c
+++ b/SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2Ptp.c
@@ -381,19 +381,6 @@ GoIdle_Exit:
   //
   MmioWrite32 ((UINTN)&CrbReg->CrbControlRequest, PTP_CRB_CONTROL_AREA_REQUEST_GO_IDLE);
 
-  //
-  // Only enforce Idle state transition if execution fails when CRBIdleBypass==1
-  // Leave regular Idle delay at the beginning of next command execution
-  //
-  if (GetCachedIdleByPass () == 1) {
-    Status = PtpCrbWaitRegisterBits (
-               &CrbReg->CrbControlStatus,
-               PTP_CRB_CONTROL_AREA_STATUS_TPM_IDLE,
-               0,
-               PTP_TIMEOUT_C
-               );
-  }
-
   return Status;
 }
 
-- 
2.25.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#94113): https://edk2.groups.io/g/devel/message/94113
Mute This Topic: https://groups.io/mt/93843955/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
Re: [edk2-devel] [PATCH] SecurityPkg: Remove enforcement of final GoIdle transition for CRB commands
Posted by Yao, Jiewen 5 days ago
Would you please describe:
1) What test you have done? Which TPM chips you have tested?
2) Which specific section/sentence you are following to remove the goIde? I would like to double check spec. 

Thank you
Yao, Jiewen


> -----Original Message-----
> From: Gonzalez Del Cueto, Rodrigo <rodrigo.gonzalez.del.cueto@intel.com>
> Sent: Thursday, September 22, 2022 3:36 PM
> To: devel@edk2.groups.io
> Cc: Gonzalez Del Cueto, Rodrigo <rodrigo.gonzalez.del.cueto@intel.com>;
> Yao, Jiewen <jiewen.yao@intel.com>; Wang, Jian J <jian.j.wang@intel.com>
> Subject: [PATCH] SecurityPkg: Remove enforcement of final GoIdle
> transition for CRB commands
> 
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4077
> 
> Following the design described in the TCG specification,
> the driver implementation of the CRB protocol does not require
> enforcing completing the transition to goIdle at the end of a command
> sequence.
> 
> Signed-off-by: "Gonzalez Del Cueto, Rodrigo"
> <rodrigo.gonzalez.del.cueto@intel.com>
> Cc: Jiewen Yao <jiewen.yao@intel.com>
> Cc: Jian J Wang <jian.j.wang@intel.com>
> ---
>  SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2Ptp.c | 13 -------------
>  1 file changed, 13 deletions(-)
> 
> diff --git a/SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2Ptp.c
> b/SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2Ptp.c
> index 840265292a..1f9ac5ab5a 100644
> --- a/SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2Ptp.c
> +++ b/SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2Ptp.c
> @@ -381,19 +381,6 @@ GoIdle_Exit:
>    //
>    MmioWrite32 ((UINTN)&CrbReg->CrbControlRequest,
> PTP_CRB_CONTROL_AREA_REQUEST_GO_IDLE);
> 
> -  //
> -  // Only enforce Idle state transition if execution fails when
> CRBIdleBypass==1
> -  // Leave regular Idle delay at the beginning of next command execution
> -  //
> -  if (GetCachedIdleByPass () == 1) {
> -    Status = PtpCrbWaitRegisterBits (
> -               &CrbReg->CrbControlStatus,
> -               PTP_CRB_CONTROL_AREA_STATUS_TPM_IDLE,
> -               0,
> -               PTP_TIMEOUT_C
> -               );
> -  }
> -
>    return Status;
>  }
> 
> --
> 2.25.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#94159): https://edk2.groups.io/g/devel/message/94159
Mute This Topic: https://groups.io/mt/93843955/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-