summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorczhang46 <czhang46@6f19259b-4bc3-4df7-8a09-765794883524>2012-08-27 00:52:18 +0000
committerczhang46 <czhang46@6f19259b-4bc3-4df7-8a09-765794883524>2012-08-27 00:52:18 +0000
commit333a53ee5bba34a2703cba665f70ebd3da124eac (patch)
treee633dd583ab0b2bb1b2af9071c49bcad4937f0d2
parent9063c328dff827ef9deb1ce0dde75112c496e072 (diff)
Use firmware version instead of hardcode string for S-CRTM version identifier
Signed-off-by: Chao Zhang <chao.b.zhang@intel.com> Reviewed-by : Fu, Siyuan <siyuan.fu@intel.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13677 6f19259b-4bc3-4df7-8a09-765794883524
-rw-r--r--SecurityPkg/Tcg/TcgPei/TcgPei.c12
-rw-r--r--SecurityPkg/Tcg/TcgPei/TcgPei.inf3
2 files changed, 9 insertions, 6 deletions
diff --git a/SecurityPkg/Tcg/TcgPei/TcgPei.c b/SecurityPkg/Tcg/TcgPei/TcgPei.c
index 4732a2a17..08d8293cc 100644
--- a/SecurityPkg/Tcg/TcgPei/TcgPei.c
+++ b/SecurityPkg/Tcg/TcgPei/TcgPei.c
@@ -29,6 +29,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#include <Library/HobLib.h>
#include <Library/PcdLib.h>
#include <Library/PeiServicesTablePointerLib.h>
+#include <Library/BaseLib.h>
#include "TpmComm.h"
@@ -90,8 +91,6 @@ EFI_PEI_NOTIFY_DESCRIPTOR mNotifyList[] = {
}
};
-CHAR8 mSCrtmVersion[] = "{D20BC7C6-A1A5-415c-AE85-38290AB6BE04}";
-
EFI_PLATFORM_FIRMWARE_BLOB mMeasuredFvInfo[FixedPcdGet32 (PcdPeiCoreMaxFvSupported)];
UINT32 mMeasuredFvIndex = 0;
@@ -180,20 +179,21 @@ MeasureCRTMVersion (
TCG_PCR_EVENT_HDR TcgEventHdr;
//
- // Here, only a static GUID is measured instead of real CRTM version.
+ // Use FirmwareVersion string to represent CRTM version.
// OEMs should get real CRTM version string and measure it.
//
TcgEventHdr.PCRIndex = 0;
TcgEventHdr.EventType = EV_S_CRTM_VERSION;
- TcgEventHdr.EventSize = sizeof (mSCrtmVersion);
+ TcgEventHdr.EventSize = StrSize((CHAR16*)PcdGetPtr (PcdFirmwareVersionString));
+
return HashLogExtendEvent (
PeiServices,
- (UINT8*)&mSCrtmVersion,
+ (UINT8*)PcdGetPtr (PcdFirmwareVersionString),
TcgEventHdr.EventSize,
TpmHandle,
&TcgEventHdr,
- (UINT8*)&mSCrtmVersion
+ (UINT8*)PcdGetPtr (PcdFirmwareVersionString)
);
}
diff --git a/SecurityPkg/Tcg/TcgPei/TcgPei.inf b/SecurityPkg/Tcg/TcgPei/TcgPei.inf
index 5d7da7f5e..1c4db06ce 100644
--- a/SecurityPkg/Tcg/TcgPei/TcgPei.inf
+++ b/SecurityPkg/Tcg/TcgPei/TcgPei.inf
@@ -46,6 +46,8 @@
TimerLib
IoLib
PeiServicesTablePointerLib
+ BaseLib
+ PcdLib
[Guids]
gTcgEventEntryHobGuid
@@ -64,6 +66,7 @@
[FixedPcd]
gEfiSecurityPkgTokenSpaceGuid.PcdHideTpmSupport
gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreMaxFvSupported ## CONSUMES
+ gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVersionString ## CONSUMES
[Depex]
gEfiPeiMasterBootModePpiGuid AND