* [PATCH V2 1/2] SecurityPkg: Tcg2Dxe: Log Startup Locality Event
@ 2017-01-24 1:54 Zhang, Chao B
2017-01-24 1:54 ` [PATCH V2 2/2] MdePkg : UefiTcgPlatform.h: Define Startup Locality Event & Indicator Zhang, Chao B
2017-01-24 2:13 ` [PATCH V2 1/2] SecurityPkg: Tcg2Dxe: Log Startup Locality Event Yao, Jiewen
0 siblings, 2 replies; 4+ messages in thread
From: Zhang, Chao B @ 2017-01-24 1:54 UTC (permalink / raw)
To: edk2-devel; +Cc: jiewen.yao, star.zeng, Chao Zhang
Log Startup Locality Event according to TCG PC Client PFP 00.21.
Event should be placed before any extend to PCR[0]
http://www.trustedcomputinggroup.org/wp-content/uploads/PC-ClientSpecific_Platform_Profile_for_TPM_2p0_Systems_v21.pdf
Cc: Star Zeng <star.zeng@intel.com>
Cc: Yao Jiewen <jiewen.yao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chao Zhang <chao.b.zhang@intel.com>
---
SecurityPkg/Include/Guid/TcgEventHob.h | 12 +++++++-
SecurityPkg/SecurityPkg.dec | 4 +++
SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.c | 54 ++++++++++++++++++++++++++--------
SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf | 3 +-
4 files changed, 59 insertions(+), 14 deletions(-)
diff --git a/SecurityPkg/Include/Guid/TcgEventHob.h b/SecurityPkg/Include/Guid/TcgEventHob.h
index 1082807..8be5cd0 100644
--- a/SecurityPkg/Include/Guid/TcgEventHob.h
+++ b/SecurityPkg/Include/Guid/TcgEventHob.h
@@ -3,7 +3,7 @@
a TPM DXE Driver. A GUIDed HOB is generated for each measurement
made in the PEI Phase.
-Copyright (c) 2007 - 2015, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2007 - 2017, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -44,4 +44,14 @@ extern EFI_GUID gTcgEvent2EntryHobGuid;
extern EFI_GUID gTpmErrorHobGuid;
+///
+/// The Global ID of a GUIDed HOB used to record TPM2 Startup Locality.
+///
+#define EFI_TPM2_STARTUP_LOCALITY_HOB_GUID \
+ { \
+ 0xef598499, 0xb25e, 0x473a, { 0xbf, 0xaf, 0xe7, 0xe5, 0x7d, 0xce, 0x82, 0xc4 } \
+ }
+
+extern EFI_GUID gTpm2StartupLocalityHobGuid;
+
#endif
diff --git a/SecurityPkg/SecurityPkg.dec b/SecurityPkg/SecurityPkg.dec
index 0c64d25..b556fb6 100644
--- a/SecurityPkg/SecurityPkg.dec
+++ b/SecurityPkg/SecurityPkg.dec
@@ -134,6 +134,10 @@
# Include/Guid/TcgEventHob.h
gTpmErrorHobGuid = { 0xef598499, 0xb25e, 0x473a, { 0xbf, 0xaf, 0xe7, 0xe5, 0x7d, 0xce, 0x82, 0xc4 }}
+ ## HOB GUID used to record TPM2 startup locality
+ ## Include/Guid/TcgEventHob.h
+ gTpm2StartupLocalityHobGuid = { 0x397b0c9, 0x22e8, 0x459e, { 0xa4, 0xff, 0x99, 0xbc, 0x65, 0x27, 0x9, 0x29 }}
+
## 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 }}
diff --git a/SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.c b/SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.c
index 3534fd1..99e2c48 100644
--- a/SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.c
+++ b/SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.c
@@ -1381,11 +1381,12 @@ SetupEventLog (
UINT32 HashAlgorithmMaskCopied;
TCG_EfiSpecIDEventStruct *TcgEfiSpecIdEventStruct;
UINT8 TempBuf[sizeof(TCG_EfiSpecIDEventStruct) + sizeof(UINT32) + (HASH_COUNT * sizeof(TCG_EfiSpecIdEventAlgorithmSize)) + sizeof(UINT8)];
- TCG_PCR_EVENT_HDR FirstPcrEvent;
+ TCG_PCR_EVENT_HDR NoActionEvent;
TCG_EfiSpecIdEventAlgorithmSize *DigestSize;
TCG_EfiSpecIdEventAlgorithmSize *TempDigestSize;
UINT8 *VendorInfoSize;
UINT32 NumberOfAlgorithms;
+ TCG_EfiStartupLocalityEvent StartupLocalityEvent;
DEBUG ((EFI_D_INFO, "SetupEventLog\n"));
@@ -1468,24 +1469,53 @@ SetupEventLog (
VendorInfoSize = (UINT8 *)TempDigestSize;
*VendorInfoSize = 0;
- //
- // FirstPcrEvent
- //
- FirstPcrEvent.PCRIndex = 0;
- FirstPcrEvent.EventType = EV_NO_ACTION;
- ZeroMem (&FirstPcrEvent.Digest, sizeof(FirstPcrEvent.Digest));
- FirstPcrEvent.EventSize = (UINT32)GetTcgEfiSpecIdEventStructSize (TcgEfiSpecIdEventStruct);
+ NoActionEvent.PCRIndex = 0;
+ NoActionEvent.EventType = EV_NO_ACTION;
+ ZeroMem (&NoActionEvent.Digest, sizeof(NoActionEvent.Digest));
+ NoActionEvent.EventSize = (UINT32)GetTcgEfiSpecIdEventStructSize (TcgEfiSpecIdEventStruct);
//
- // Record
+ // Log TcgEfiSpecIdEventStruct as the first Event
+ // TCG PC Client PFP spec. Section 9.2 Measurement Event Entries and Log
//
Status = TcgDxeLogEvent (
mTcg2EventInfo[Index].LogFormat,
- &FirstPcrEvent,
- sizeof(FirstPcrEvent),
+ &NoActionEvent,
+ sizeof(NoActionEvent),
(UINT8 *)TcgEfiSpecIdEventStruct,
- FirstPcrEvent.EventSize
+ NoActionEvent.EventSize
);
+
+ //
+ // EfiStartupLocalityEvent
+ //
+ GuidHob.Guid = GetFirstGuidHob (&gTpm2StartupLocalityHobGuid);
+ if (GuidHob.Guid != NULL) {
+ //
+ // Get Locality Indicator from StartupLocality HOB
+ //
+ StartupLocalityEvent.StartupLocality = *(UINT8 *)(GET_GUID_HOB_DATA (GuidHob.Guid));
+ CopyMem (StartupLocalityEvent.Signature, TCG_EfiStartupLocalityEvent_SIGNATURE, sizeof(StartupLocalityEvent.Signature));
+
+ NoActionEvent.PCRIndex = 0;
+ NoActionEvent.EventType = EV_NO_ACTION;
+ ZeroMem (&NoActionEvent.Digest, sizeof(NoActionEvent.Digest));
+ NoActionEvent.EventSize = sizeof(StartupLocalityEvent);
+
+ DEBUG ((EFI_D_INFO, "SetupEventLog: Set Locality from HOB into StartupLocalityEvent 0x%02x\n", StartupLocalityEvent.StartupLocality));
+
+ //
+ // Log EfiStartupLocalityEvent as the second Event
+ // TCG PC Client PFP spec. Section 9.3.4.3 Startup Locality Event
+ //
+ Status = TcgDxeLogEvent (
+ mTcg2EventInfo[Index].LogFormat,
+ &NoActionEvent,
+ sizeof(NoActionEvent),
+ (UINT8 *)&StartupLocalityEvent,
+ NoActionEvent.EventSize
+ );
+ }
}
}
}
diff --git a/SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf b/SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf
index 6b4c15f..8efc4e3 100644
--- a/SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf
+++ b/SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf
@@ -7,7 +7,7 @@
# This external input must be validated carefully to avoid security issue like
# buffer overflow, integer overflow.
#
-# Copyright (c) 2015 - 2016, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2015 - 2017, Intel Corporation. All rights reserved.<BR>
# This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
# which accompanies this distribution. The full text of the license may be found at
@@ -80,6 +80,7 @@
gEfiTpmDeviceInstanceTpm12Guid ## SOMETIMES_CONSUMES ## GUID # TPM device identifier
gTcgEvent2EntryHobGuid ## SOMETIMES_CONSUMES ## HOB
+ gTpm2StartupLocalityHobGuid ## SOMETIMES_CONSUMES ## HOB
[Protocols]
gEfiTcg2ProtocolGuid ## PRODUCES
--
1.9.5.msysgit.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH V2 2/2] MdePkg : UefiTcgPlatform.h: Define Startup Locality Event & Indicator
2017-01-24 1:54 [PATCH V2 1/2] SecurityPkg: Tcg2Dxe: Log Startup Locality Event Zhang, Chao B
@ 2017-01-24 1:54 ` Zhang, Chao B
2017-01-24 2:13 ` Yao, Jiewen
2017-01-24 2:13 ` [PATCH V2 1/2] SecurityPkg: Tcg2Dxe: Log Startup Locality Event Yao, Jiewen
1 sibling, 1 reply; 4+ messages in thread
From: Zhang, Chao B @ 2017-01-24 1:54 UTC (permalink / raw)
To: edk2-devel; +Cc: jiewen.yao, star.zeng, Chao Zhang
Add Startup Locality Event definition according to PC Client PFP 00.21
http://www.trustedcomputinggroup.org/wp-content/uploads/PC-ClientSpecific_Platform_Profile_for_TPM_2p0_Systems_v21.pdf
Add Locality Indicator definition according to PC Client PTP 00.43
https://www.trustedcomputinggroup.org/wp-content/uploads/PC-Client-Specific-Platform-TPM-Profile-for-TPM-2-0-v43-150126.pdf
Cc: Star Zeng <star.zeng@intel.com>
Cc: Yao Jiewen <jiewen.yao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chao Zhang <chao.b.zhang@intel.com>
---
MdePkg/Include/IndustryStandard/UefiTcgPlatform.h | 29 ++++++++++++++++++++++-
1 file changed, 28 insertions(+), 1 deletion(-)
diff --git a/MdePkg/Include/IndustryStandard/UefiTcgPlatform.h b/MdePkg/Include/IndustryStandard/UefiTcgPlatform.h
index 23eaa53..6ce808e 100644
--- a/MdePkg/Include/IndustryStandard/UefiTcgPlatform.h
+++ b/MdePkg/Include/IndustryStandard/UefiTcgPlatform.h
@@ -1,7 +1,7 @@
/** @file
TCG EFI Platform Definition in TCG_EFI_Platform_1_20_Final
- Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>
+ Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -268,6 +268,33 @@ typedef struct {
//UINT8 vendorInfo[vendorInfoSize];
} TCG_EfiSpecIDEventStruct;
+
+
+#define TCG_EfiStartupLocalityEvent_SIGNATURE "StartupLocality"
+
+
+//
+// PC Client PTP spec Table 8 Relationship between Locality and Locality Attribute
+//
+#define LOCALITY_0_INDICATOR 0x01
+#define LOCALITY_1_INDICATOR 0x02
+#define LOCALITY_2_INDICATOR 0x03
+#define LOCALITY_3_INDICATOR 0x04
+#define LOCALITY_4_INDICATOR 0x05
+
+
+//
+// Startup Locality Event
+//
+typedef struct tdTCG_EfiStartupLocalityEvent{
+ UINT8 Signature[16];
+ //
+ // The Locality Indicator which sent the TPM2_Startup command
+ //
+ UINT8 StartupLocality;
+} TCG_EfiStartupLocalityEvent;
+
+
//
// Restore original structure alignment
//
--
1.9.5.msysgit.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH V2 2/2] MdePkg : UefiTcgPlatform.h: Define Startup Locality Event & Indicator
2017-01-24 1:54 ` [PATCH V2 2/2] MdePkg : UefiTcgPlatform.h: Define Startup Locality Event & Indicator Zhang, Chao B
@ 2017-01-24 2:13 ` Yao, Jiewen
0 siblings, 0 replies; 4+ messages in thread
From: Yao, Jiewen @ 2017-01-24 2:13 UTC (permalink / raw)
To: Zhang, Chao B, edk2-devel@lists.01.org; +Cc: Zeng, Star
Reviewed-by: jiewen.yao@intel.com
> -----Original Message-----
> From: Zhang, Chao B
> Sent: Tuesday, January 24, 2017 9:54 AM
> To: edk2-devel@lists.01.org
> Cc: Yao, Jiewen <jiewen.yao@intel.com>; Zeng, Star <star.zeng@intel.com>;
> Zhang, Chao B <chao.b.zhang@intel.com>
> Subject: [PATCH V2 2/2] MdePkg : UefiTcgPlatform.h: Define Startup Locality
> Event & Indicator
>
> Add Startup Locality Event definition according to PC Client PFP 00.21
> http://www.trustedcomputinggroup.org/wp-content/uploads/PC-ClientSpecific
> _Platform_Profile_for_TPM_2p0_Systems_v21.pdf
> Add Locality Indicator definition according to PC Client PTP 00.43
> https://www.trustedcomputinggroup.org/wp-content/uploads/PC-Client-Specifi
> c-Platform-TPM-Profile-for-TPM-2-0-v43-150126.pdf
>
> Cc: Star Zeng <star.zeng@intel.com>
> Cc: Yao Jiewen <jiewen.yao@intel.com>
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Chao Zhang <chao.b.zhang@intel.com>
> ---
> MdePkg/Include/IndustryStandard/UefiTcgPlatform.h | 29
> ++++++++++++++++++++++-
> 1 file changed, 28 insertions(+), 1 deletion(-)
>
> diff --git a/MdePkg/Include/IndustryStandard/UefiTcgPlatform.h
> b/MdePkg/Include/IndustryStandard/UefiTcgPlatform.h
> index 23eaa53..6ce808e 100644
> --- a/MdePkg/Include/IndustryStandard/UefiTcgPlatform.h
> +++ b/MdePkg/Include/IndustryStandard/UefiTcgPlatform.h
> @@ -1,7 +1,7 @@
> /** @file
> TCG EFI Platform Definition in TCG_EFI_Platform_1_20_Final
>
> - Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>
> + Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
> This program and the accompanying materials
> are licensed and made available under the terms and conditions of the BSD
> License
> which accompanies this distribution. The full text of the license may be
> found at
> @@ -268,6 +268,33 @@ typedef struct {
> //UINT8 vendorInfo[vendorInfoSize];
> } TCG_EfiSpecIDEventStruct;
>
> +
> +
> +#define TCG_EfiStartupLocalityEvent_SIGNATURE "StartupLocality"
> +
> +
> +//
> +// PC Client PTP spec Table 8 Relationship between Locality and Locality
> Attribute
> +//
> +#define LOCALITY_0_INDICATOR 0x01
> +#define LOCALITY_1_INDICATOR 0x02
> +#define LOCALITY_2_INDICATOR 0x03
> +#define LOCALITY_3_INDICATOR 0x04
> +#define LOCALITY_4_INDICATOR 0x05
> +
> +
> +//
> +// Startup Locality Event
> +//
> +typedef struct tdTCG_EfiStartupLocalityEvent{
> + UINT8 Signature[16];
> + //
> + // The Locality Indicator which sent the TPM2_Startup command
> + //
> + UINT8 StartupLocality;
> +} TCG_EfiStartupLocalityEvent;
> +
> +
> //
> // Restore original structure alignment
> //
> --
> 1.9.5.msysgit.1
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH V2 1/2] SecurityPkg: Tcg2Dxe: Log Startup Locality Event
2017-01-24 1:54 [PATCH V2 1/2] SecurityPkg: Tcg2Dxe: Log Startup Locality Event Zhang, Chao B
2017-01-24 1:54 ` [PATCH V2 2/2] MdePkg : UefiTcgPlatform.h: Define Startup Locality Event & Indicator Zhang, Chao B
@ 2017-01-24 2:13 ` Yao, Jiewen
1 sibling, 0 replies; 4+ messages in thread
From: Yao, Jiewen @ 2017-01-24 2:13 UTC (permalink / raw)
To: Zhang, Chao B, edk2-devel@lists.01.org; +Cc: Zeng, Star
Reviewed-by: jiewen.yao@intel.com
> -----Original Message-----
> From: Zhang, Chao B
> Sent: Tuesday, January 24, 2017 9:54 AM
> To: edk2-devel@lists.01.org
> Cc: Yao, Jiewen <jiewen.yao@intel.com>; Zeng, Star <star.zeng@intel.com>;
> Zhang, Chao B <chao.b.zhang@intel.com>
> Subject: [PATCH V2 1/2] SecurityPkg: Tcg2Dxe: Log Startup Locality Event
>
> Log Startup Locality Event according to TCG PC Client PFP 00.21.
> Event should be placed before any extend to PCR[0]
> http://www.trustedcomputinggroup.org/wp-content/uploads/PC-ClientSpecific
> _Platform_Profile_for_TPM_2p0_Systems_v21.pdf
>
> Cc: Star Zeng <star.zeng@intel.com>
> Cc: Yao Jiewen <jiewen.yao@intel.com>
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Chao Zhang <chao.b.zhang@intel.com>
> ---
> SecurityPkg/Include/Guid/TcgEventHob.h | 12 +++++++-
> SecurityPkg/SecurityPkg.dec | 4 +++
> SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.c | 54
> ++++++++++++++++++++++++++--------
> SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf | 3 +-
> 4 files changed, 59 insertions(+), 14 deletions(-)
>
> diff --git a/SecurityPkg/Include/Guid/TcgEventHob.h
> b/SecurityPkg/Include/Guid/TcgEventHob.h
> index 1082807..8be5cd0 100644
> --- a/SecurityPkg/Include/Guid/TcgEventHob.h
> +++ b/SecurityPkg/Include/Guid/TcgEventHob.h
> @@ -3,7 +3,7 @@
> a TPM DXE Driver. A GUIDed HOB is generated for each measurement
> made in the PEI Phase.
>
> -Copyright (c) 2007 - 2015, Intel Corporation. All rights reserved.<BR>
> +Copyright (c) 2007 - 2017, Intel Corporation. All rights reserved.<BR>
> This program and the accompanying materials
> are licensed and made available under the terms and conditions of the BSD
> License
> which accompanies this distribution. The full text of the license may be found
> at
> @@ -44,4 +44,14 @@ extern EFI_GUID gTcgEvent2EntryHobGuid;
>
> extern EFI_GUID gTpmErrorHobGuid;
>
> +///
> +/// The Global ID of a GUIDed HOB used to record TPM2 Startup Locality.
> +///
> +#define EFI_TPM2_STARTUP_LOCALITY_HOB_GUID \
> + { \
> + 0xef598499, 0xb25e, 0x473a, { 0xbf, 0xaf, 0xe7, 0xe5, 0x7d, 0xce, 0x82, 0xc4 }
> \
> + }
> +
> +extern EFI_GUID gTpm2StartupLocalityHobGuid;
> +
> #endif
> diff --git a/SecurityPkg/SecurityPkg.dec b/SecurityPkg/SecurityPkg.dec
> index 0c64d25..b556fb6 100644
> --- a/SecurityPkg/SecurityPkg.dec
> +++ b/SecurityPkg/SecurityPkg.dec
> @@ -134,6 +134,10 @@
> # Include/Guid/TcgEventHob.h
> gTpmErrorHobGuid = { 0xef598499, 0xb25e, 0x473a,
> { 0xbf, 0xaf, 0xe7, 0xe5, 0x7d, 0xce, 0x82, 0xc4 }}
>
> + ## HOB GUID used to record TPM2 startup locality
> + ## Include/Guid/TcgEventHob.h
> + gTpm2StartupLocalityHobGuid = { 0x397b0c9, 0x22e8, 0x459e, { 0xa4,
> 0xff, 0x99, 0xbc, 0x65, 0x27, 0x9, 0x29 }}
> +
> ## 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 }}
> diff --git a/SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.c
> b/SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.c
> index 3534fd1..99e2c48 100644
> --- a/SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.c
> +++ b/SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.c
> @@ -1381,11 +1381,12 @@ SetupEventLog (
> UINT32 HashAlgorithmMaskCopied;
> TCG_EfiSpecIDEventStruct *TcgEfiSpecIdEventStruct;
> UINT8
> TempBuf[sizeof(TCG_EfiSpecIDEventStruct) + sizeof(UINT32) + (HASH_COUNT *
> sizeof(TCG_EfiSpecIdEventAlgorithmSize)) + sizeof(UINT8)];
> - TCG_PCR_EVENT_HDR FirstPcrEvent;
> + TCG_PCR_EVENT_HDR NoActionEvent;
> TCG_EfiSpecIdEventAlgorithmSize *DigestSize;
> TCG_EfiSpecIdEventAlgorithmSize *TempDigestSize;
> UINT8 *VendorInfoSize;
> UINT32 NumberOfAlgorithms;
> + TCG_EfiStartupLocalityEvent StartupLocalityEvent;
>
> DEBUG ((EFI_D_INFO, "SetupEventLog\n"));
>
> @@ -1468,24 +1469,53 @@ SetupEventLog (
> VendorInfoSize = (UINT8 *)TempDigestSize;
> *VendorInfoSize = 0;
>
> - //
> - // FirstPcrEvent
> - //
> - FirstPcrEvent.PCRIndex = 0;
> - FirstPcrEvent.EventType = EV_NO_ACTION;
> - ZeroMem (&FirstPcrEvent.Digest, sizeof(FirstPcrEvent.Digest));
> - FirstPcrEvent.EventSize = (UINT32)GetTcgEfiSpecIdEventStructSize
> (TcgEfiSpecIdEventStruct);
> + NoActionEvent.PCRIndex = 0;
> + NoActionEvent.EventType = EV_NO_ACTION;
> + ZeroMem (&NoActionEvent.Digest, sizeof(NoActionEvent.Digest));
> + NoActionEvent.EventSize = (UINT32)GetTcgEfiSpecIdEventStructSize
> (TcgEfiSpecIdEventStruct);
>
> //
> - // Record
> + // Log TcgEfiSpecIdEventStruct as the first Event
> + // TCG PC Client PFP spec. Section 9.2 Measurement Event Entries
> and Log
> //
> Status = TcgDxeLogEvent (
> mTcg2EventInfo[Index].LogFormat,
> - &FirstPcrEvent,
> - sizeof(FirstPcrEvent),
> + &NoActionEvent,
> + sizeof(NoActionEvent),
> (UINT8 *)TcgEfiSpecIdEventStruct,
> - FirstPcrEvent.EventSize
> + NoActionEvent.EventSize
> );
> +
> + //
> + // EfiStartupLocalityEvent
> + //
> + GuidHob.Guid = GetFirstGuidHob (&gTpm2StartupLocalityHobGuid);
> + if (GuidHob.Guid != NULL) {
> + //
> + // Get Locality Indicator from StartupLocality HOB
> + //
> + StartupLocalityEvent.StartupLocality = *(UINT8
> *)(GET_GUID_HOB_DATA (GuidHob.Guid));
> + CopyMem (StartupLocalityEvent.Signature,
> TCG_EfiStartupLocalityEvent_SIGNATURE,
> sizeof(StartupLocalityEvent.Signature));
> +
> + NoActionEvent.PCRIndex = 0;
> + NoActionEvent.EventType = EV_NO_ACTION;
> + ZeroMem (&NoActionEvent.Digest, sizeof(NoActionEvent.Digest));
> + NoActionEvent.EventSize = sizeof(StartupLocalityEvent);
> +
> + DEBUG ((EFI_D_INFO, "SetupEventLog: Set Locality from HOB into
> StartupLocalityEvent 0x%02x\n", StartupLocalityEvent.StartupLocality));
> +
> + //
> + // Log EfiStartupLocalityEvent as the second Event
> + // TCG PC Client PFP spec. Section 9.3.4.3 Startup Locality Event
> + //
> + Status = TcgDxeLogEvent (
> + mTcg2EventInfo[Index].LogFormat,
> + &NoActionEvent,
> + sizeof(NoActionEvent),
> + (UINT8 *)&StartupLocalityEvent,
> + NoActionEvent.EventSize
> + );
> + }
> }
> }
> }
> diff --git a/SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf
> b/SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf
> index 6b4c15f..8efc4e3 100644
> --- a/SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf
> +++ b/SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf
> @@ -7,7 +7,7 @@
> # This external input must be validated carefully to avoid security issue like
> # buffer overflow, integer overflow.
> #
> -# Copyright (c) 2015 - 2016, Intel Corporation. All rights reserved.<BR>
> +# Copyright (c) 2015 - 2017, Intel Corporation. All rights reserved.<BR>
> # This program and the accompanying materials
> # are licensed and made available under the terms and conditions of the BSD
> License
> # which accompanies this distribution. The full text of the license may be found
> at
> @@ -80,6 +80,7 @@
> gEfiTpmDeviceInstanceTpm12Guid ##
> SOMETIMES_CONSUMES ## GUID # TPM device identifier
>
> gTcgEvent2EntryHobGuid ##
> SOMETIMES_CONSUMES ## HOB
> + gTpm2StartupLocalityHobGuid ##
> SOMETIMES_CONSUMES ## HOB
>
> [Protocols]
> gEfiTcg2ProtocolGuid ## PRODUCES
> --
> 1.9.5.msysgit.1
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2017-01-24 2:13 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-01-24 1:54 [PATCH V2 1/2] SecurityPkg: Tcg2Dxe: Log Startup Locality Event Zhang, Chao B
2017-01-24 1:54 ` [PATCH V2 2/2] MdePkg : UefiTcgPlatform.h: Define Startup Locality Event & Indicator Zhang, Chao B
2017-01-24 2:13 ` Yao, Jiewen
2017-01-24 2:13 ` [PATCH V2 1/2] SecurityPkg: Tcg2Dxe: Log Startup Locality Event Yao, Jiewen
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox