From 6f785cfcc304c48ec04e542ee429df95e7b51bc5 Mon Sep 17 00:00:00 2001 From: "Yao, Jiewen" Date: Mon, 12 Jan 2015 03:21:00 +0000 Subject: Handle TPM device error and avoid deadloop in BDS. If TPM error happens, set TPM flag to NOT present, so that trusted boot patch is disabled. Also report status code for failure, so that platform may register handler to apply policy like force system reset, or disable TPM permanently. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: "Yao, Jiewen" Reviewed-by: "Dong, Guo" git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16598 6f19259b-4bc3-4df7-8a09-765794883524 --- SecurityPkg/SecurityPkg.dec | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'SecurityPkg/SecurityPkg.dec') diff --git a/SecurityPkg/SecurityPkg.dec b/SecurityPkg/SecurityPkg.dec index 7bbc1e6..c3e894f 100644 --- a/SecurityPkg/SecurityPkg.dec +++ b/SecurityPkg/SecurityPkg.dec @@ -112,6 +112,10 @@ # Include/Guid/TcgEventHob.h gTcgEventEntryHobGuid = { 0x2b9ffb52, 0x1b13, 0x416f, { 0xa8, 0x7b, 0xbc, 0x93, 0xd, 0xef, 0x92, 0xa8 }} + ## HOB GUID used to record TPM device error. + # Include/Guid/TcgEventHob.h + gTpmErrorHobGuid = { 0xef598499, 0xb25e, 0x473a, { 0xbf, 0xaf, 0xe7, 0xe5, 0x7d, 0xce, 0x82, 0xc4 }} + ## HOB GUID used to pass all PEI measured FV info to DXE Driver. # Include/Guid/MeasuredFvHob.h gMeasuredFvHobGuid = { 0xb2360b42, 0x7173, 0x420a, { 0x86, 0x96, 0x46, 0xca, 0x6b, 0xab, 0x10, 0x60 }} @@ -253,6 +257,12 @@ # @Prompt Select platform type. # @ValidRange 0x80000001 | 0x00 - 0x1 gEfiSecurityPkgTokenSpaceGuid.PcdTpmPlatformClass|0|UINT8|0x00000006 + + ## Progress Code for TPM device subclass definitions.

+ # EFI_PERIPHERAL_TPM = (EFI_PERIPHERAL | 0x000D0000) = 0x010D0000
+ # @Prompt Status Code for TPM device definitions + # @ValidList 0x80000003 | 0x010D0000 + gEfiSecurityPkgTokenSpaceGuid.PcdStatusCodeSubClassTpmDevice|0x010D0000|UINT32|0x00000007 [PcdsFixedAtBuild, PcdsPatchableInModule, PcdsDynamic, PcdsDynamicEx] ## Indicates the presence or absence of the platform operator during firmware booting. -- cgit v1.1