From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from EUR04-DB3-obe.outbound.protection.outlook.com (EUR04-DB3-obe.outbound.protection.outlook.com [40.107.6.88]) by mx.groups.io with SMTP id smtpd.web12.3342.1596540423166852076 for ; Tue, 04 Aug 2020 04:27:03 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b=rToGvVZy; spf=pass (domain: arm.com, ip: 40.107.6.88, mailfrom: samer.el-haj-mahmoud@arm.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=FOmJ1c8rJZgsZlUJqAkedWann+InL3CwrLLEBdl01TA=; b=rToGvVZygJNi9oButV+zMzNuT56UtnuUEy/ZoF8KzrY836uRAjrgwI4wD7OAw0TCX65HL/kYtkXa+Fjy5LDo1r43bWnCD71RQZB7E/aNubzRlTsrgT5VQ/qKWP3styDB7pDRPnJ1risdlZpOEQmTskVL+gwd25AZE6OanC0Hd9I= Received: from PR3P193CA0008.EURP193.PROD.OUTLOOK.COM (2603:10a6:102:50::13) by AM4PR08MB2914.eurprd08.prod.outlook.com (2603:10a6:205:b::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3239.21; Tue, 4 Aug 2020 11:27:00 +0000 Received: from VE1EUR03FT006.eop-EUR03.prod.protection.outlook.com (2603:10a6:102:50:cafe::a6) by PR3P193CA0008.outlook.office365.com (2603:10a6:102:50::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3239.17 via Frontend Transport; Tue, 4 Aug 2020 11:27:00 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; edk2.groups.io; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;edk2.groups.io; dmarc=bestguesspass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by VE1EUR03FT006.mail.protection.outlook.com (10.152.18.116) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3239.17 via Frontend Transport; Tue, 4 Aug 2020 11:26:59 +0000 Received: ("Tessian outbound 78bc8a1387f9:v63"); Tue, 04 Aug 2020 11:26:59 +0000 X-CR-MTA-TID: 64aa7808 Received: from 3ec07982f268.3 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 1A74B56B-AD17-4E97-88E5-4AC5FA733C39.1; Tue, 04 Aug 2020 11:26:54 +0000 Received: from EUR04-VI1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 3ec07982f268.3 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Tue, 04 Aug 2020 11:26:54 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ijYmf6dFnS2OY3mUJ9WSKV+gJjm/cYj6/BsA3XyT1IO3GabKjxkcNwlOzyA4fVgaUst5gxSXrtPK1SaUDvMpmzwlt49vCV+XrBrHLyG2SWVrFKXKJPaf+JFUOqHEvJa+KOeqJQnBKImtRJktWXoxy6Yo/4gDByQ8F2kaJEc/zWJ4tQt/lg+KM4XvRyXG5ZaOPsc8FLF4tpIN2/ueB92+mfKeY7tdYrukz8oCiWG9PWvMrj0DSeojKL7Cfwt3DIO6/LVZwyGpKxV0Yg+YQFApqpuhFkn7MSdwfFuuIWwaF4UenaX3eyaH1nKqHJ9DDV+Vc0oUCiK4izV6YQabysz7bg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=FOmJ1c8rJZgsZlUJqAkedWann+InL3CwrLLEBdl01TA=; b=Seot/kc4laNSn9gVtrjRgQ+QX17bOzOZMKEjsE3hA6UkWBVLchjWPfIUIvDf0OsVa0t+f95MnBmajQtGOReoRD42VHb4Y7WL3txu5b4HLxUZGTCFmef1ex4gNP1I5qexbGqO5bAmy3tqCus6oLPKq5URdPpnpZgQatnpmpT8oZrfSjlB6TsOR1v4a/VyO/tOnq5tzHpTUJdQWdEFRRJyfULspVUuV4z1erJcU93sWRl5PQ4yOYamAjzXbanlXjQRmWWneucRbU+/n3fIhx6pdiVhgpJAwkdBSKIS9d0Ycb1czCwPX2NzzCkeDdwykBLl0xD+x5+BPq+ZIS/bgNL9mQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=FOmJ1c8rJZgsZlUJqAkedWann+InL3CwrLLEBdl01TA=; b=rToGvVZygJNi9oButV+zMzNuT56UtnuUEy/ZoF8KzrY836uRAjrgwI4wD7OAw0TCX65HL/kYtkXa+Fjy5LDo1r43bWnCD71RQZB7E/aNubzRlTsrgT5VQ/qKWP3styDB7pDRPnJ1risdlZpOEQmTskVL+gwd25AZE6OanC0Hd9I= Received: from DB7PR08MB3260.eurprd08.prod.outlook.com (2603:10a6:5:21::23) by DBAPR08MB5605.eurprd08.prod.outlook.com (2603:10a6:10:1af::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3239.21; Tue, 4 Aug 2020 11:26:52 +0000 Received: from DB7PR08MB3260.eurprd08.prod.outlook.com ([fe80::88ec:d703:3e32:4c6b]) by DB7PR08MB3260.eurprd08.prod.outlook.com ([fe80::88ec:d703:3e32:4c6b%5]) with mapi id 15.20.3239.021; Tue, 4 Aug 2020 11:26:52 +0000 From: "Samer El-Haj-Mahmoud" To: Grant Likely , "devel@edk2.groups.io" CC: nd , G Edhaya Chandran , Heinrich Schuchardt , Samer El-Haj-Mahmoud Subject: Re: [PATCH] Check return status on calls to GetTime() Thread-Topic: [PATCH] Check return status on calls to GetTime() Thread-Index: AQHWZ17YLXagoSPCmEWGlvAB+ziKEqkn1XdQ Date: Tue, 4 Aug 2020 11:26:52 +0000 Message-ID: References: <20200731171949.15748-1-grant.likely@arm.com> In-Reply-To: <20200731171949.15748-1-grant.likely@arm.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: c0d0579e-b4f5-40ff-875b-e3b864084747.1 x-checkrecipientchecked: true Authentication-Results-Original: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=arm.com; x-originating-ip: [99.132.126.10] x-ms-publictraffictype: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: a113dff9-1607-424f-2bb0-08d838694dd3 x-ms-traffictypediagnostic: DBAPR08MB5605:|AM4PR08MB2914: x-ms-exchange-transport-forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:1079;OLM:1079; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: jpcTEZsok9xsgevaS+KF64tYYZHpLvZe7AJNsFPAXt/AJhP8BvH2y9kzaykZVDvNxvktskbMmlFpJf5uGhC1Ns9e9hjV8fcO6H+mOT/rlfBsBgnw6EBA2m+wUqXcz2cYlvovoOn6JZ4oAu3KBvDaVKrTKuFoJoZbpGmzM24neXNFvkwYj9r2ccFbp9XX2J6LuDYT1BSeHd8gLOq96J5nB+tX+vsgERywKqjcS+M3SckjuVjBlN3V+qFiHyP6NN+XYY3ZBqYyn3KbC4ejuWlxShhxw4VGjo3FUdr2p2aqCrD8rw6AOGTcBefMO35QrKNushVZ4Pgu0kXqgb+lLSxjErZBuzqHxXsKuZO/8Z5xU6rL2hPp8LcZJers6P3KphCh60PGlDosJP9imjr2AR/R+Q== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB7PR08MB3260.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(4636009)(39860400002)(346002)(366004)(376002)(136003)(396003)(55016002)(186003)(83380400001)(7696005)(33656002)(2906002)(316002)(8936002)(52536014)(66476007)(53546011)(71200400001)(966005)(66446008)(54906003)(9686003)(66556008)(66946007)(86362001)(478600001)(8676002)(64756008)(6506007)(110136005)(76116006)(5660300002)(26005)(4326008)(30864003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata: k1sqTNGV14dCWHbQlxcxt7EMtl/PMqPCLH6lBW7pd7ivtFGXFcxx3TNiCV/9w5PPSN4LgLQaUEWtQIjegWKMUO2TIwC0YVuhhWZvlwwLsho4KZb8XzSlBgg08W1zPWWVP/5m1SLV5w9VXXEzjYO+fWmvr/KXczX46trXQpi/sYgnZW3uOeBdrJTIUXJRBTWOqtyMC8oE4mq9k+eRbOoe3IkKdqFvZwscAhRdGucoH4MEleFUMXgKSFzeSZi0ZYqLT93pLp84hp7XVeD/iPEVwv5Tqu7pMSwmQz4cdJpmGFirzyV4X1WGozpf+1dsApCdyJoF72uxQyigFkUCYXNpNdUesW0irJR/ch8CeSCjGJ4CmweztonbYL63kJ5RKQddhfQ9gknoUR0nNN96A7JpjYXY5G0XDzr/dvUjXkhUDrdJ4qcf6XL8QI6aiXQ5EJxCZy7Hs3kALKRo+f8n4BO4ns2bJ/rhcY5QwfuPCGvoyrA7l26hPRdaP5TKv3Hzv97Q1SIo4Fq+640FRe2t/ors9HZttmO+QoK8dQvt/pJJFnbdJSzDkI1fEXpO9dOnzyCYpj1x34wGMw9BQ71DwxVTSledKJxxwjcv83YnslI6alwT8Rd2j2NY/1BT39Zhprw2R+nSBh9T1HbLEkfFE/brpw== MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR08MB5605 Original-Authentication-Results: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=arm.com; Return-Path: Samer.El-Haj-Mahmoud@arm.com X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: VE1EUR03FT006.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 9522db88-dd79-445c-f827-08d838694930 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 3/eXndVFxmVAiOBAsEx5n6f3kt84KZn3SUJC8OXqVvq5i9a1yBXsKfBzwmittzCtCaRd/BcZrriFbY5HWGthO/rd2nM5msmdC3J8NvsCXt++d8Fb2dCMICz4PhBCegSwAFWWydvc/vbTIKMg0A8K+dT9eFXKD0ZRGsZkozV+UjqmG6nFgXCfrXwJCPeXZ9HoqQTTrX7LkvP78JB2erZo+GtQcqUjs8LOEgVFY1J3i9H/pqUqwoqVTJE20Z8DRMdbG86FjVaE0DIOEbzHHSL5pLzpKbzhc6Q6rrStIk+HfYVGGVqzudz4sM8/EQIreqhvrZSwvdHnOzvW8UpIaKAtMD5C63H2tXPL+/3CSDWaAlSCDa/C5f2DYzmZXHn8sVqoa8KmDOagMh4v5YL9pqO7ngvWSrMIl+kY51IjjHd2O7bWgsV6vS05+Ui1NeVaW8NSbhJBnJLqv+EsmxN9cNeZhyLhBDnVK1QK7la+mp5BRvY= X-Forefront-Antispam-Report: CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFTY:;SFS:(4636009)(346002)(376002)(396003)(39860400002)(136003)(46966005)(478600001)(70586007)(8936002)(30864003)(966005)(86362001)(70206006)(2906002)(5660300002)(4326008)(83380400001)(33656002)(8676002)(53546011)(55016002)(82740400003)(26005)(47076004)(7696005)(81166007)(316002)(336012)(82310400002)(36906005)(6506007)(110136005)(356005)(186003)(52536014)(9686003)(54906003);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Aug 2020 11:26:59.9852 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a113dff9-1607-424f-2bb0-08d838694dd3 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: VE1EUR03FT006.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR08MB2914 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Reviewed-by: Samer El-Haj-Mahmoud > -----Original Message----- > From: Grant Likely > Sent: Friday, July 31, 2020 1:20 PM > To: devel@edk2.groups.io > Cc: nd ; Grant Likely ; G Edhaya > Chandran ; Heinrich Schuchardt > ; Samer El-Haj-Mahmoud Mahmoud@arm.com> > Subject: [PATCH] Check return status on calls to GetTime() >=20 > Not all platforms implement GetTime(), but the SCT just assumes calls to > GetTime will be successful. If GetTime() doesn't return EFI_SUCCESS, then > the EFI_TIME value will be uninitialized data. >=20 > Fix by checking the GetTime() return code. If it doesn't return EFI_SUCCE= SS, > then use the traditional 1/1/1970 epoch so that the test report at least = looks > sane, but it is obvious that we don't have a valid timestamp. >=20 > Fixes: https://bugzilla.tianocore.org/show_bug.cgi?id=3D2870 >=20 > Cc: G Edhaya Chandran > Cc: Heinrich Schuchardt > Cc: Samer El-Haj-Mahmoud > Signed-off-by: Grant Likely > --- > .../SimpleNetwork/SimpleNetworkENTSTestCase.c | 26 +++++++++++++---- > -- > .../MiscBootServicesBBTestFunction.c | 8 ++++-- > .../DriverBindingBBTestFunction.c | 5 +++- > .../SCT/Drivers/StandardTest/StandardTest.c | 11 +++++--- > .../Framework/ENTS/EasDispatcher/Core/Eas.c | 9 +++++-- > .../ENTS/EasDispatcher/Exec/EasCmdDisp.c | 20 +++++++++----- > 6 files changed, 57 insertions(+), 22 deletions(-) >=20 > diff --git a/uefi- > sct/SctPkg/TestCase/RIVL/Protocol/SimpleNetwork/SimpleNetworkENTSTes > tCase.c b/uefi- > sct/SctPkg/TestCase/RIVL/Protocol/SimpleNetwork/SimpleNetworkENTSTes > tCase.c > index 9c8d2a70..5579be7e 100644 > --- a/uefi- > sct/SctPkg/TestCase/RIVL/Protocol/SimpleNetwork/SimpleNetworkENTSTes > tCase.c > +++ b/uefi- > sct/SctPkg/TestCase/RIVL/Protocol/SimpleNetwork/SimpleNetwork > +++ ENTSTestCase.c > @@ -24,6 +24,8 @@ Abstract: >=20 > #include "SimpleNetworkENTSTestCase.h" >=20 > +static EFI_TIME Epoch =3D { .Year =3D 1970, .Month =3D 1, .Day =3D 1 }; > + > // > // SimpleNetwork.Start > // > @@ -928,7 +930,8 @@ Returns: > Status =3D EFI_SUCCESS; > tBS->Stall (5000); >=20 > - tRT->GetTime (&BeginTime, NULL); > + if (tRT->GetTime (&BeginTime, NULL) !=3D EFI_SUCCESS) > + BeginTime =3D Epoch; > for (Index =3D 0; Index < 1;) { > Status =3D SimpleNetwork->Transmit ( > SimpleNetwork, @@ -964,7 +967,8 @@ Returns= : > } > } >=20 > - tRT->GetTime (&BeginTime, NULL); > + if (tRT->GetTime (&BeginTime, NULL) !=3D EFI_SUCCESS) > + BeginTime =3D Epoch; >=20 > for (Index =3D 1; Index < TransmitPattern1Number;) { > Status =3D SimpleNetwork->Transmit ( > @@ -1002,7 +1006,8 @@ Returns: > } >=20 > End: > - tRT->GetTime (&EndTime, NULL); > + if (tRT->GetTime (&EndTime, NULL) !=3D EFI_SUCCESS) > + EndTime =3D Epoch; >=20 > *TransmitPattern1Status =3D Status; >=20 > @@ -1125,7 +1130,8 @@ Returns: > Status =3D EFI_SUCCESS; > tBS->Stall (5000); >=20 > - tRT->GetTime (&BeginTime, NULL); > + if (tRT->GetTime (&BeginTime, NULL) !=3D EFI_SUCCESS) > + BeginTime =3D Epoch; > for (Index =3D 0; Index < 1;) { > Status =3D SimpleNetwork->Transmit ( > SimpleNetwork, @@ -1161,7 +1167,8 @@ Retur= ns: > } > } >=20 > - tRT->GetTime (&BeginTime, NULL); > + if (tRT->GetTime (&BeginTime, NULL) !=3D EFI_SUCCESS) > + BeginTime =3D Epoch; >=20 > for (Index =3D 1; Index < TransmitPattern2Number;) { > Status =3D SimpleNetwork->Transmit ( > @@ -1199,7 +1206,8 @@ Returns: > } >=20 > End: > - tRT->GetTime (&EndTime, NULL); > + if (tRT->GetTime (&EndTime, NULL) !=3D EFI_SUCCESS) > + EndTime =3D Epoch; >=20 > *TransmitPattern1Status =3D Status; >=20 > @@ -1326,7 +1334,8 @@ Returns: > } > } >=20 > - tRT->GetTime (&BeginTime, NULL); > + if (tRT->GetTime (&BeginTime, NULL) !=3D EFI_SUCCESS) > + BeginTime =3D Epoch; >=20 > for (Index =3D 1; Index < ReceivePattern1Number;) { > *ReceivePattern1BufferSize =3D BufferSizeOrg; @@ -1346,7 +1355,8 @@ > Returns: > } > } >=20 > - tRT->GetTime (&EndTime, NULL); > + if (tRT->GetTime (&EndTime, NULL) !=3D EFI_SUCCESS) > + EndTime =3D Epoch; >=20 > *ReceivePattern1Status =3D Status; >=20 > diff --git a/uefi- > sct/SctPkg/TestCase/UEFI/EFI/BootServices/MiscBootServices/BlackBoxTest > /MiscBootServicesBBTestFunction.c b/uefi- > sct/SctPkg/TestCase/UEFI/EFI/BootServices/MiscBootServices/BlackBoxTest > /MiscBootServicesBBTestFunction.c > index 1d231d8c..3a530282 100644 > --- a/uefi- > sct/SctPkg/TestCase/UEFI/EFI/BootServices/MiscBootServices/BlackBoxTest > /MiscBootServicesBBTestFunction.c > +++ b/uefi-sct/SctPkg/TestCase/UEFI/EFI/BootServices/MiscBootServices/Bl > +++ ackBoxTest/MiscBootServicesBBTestFunction.c > @@ -27,6 +27,8 @@ Abstract: > #include "SctLib.h" > #include "MiscBootServicesBBTestMain.h" >=20 > +static EFI_TIME Epoch =3D { .Year =3D 1970, .Month =3D 1, .Day =3D 1 }; > + > /** > * Entrypoint for gtBS->SetWatchdogTimer() Interface Test. > * @param This a pointer of EFI_BB_TEST_PROTOCOL. > @@ -821,13 +823,15 @@ BBTestStallInterfaceTest ( > // > // 4.2.2.1 Stall must succeed. > // > - gtRT->GetTime (&StartTime, NULL); > + if (gtRT->GetTime (&StartTime, NULL) !=3D EFI_SUCCESS) > + StartTime =3D Epoch; > OldTpl =3D gtBS->RaiseTPL (TplArray[Index]); > Status =3D gtBS->Stall ( > 10000000 > ); > gtBS->RestoreTPL (OldTpl); > - gtRT->GetTime (&EndTime, NULL); > + if (gtRT->GetTime (&EndTime, NULL) !=3D EFI_SUCCESS) > + EndTime =3D Epoch; > if (Status =3D=3D EFI_SUCCESS) { > AssertionType =3D EFI_TEST_ASSERTION_PASSED; > } else { > diff --git a/uefi- > sct/SctPkg/TestCase/UEFI/IHV/Protocol/DriverBinding/BlackBoxTest/DriverB > indingBBTestFunction.c b/uefi- > sct/SctPkg/TestCase/UEFI/IHV/Protocol/DriverBinding/BlackBoxTest/DriverB > indingBBTestFunction.c > index bf675feb..4ab52dcd 100644 > --- a/uefi- > sct/SctPkg/TestCase/UEFI/IHV/Protocol/DriverBinding/BlackBoxTest/DriverB > indingBBTestFunction.c > +++ b/uefi-sct/SctPkg/TestCase/UEFI/IHV/Protocol/DriverBinding/BlackBoxT > +++ est/DriverBindingBBTestFunction.c > @@ -36,6 +36,8 @@ static const UINTN MonthLengths[2][12] =3D { > { 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 } }; >=20 > +static EFI_TIME Epoch =3D { .Year =3D 1970, .Month =3D 1, .Day =3D 1 }; > + > #define MINS_PER_HOUR 60 > #define HOURS_PER_DAY 24 > #define SECS_PER_MIN 60 > @@ -1052,7 +1054,8 @@ EndLogging ( > WriteLogFile (Private, DashLine, SYSTEMLOG); > WriteLogFile (Private, DashLine, CASELOG); >=20 > - gtRT->GetTime (&CurrentTime, NULL); > + if (gtRT->GetTime (&CurrentTime, NULL) !=3D EFI_SUCCESS) > + CurrentTime =3D Epoch; > DBSPrint (Buffer, EFI_MAX_PRINT_BUFFER, L"Test Finished: %t\n", > &CurrentTime); >=20 > WriteLogFile (Private, Buffer, SYSTEMLOG); diff --git a/uefi- > sct/SctPkg/TestInfrastructure/SCT/Drivers/StandardTest/StandardTest.c > b/uefi- > sct/SctPkg/TestInfrastructure/SCT/Drivers/StandardTest/StandardTest.c > index 84025457..836f072a 100644 > --- a/uefi- > sct/SctPkg/TestInfrastructure/SCT/Drivers/StandardTest/StandardTest.c > +++ b/uefi-sct/SctPkg/TestInfrastructure/SCT/Drivers/StandardTest/Standa > +++ rdTest.c > @@ -30,6 +30,8 @@ Abstract: > #include "StandardTest.h" > #include >=20 > +static EFI_TIME Epoch =3D { .Year =3D 1970, .Month =3D 1, .Day =3D 1 }; > + > // > // Prototypes > // > @@ -1081,7 +1083,8 @@ Returns: > StslWriteLogFile (Private, Buffer); >=20 > CurrentTime =3D &Private->StartTime; > - tRT->GetTime (CurrentTime, NULL); > + if (tRT->GetTime (CurrentTime, NULL) !=3D EFI_SUCCESS) > + *CurrentTime =3D Epoch; >=20 > } else { > StslWriteLogFile (Private, DashLine); @@ -1118,7 +1121,8 @@ Returns: >=20 > StslWriteLogFileName (Private); > CurrentTime =3D &Private->StartTime; > - tRT->GetTime (CurrentTime, NULL); > + if (tRT->GetTime (CurrentTime, NULL) !=3D EFI_SUCCESS) > + *CurrentTime =3D Epoch; > SctSPrint (Buffer, EFI_MAX_PRINT_BUFFER, L"Test Started: %t\n", > CurrentTime); > StslWriteLogFile (Private, Buffer); >=20 > @@ -1238,7 +1242,8 @@ Returns: >=20 > StslWriteLogFileName (Private); >=20 > - tRT->GetTime (&CurrentTime, NULL); > + if (tRT->GetTime (&CurrentTime, NULL) !=3D EFI_SUCCESS) > + CurrentTime =3D Epoch; >=20 > SecondsElapsed =3D SecondsElapsedFromBaseYear ( > Private->StartTime.Year, diff --git a/uefi- > sct/SctPkg/TestInfrastructure/SCT/Framework/ENTS/EasDispatcher/Core/Ea > s.c b/uefi- > sct/SctPkg/TestInfrastructure/SCT/Framework/ENTS/EasDispatcher/Core/Ea > s.c > index 28f5ed4a..60b1c4dc 100644 > --- a/uefi- > sct/SctPkg/TestInfrastructure/SCT/Framework/ENTS/EasDispatcher/Core/Ea > s.c > +++ b/uefi- > sct/SctPkg/TestInfrastructure/SCT/Framework/ENTS/EasDispatche > +++ r/Core/Eas.c > @@ -23,9 +23,12 @@ Abstract: > --*/ >=20 >=20 > +#include "Sct.h" > #include "Sct.h" > #include EFI_TEST_PROTOCOL_DEFINITION (EntsMonitorProtocol) >=20 > +static EFI_TIME Epoch =3D { .Year =3D 1970, .Month =3D 1, .Day =3D 1 }; > + > STATIC > EFI_STATUS > AgentTestMain ( > @@ -310,7 +313,8 @@ DelaySctAgentCmdPost ( > } > SctAgentCmdDelayedPost->CmdReturn =3D CmdReturn; > SctAgentCmdDelayedPost->Cmd.ComdResult =3D CmdResult; > - tRT->GetTime (&SctAgentCmdDelayedPost->StartTime, NULL); > + if (tRT->GetTime (&SctAgentCmdDelayedPost->StartTime, NULL) !=3D > EFI_SUCCESS) > + SctAgentCmdDelayedPost->StartTime =3D Epoch; >=20 > return Status; > } > @@ -327,7 +331,8 @@ PostSctAgentDelayedCmd ( > return EFI_SUCCESS; > } >=20 > - tRT->GetTime (&SctAgentCmdDelayedPost->EndTime, NULL); > + if (tRT->GetTime (&SctAgentCmdDelayedPost->EndTime, NULL) !=3D > EFI_SUCCESS) > + SctAgentCmdDelayedPost->EndTime =3D Epoch; >=20 > Status =3D RecordMessage ( > &SctAgentCmdDelayedPost->Cmd.ComdRuntimeInfo, > diff --git a/uefi- > sct/SctPkg/TestInfrastructure/SCT/Framework/ENTS/EasDispatcher/Exec/Ea > sCmdDisp.c b/uefi- > sct/SctPkg/TestInfrastructure/SCT/Framework/ENTS/EasDispatcher/Exec/Ea > sCmdDisp.c > index 1ff6d569..cb6f08cf 100644 > --- a/uefi- > sct/SctPkg/TestInfrastructure/SCT/Framework/ENTS/EasDispatcher/Exec/Ea > sCmdDisp.c > +++ b/uefi- > sct/SctPkg/TestInfrastructure/SCT/Framework/ENTS/EasDispatche > +++ r/Exec/EasCmdDisp.c > @@ -50,6 +50,8 @@ Abstract: >=20 > EFI_CPU_ARCH_PROTOCOL *Cpu =3D NULL; >=20 > +static EFI_TIME Epoch =3D { .Year =3D 1970, .Month =3D 1, .Day =3D 1 }; > + > // > // Local Function Definition > // > @@ -132,9 +134,11 @@ Returns: > // > // Perform EFTP operation. > // > - tRT->GetTime (&StartTime, NULL); > + if (tRT->GetTime (&StartTime, NULL) !=3D EFI_SUCCESS) > + StartTime =3D Epoch; > Status =3D EftpDispatchFileTransferComd (FileCmdType); > - tRT->GetTime (&EndTime, NULL); > + if (tRT->GetTime (&EndTime, NULL) !=3D EFI_SUCCESS) > + EndTime =3D Epoch; >=20 > if (Status =3D=3D EFI_OUT_OF_RESOURCES) { > return EFI_OUT_OF_RESOURCES; > @@ -365,9 +369,11 @@ Returns: > // > // Execute Shell Command > // > - tRT->GetTime (&StartTime, NULL); > + if (tRT->GetTime (&StartTime, NULL) !=3D EFI_SUCCESS) > + StartTime =3D Epoch; > Status =3D SctShellExecute (&mImageHandle, (gEasFT->Cmd)->ComdArg, > FALSE, NULL, NULL);; > - tRT->GetTime (&EndTime, NULL); > + if (tRT->GetTime (&EndTime, NULL) !=3D EFI_SUCCESS) > + EndTime =3D Epoch; > EFI_ENTS_DEBUG ((EFI_ENTS_D_TRACE, L"dispatch:(%s)", (gEasFT->Cmd)- > >ComdArg)); > SctPrint (L"dispatch:(%s) - %r\n", (gEasFT->Cmd)->ComdArg, Status); > if (Status =3D=3D EFI_OUT_OF_RESOURCES) { @@ -1483,9 +1489,11 @@ > Returns: > // > // Resume SCT execution by executing "sct -c" in sct passive mode. > // > - tRT->GetTime (&StartTime, NULL); > + if (tRT->GetTime (&StartTime, NULL) !=3D EFI_SUCCESS) > + StartTime =3D Epoch; > Status =3D SctShellExecute (&mImageHandle, (gEasFT->Cmd)->ComdArg, > FALSE, NULL, NULL);; > - tRT->GetTime (&EndTime, NULL); > + if (tRT->GetTime (&EndTime, NULL) !=3D EFI_SUCCESS) > + EndTime =3D Epoch; > EFI_ENTS_DEBUG ((EFI_ENTS_D_TRACE, L"dispatch:(%s)", (gEasFT->Cmd)- > >ComdArg)); > SctPrint (L"dispatch:(%s) - %r\n", (gEasFT->Cmd)->ComdArg, Status); > if (Status =3D=3D EFI_OUT_OF_RESOURCES) { > -- > 2.20.1