From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by spool.mail.gandi.net (Postfix) with ESMTPS id 9A7A6941EFF for ; Thu, 14 Dec 2023 23:39:39 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=a4upEkCZXiDqfv0TMVOxJae5tt0hNgbdFSHPwUJsYS8=; c=relaxed/simple; d=groups.io; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Transfer-Encoding; s=20140610; t=1702597178; v=1; b=lJ2tMzIERo2MWcYvPpx20KoGrhYN5so38CNcMMCeSwfr5DLfhEEM4c6uI+ULuqlFln4+M3zc biv0V5jMa7qY7kKVTnX1uNF+FdFMQQg/YLwON7nhi6pVZD5iVGdFpi73DS7rCzmmTEY16JAGbh/ V1sM40XQAhETL45OJQkVuj2Y= X-Received: by 127.0.0.2 with SMTP id Ay7sYY7687511xszGU49wrRz; Thu, 14 Dec 2023 15:39:38 -0800 X-Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.web10.44961.1702597173657590491 for ; Thu, 14 Dec 2023 15:39:33 -0800 X-Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 0884915BF; Thu, 14 Dec 2023 15:40:18 -0800 (PST) X-Received: from beelzebub.ast.arm.com (unknown [10.118.29.240]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 857BC3F8A4; Thu, 14 Dec 2023 15:39:32 -0800 (PST) From: "Stuart Yoder" To: devel@edk2.groups.io, Edhaya.Chandran@arm.com, gaojie@byosoft.com.cn Cc: ilias.apalodimas@linaro.org, heinrich.schuchardt@canonical.com, Samer.El-Haj-Mahmoud@arm.com, Jiewen.Yao@intel.com Subject: [edk2-devel] [PATCH v1 5/6] uefi-sct/SctPkg: TCG2 Protocol: add GetEventLog test Date: Thu, 14 Dec 2023 17:39:20 -0600 Message-Id: <20231214233921.169624-6-stuart.yoder@arm.com> In-Reply-To: <20231214233921.169624-1-stuart.yoder@arm.com> References: <20231214233921.169624-1-stuart.yoder@arm.com> MIME-Version: 1.0 Precedence: Bulk List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,stuart.yoder@arm.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: 8lKqa645a9S1DcLCPVwnLsOxx7686176AA= Content-Transfer-Encoding: quoted-printable X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20140610 header.b=lJ2tMzIE; dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=arm.com (policy=none); spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce@groups.io From: Joseph Hemann -add test for GetEventLog() -test for valid and invalid event log format -test event log header -verify expected event log entry Signed-off-by: Joseph Hemann Signed-off-by: Stuart Yoder --- uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/TCG2/BlackBoxTest/Guid.h = | 20 ++ uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/TCG2/BlackBoxTest/TCG2ProtocolB= BTest.h | 17 ++ uefi-sct/SctPkg/UEFI/Protocol/TCG2.h = | 46 +++++ uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/TCG2/BlackBoxTest/Guid.c = | 8 + uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/TCG2/BlackBoxTest/TCG2ProtocolB= BTestConformance.c | 207 +++++++++++++++++++- 5 files changed, 297 insertions(+), 1 deletion(-) diff --git a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/TCG2/BlackBoxTest/G= uid.h b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/TCG2/BlackBoxTest/Guid.h index dcfd5919acda..746ff83f899c 100644 --- a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/TCG2/BlackBoxTest/Guid.h +++ b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/TCG2/BlackBoxTest/Guid.h @@ -85,3 +85,23 @@ extern EFI_GUID gTcg2ConformanceTestAssertionGuid011; { 0x9cd6d636, 0x603a, 0x4b78, {0x80, 0xa3, 0xa3, 0xb9, 0xcc, 0x6a, 0x0b, 0= x08 }}=0D =0D extern EFI_GUID gTcg2ConformanceTestAssertionGuid012;=0D +=0D +#define EFI_TEST_TCG2CONFORMANCE_ASSERTION_013_GUID \=0D +{ 0xfc80408e, 0x9a3c, 0x4054, {0x96, 0xf9, 0x31, 0x23, 0x35, 0xc2, 0x31, 0= x35 }}=0D +=0D +extern EFI_GUID gTcg2ConformanceTestAssertionGuid013;=0D +=0D +#define EFI_TEST_TCG2CONFORMANCE_ASSERTION_014_GUID \=0D +{ 0x45fa1a42, 0x912a, 0x5124, {0x84, 0xf4, 0x41, 0x67, 0xab, 0xb5, 0x89, 0= x90 }}=0D +=0D +extern EFI_GUID gTcg2ConformanceTestAssertionGuid014;=0D +=0D +#define EFI_TEST_TCG2CONFORMANCE_ASSERTION_015_GUID \=0D +{ 0x1689bc3a, 0x2298, 0xa116, {0x28, 0x4c, 0xc1, 0xdd, 0xaa, 0xd8, 0xef, 0= x51 }}=0D +=0D +extern EFI_GUID gTcg2ConformanceTestAssertionGuid015;=0D +=0D +#define EFI_TEST_TCG2CONFORMANCE_ASSERTION_016_GUID \=0D +{ 0x126a789a, 0x1932, 0x3234, {0x21, 0xab, 0x42, 0x64, 0x8a, 0x7b, 0x63, 0= x76 }}=0D +=0D +extern EFI_GUID gTcg2ConformanceTestAssertionGuid016;=0D diff --git a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/TCG2/BlackBoxTest/T= CG2ProtocolBBTest.h b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/TCG2/Black= BoxTest/TCG2ProtocolBBTest.h index cbbadef4a5c7..5ce275dc6258 100644 --- a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/TCG2/BlackBoxTest/TCG2Prot= ocolBBTest.h +++ b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/TCG2/BlackBoxTest/TCG2Prot= ocolBBTest.h @@ -43,8 +43,13 @@ Abstract: #define EFI_TCG2_PROTOCOL_TEST_ENTRY_GUID0103 \=0D {0x907a7878, 0xb294, 0xf147, {0xe9, 0x0a, 0x65, 0x43, 0xab, 0x55, 0x76, 0= x46} }=0D =0D +#define EFI_TCG2_PROTOCOL_TEST_ENTRY_GUID0104 \=0D + {0x9087ad78, 0x9ad2, 0x4172, {0x9a, 0xbc, 0x98, 0x23, 0x08, 0xf5, 0x6d, 0= x26} }=0D +=0D #define EV_POST_CODE 0x01=0D =0D +#define EV_NO_ACTION 0x03=0D +=0D #define EFI_TCG2_EXTEND_ONLY 0x0000000000000001=0D =0D #define PE_COFF_IMAGE 0x0000000000000010=0D @@ -103,6 +108,18 @@ BBTestHashLogExtendEventConformanceTestCheckpoint2 ( IN EFI_TCG2_PROTOCOL *TCG2=0D );=0D =0D +EFI_STATUS=0D +BBTestGetEventLogConformanceTestCheckpoint1 (=0D + IN EFI_STANDARD_TEST_LIBRARY_PROTOCOL *StandardLib,=0D + IN EFI_TCG2_PROTOCOL *TCG2=0D + );=0D +=0D +EFI_STATUS=0D +BBTestGetEventLogConformanceTestCheckpoint2 (=0D + IN EFI_STANDARD_TEST_LIBRARY_PROTOCOL *StandardLib,=0D + IN EFI_TCG2_PROTOCOL *TCG2=0D + );=0D +=0D EFI_STATUS=0D BBTestGetCapabilityConformanceTest (=0D IN EFI_BB_TEST_PROTOCOL *This,=0D diff --git a/uefi-sct/SctPkg/UEFI/Protocol/TCG2.h b/uefi-sct/SctPkg/UEFI/Pr= otocol/TCG2.h index 659c61a741e7..73e800af6205 100644 --- a/uefi-sct/SctPkg/UEFI/Protocol/TCG2.h +++ b/uefi-sct/SctPkg/UEFI/Protocol/TCG2.h @@ -50,6 +50,8 @@ Abstract: =0D #define EFI_TCG2_EVENT_LOG_FORMAT_TCG_2 0x00000002=0D =0D +#define HASH_NUMBER 0x04=0D +=0D typedef struct _EFI_TCG2_PROTOCOL EFI_TCG2_PROTOCOL;=0D =0D typedef UINT64 EFI_PHYSICAL_ADDRESS;=0D @@ -117,6 +119,50 @@ typedef struct tdEFI_TCG2_EVENT { UINT8 Event[];=0D } EFI_TCG2_EVENT;=0D =0D +typedef struct {=0D + UINT16 hashAlg;=0D + UINT8 digest[];=0D +} TPMT_HA;=0D +=0D +typedef struct tdTPML_DIGEST_VALUES {=0D + UINT32 Count; // number of digests=0D + TPMT_HA Digests[HASH_NUMBER]; // Count digests=0D +} TPML_DIGEST_VALUES;=0D +=0D +// This Declaration is for parsing the eventlog header which is defined to= be 20 bytes in TCG EFI Protocol Spec=0D +typedef UINT8 TCG_DIGEST[20];=0D +=0D +typedef struct tdTCG_PCR_EVENT2 {=0D + TCG_PCRINDEX PCRIndex; // PCRIndex event extended to=0D + TCG_EVENTTYPE EventType; // Type of event (see [2])=0D + TPML_DIGEST_VALUES Digests; // List of digests extended to //PCRIndex=0D + UINT32 EventSize; // Size of the event data=0D + UINT8 *Event; // The event data=0D +} TCG_PCR_EVENT2;=0D +=0D +typedef struct tdTCG_PCR_EVENT {=0D + UINT32 PCRIndex; // PCRIndex event extended to=0D + UINT32 EventType; // Type of event (see EFI specs)=0D + TCG_DIGEST Digest; // Value extended into PCRIndex=0D + UINT32 EventSize; // Size of the event data=0D + UINT8 Event[0]; // The event data=0D +} TCG_PCR_EVENT;=0D +// Structure to be added to the Event Log=0D +=0D +typedef struct tdTCG_EfiSpecIdEventAlgorithmSize {=0D + UINT16 algorithmId;=0D + UINT16 digestSize;=0D +} TCG_EfiSpecIdEventAlgorithmSize;=0D +=0D +typedef struct tdTCG_EfiSpecIdEventStruct {=0D + UINT8 signature[16];=0D + UINT32 platformClass;=0D + UINT8 specVersionMinor;=0D + UINT8 specVersionMajor;=0D + UINT8 specErrata;=0D + UINT8 uintnSize;=0D +} TCG_EfiSpecIDEventStruct;=0D +=0D #pragma pack()=0D =0D typedef=0D diff --git a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/TCG2/BlackBoxTest/G= uid.c b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/TCG2/BlackBoxTest/Guid.c index ccc20259d128..8c528aa8ddfc 100644 --- a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/TCG2/BlackBoxTest/Guid.c +++ b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/TCG2/BlackBoxTest/Guid.c @@ -51,3 +51,11 @@ EFI_GUID gTcg2ConformanceTestAssertionGuid010 =3D EFI_TE= ST_TCG2CONFORMANCE_ASSERTI EFI_GUID gTcg2ConformanceTestAssertionGuid011 =3D EFI_TEST_TCG2CONFORMANCE= _ASSERTION_011_GUID;=0D =0D EFI_GUID gTcg2ConformanceTestAssertionGuid012 =3D EFI_TEST_TCG2CONFORMANCE= _ASSERTION_012_GUID;=0D +=0D +EFI_GUID gTcg2ConformanceTestAssertionGuid013 =3D EFI_TEST_TCG2CONFORMANCE= _ASSERTION_013_GUID;=0D +=0D +EFI_GUID gTcg2ConformanceTestAssertionGuid014 =3D EFI_TEST_TCG2CONFORMANCE= _ASSERTION_014_GUID;=0D +=0D +EFI_GUID gTcg2ConformanceTestAssertionGuid015 =3D EFI_TEST_TCG2CONFORMANCE= _ASSERTION_015_GUID;=0D +=0D +EFI_GUID gTcg2ConformanceTestAssertionGuid016 =3D EFI_TEST_TCG2CONFORMANCE= _ASSERTION_016_GUID;=0D diff --git a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/TCG2/BlackBoxTest/T= CG2ProtocolBBTestConformance.c b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol= /TCG2/BlackBoxTest/TCG2ProtocolBBTestConformance.c index 2768eef725e8..ebe04d42aff5 100644 --- a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/TCG2/BlackBoxTest/TCG2Prot= ocolBBTestConformance.c +++ b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/TCG2/BlackBoxTest/TCG2Prot= ocolBBTestConformance.c @@ -142,7 +142,7 @@ BBTestGetActivePcrBanksConformanceTest ( =0D /**=0D * @brief Entrypoint for HashLogExtendEvent() Function Test.=0D - * 2 checkpoints will be tested.=0D + * 4 checkpoints will be tested.=0D * @param This a pointer of EFI_BB_TEST_PROTOCOL=0D * @param ClientInterface A pointer to the interface array under test=0D * @param TestLevel Test "thoroughness" control=0D @@ -188,6 +188,12 @@ BBTestHashLogExtendEventConformanceTest ( // Test HashLogExtendEvent with valid arguments=0D BBTestHashLogExtendEventConformanceTestCheckpoint2 (StandardLib, TCG2);= =0D =0D + // Test GetEventLog using invalid EventLog Format=0D + BBTestGetEventLogConformanceTestCheckpoint1 (StandardLib, TCG2);=0D +=0D + // Test GetEventLog using valid EventLog Format=0D + BBTestGetEventLogConformanceTestCheckpoint2 (StandardLib, TCG2);=0D +=0D return EFI_SUCCESS;=0D }=0D =0D @@ -801,3 +807,202 @@ BBTestHashLogExtendEventConformanceTestCheckpoint2 ( =0D return EFI_SUCCESS;=0D }=0D +=0D +#define EFI_TCG2_INVALID_EVENT_LOG_FORMAT 0x20=0D +=0D +EFI_STATUS=0D +BBTestGetEventLogConformanceTestCheckpoint1 (=0D + IN EFI_STANDARD_TEST_LIBRARY_PROTOCOL *StandardLib,=0D + IN EFI_TCG2_PROTOCOL *TCG2=0D + )=0D +{=0D + EFI_TEST_ASSERTION AssertionType;=0D + EFI_STATUS Status;=0D + EFI_TCG2_EVENT_LOG_FORMAT EventLogFormat;=0D + EFI_PHYSICAL_ADDRESS EventLogLocation;=0D + EFI_PHYSICAL_ADDRESS EventLogLastEntry;=0D + BOOLEAN EventLogTruncated;=0D +=0D + // Ensure Get EventLog returns Invalid Parameter when passed invalid for= mat=0D + EventLogFormat =3D EFI_TCG2_INVALID_EVENT_LOG_FORMAT;=0D +=0D + Status =3D TCG2->GetEventLog (=0D + TCG2,=0D + EventLogFormat,=0D + &EventLogLocation,=0D + &EventLogLastEntry,=0D + &EventLogTruncated);=0D +=0D + if (EFI_INVALID_PARAMETER !=3D Status) {=0D + AssertionType =3D EFI_TEST_ASSERTION_FAILED;=0D + } else {=0D + AssertionType =3D EFI_TEST_ASSERTION_PASSED;=0D + }=0D +=0D + StandardLib->RecordAssertion (=0D + StandardLib,=0D + AssertionType,=0D + gTcg2ConformanceTestAssertionGuid013,=0D + L"TCG2_PROTOCOL.GetEventLog - GetEventLog() should return= EFI_INVALID_PARAMETER when passed in invalid EventLog Format",=0D + L"%a:%d: Status - %r",=0D + __FILE__,=0D + (UINTN)__LINE__,=0D + Status=0D + );=0D +=0D + return EFI_SUCCESS;=0D +}=0D +=0D +EFI_STATUS=0D +BBTestGetEventLogConformanceTestCheckpoint2 (=0D + IN EFI_STANDARD_TEST_LIBRARY_PROTOCOL *StandardLib,=0D + IN EFI_TCG2_PROTOCOL *TCG2=0D + )=0D +{=0D + EFI_TEST_ASSERTION AssertionType;=0D + EFI_STATUS Status;=0D + EFI_TCG2_EVENT_LOG_FORMAT EventLogFormat;=0D + EFI_PHYSICAL_ADDRESS EventLogLocation;=0D + EFI_PHYSICAL_ADDRESS EventLogLastEntry;=0D + BOOLEAN EventLogTruncated;=0D + TCG_PCR_EVENT *EventLogHeader;=0D + TCG_EfiSpecIDEventStruct *EventLogHeaderSpecEvent;=0D + TCG_PCR_EVENT2 *LastEvent;=0D + // signature as defined in the EFI protocol spec: "Spec ID Event03"=0D + UINT8 signature[] =3D {0x53, 0x70, 0x65, 0x63, 0x20, 0x49, 0x44, 0x20, 0= x45, 0x76, 0x65, 0x6e, 0x74, 0x30, 0x33, 0x00};=0D +=0D + EventLogFormat =3D EFI_TCG2_EVENT_LOG_FORMAT_TCG_2;=0D +=0D + // Call GetEventLog with valid EventLogFormat=0D + Status =3D TCG2->GetEventLog (=0D + TCG2,=0D + EventLogFormat,=0D + &EventLogLocation,=0D + &EventLogLastEntry,=0D + &EventLogTruncated);=0D +=0D + AssertionType =3D EFI_TEST_ASSERTION_PASSED;=0D +=0D + // Verify GetEventLog returns EFI_SUCCESS=0D + if (Status !=3D EFI_SUCCESS) {=0D + StandardLib->RecordMessage (=0D + StandardLib,=0D + EFI_VERBOSE_LEVEL_DEFAULT,=0D + L"\r\nTCG2 Protocol GetEventLog Test: GetEventLog sho= uld return EFI_SUCCESS with valid EventLogFormat, Status =3D %r",=0D + Status=0D + );=0D +=0D + AssertionType =3D EFI_TEST_ASSERTION_FAILED;=0D +=0D + }=0D +=0D + StandardLib->RecordAssertion (=0D + StandardLib,=0D + AssertionType,=0D + gTcg2ConformanceTestAssertionGuid014,=0D + L"TCG2_PROTOCOL.GetEventLog - GetEventLog() should return= EFI_SUCCESS",=0D + L"%a:%d: Status - %r",=0D + __FILE__,=0D + (UINTN)__LINE__,=0D + Status=0D + );=0D +=0D + // If GetEventLog doesn't return EFI_SUCCESS abort test=0D + if (Status !=3D EFI_SUCCESS) {=0D + return Status;=0D + }=0D +=0D + EventLogHeader =3D (TCG_PCR_EVENT *) EventLogLocation;=0D + EventLogHeaderSpecEvent =3D (TCG_EfiSpecIDEventStruct *) EventLogHeader-= >Event;=0D +=0D + AssertionType =3D EFI_TEST_ASSERTION_PASSED;=0D +=0D +=0D + // Verify valid eventlog header is returned=0D + // Verify EventLogHeader PCR index =3D=3D 0=0D + if (EventLogHeader->PCRIndex !=3D 0) {=0D + StandardLib->RecordMessage (=0D + StandardLib,=0D + EFI_VERBOSE_LEVEL_DEFAULT,=0D + L"\r\nTCG2 Protocol GetEventLog Test: EventLogHeader = should have PCR index =3D=3D 0"=0D + );=0D +=0D + AssertionType =3D EFI_TEST_ASSERTION_FAILED;=0D + }=0D +=0D + // Verify EventLogHeader event type =3D EV_NO_ACTION=0D + if (EventLogHeader->EventType !=3D EV_NO_ACTION) {=0D + StandardLib->RecordMessage (=0D + StandardLib,=0D + EFI_VERBOSE_LEVEL_DEFAULT,=0D + L"\r\nTCG2 Protocol GetEventLog Test: EventLogHeader = should be EventType =3D=3D EV_NO_ACTION"=0D + );=0D +=0D + AssertionType =3D EFI_TEST_ASSERTION_FAILED;=0D + }=0D +=0D + // Verify EventLog Signature=0D + Status =3D SctCompareMem(EventLogHeaderSpecEvent->signature, signature, = sizeof(signature));=0D +=0D + if (Status !=3D EFI_SUCCESS) {=0D + StandardLib->RecordMessage (=0D + StandardLib,=0D + EFI_VERBOSE_LEVEL_DEFAULT,=0D + L"\r\nTCG2 Protocol GetEventLog Test: EventLogHeader = Signature did not match \'Spec ID Event03\'"=0D + );=0D +=0D + AssertionType =3D EFI_TEST_ASSERTION_FAILED;=0D + }=0D +=0D + StandardLib->RecordAssertion (=0D + StandardLib,=0D + AssertionType,=0D + gTcg2ConformanceTestAssertionGuid015,=0D + L"TCG2_PROTOCOL.GetEventLog - GetEventLog() should return= correct EventLogHeader",=0D + L"%a:%d: Status - %r",=0D + __FILE__,=0D + (UINTN)__LINE__,=0D + Status=0D + );=0D +=0D + // Verify that the event log created by HashLogExtendEvent in the=0D + // BBTestHashLogExtendEventConformanceTestCheckpoint2 function=0D + // is actually in Eventlog=0D + LastEvent =3D (TCG_PCR_EVENT2 *) EventLogLastEntry;=0D + Status =3D EFI_SUCCESS;=0D +=0D + // Verify Last Event PCR =3D 16=0D + if (LastEvent->PCRIndex !=3D 16) {=0D + StandardLib->RecordMessage (=0D + StandardLib,=0D + EFI_VERBOSE_LEVEL_DEFAULT,=0D + L"\r\nTCG2 Protocol GetEventLog Test: PCR Index of La= st event should be 16"=0D + );=0D +=0D + AssertionType =3D EFI_TEST_ASSERTION_FAILED;=0D + }=0D +=0D + // Verify last event type =3D EV_POST_CODE=0D + if (LastEvent->EventType !=3D EV_POST_CODE) {=0D + StandardLib->RecordMessage (=0D + StandardLib,=0D + EFI_VERBOSE_LEVEL_DEFAULT,=0D + L"\r\nTCG2 Protocol GetEventLog Test: PCR Index of la= st event should be type EV_POST_CODE"=0D + );=0D +=0D + AssertionType =3D EFI_TEST_ASSERTION_FAILED;=0D + }=0D +=0D + StandardLib->RecordAssertion (=0D + StandardLib,=0D + AssertionType,=0D + gTcg2ConformanceTestAssertionGuid016,=0D + L"TCG2_PROTOCOL.GetEventLog - verify that event log has e= xpected entry from previous HashLogExtendEvent",=0D + L"%a:%d: Status - %r",=0D + __FILE__,=0D + (UINTN)__LINE__,=0D + Status=0D + );=0D +=0D + return EFI_SUCCESS;=0D +}=0D --=20 2.34.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#112571): https://edk2.groups.io/g/devel/message/112571 Mute This Topic: https://groups.io/mt/103181272/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=-