Reviewed-by: Qin Long <[email protected]>

Best Regards & Thanks,
LONG, Qin

> -----Original Message-----
> From: Zhang, Chao B
> Sent: Sunday, June 12, 2016 10:26 AM
> To: [email protected]
> Cc: Yao, Jiewen; Long, Qin; Zhang, Chao B
> Subject: [PATCH] SecurityPkg: Tcg2Smm: Enhance TIS interface detection
> 
> TCG PC Client PTP spec defines that if InterfaceType is defined as TIS1.3. All
> the other fields of the FIFO Interface Identifier Register are skipped.
> http://www.trustedcomputinggroup.org/pc-client-specific-platform-tpm-
> profile-for-tpm-2-0-v43-150126/
> 
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Chao Zhang <[email protected]>
> ---
>  SecurityPkg/Tcg/Tcg2Smm/Tcg2Smm.c | 12 +++++++++++-
>  1 file changed, 11 insertions(+), 1 deletion(-)
> 
> diff --git a/SecurityPkg/Tcg/Tcg2Smm/Tcg2Smm.c
> b/SecurityPkg/Tcg/Tcg2Smm/Tcg2Smm.c
> index b497475..1c2d8ba 100644
> --- a/SecurityPkg/Tcg/Tcg2Smm/Tcg2Smm.c
> +++ b/SecurityPkg/Tcg/Tcg2Smm/Tcg2Smm.c
> @@ -50,18 +50,27 @@ GetPtpInterface (
>    InterfaceId.Uint32 = MmioRead32 ((UINTN)&((PTP_CRB_REGISTERS
> *)Register)->InterfaceId);
>    InterfaceCapability.Uint32 = MmioRead32
> ((UINTN)&((PTP_FIFO_REGISTERS *)Register)->InterfaceCapability);
> 
> +  if (InterfaceId.Bits.InterfaceType ==
> PTP_INTERFACE_IDENTIFIER_INTERFACE_TYPE_TIS) {
> +    return PtpInterfaceTis;
> +  }
> +
>    if ((InterfaceId.Bits.InterfaceType ==
> PTP_INTERFACE_IDENTIFIER_INTERFACE_TYPE_CRB) &&
>        (InterfaceId.Bits.InterfaceVersion ==
> PTP_INTERFACE_IDENTIFIER_INTERFACE_VERSION_CRB) &&
>        (InterfaceId.Bits.CapCRB != 0)) {
>      return PtpInterfaceCrb;
>    }
> +
>    if ((InterfaceId.Bits.InterfaceType ==
> PTP_INTERFACE_IDENTIFIER_INTERFACE_TYPE_FIFO) &&
>        (InterfaceId.Bits.InterfaceVersion ==
> PTP_INTERFACE_IDENTIFIER_INTERFACE_VERSION_FIFO) &&
>        (InterfaceId.Bits.CapFIFO != 0) &&
>        (InterfaceCapability.Bits.InterfaceVersion ==
> INTERFACE_CAPABILITY_INTERFACE_VERSION_PTP)) {
>      return PtpInterfaceFifo;
>    }
> -  return PtpInterfaceTis;
> +
> +  //
> +  // No Ptp interface available
> +  //
> +  return PtpInterfaceMax;
>  }
> 
>  EFI_TPM2_ACPI_TABLE  mTpm2AcpiTemplate = { @@ -400,6 +409,7 @@
> PublishTpm2 (
>    case PtpInterfaceTis:
>      break;
>    default:
> +    DEBUG((EFI_D_ERROR, "TPM2 InterfaceType get error! %d\n",
> + InterfaceType));
>      break;
>    }
> 
> --
> 1.9.5.msysgit.1

_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to