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 BF74394106B for ; Tue, 28 Nov 2023 03:13:12 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=BlAk79JfwX86esKv3KIq6L7ankF11jmQmZVExK31Ho8=; c=relaxed/simple; d=groups.io; h=ARC-Seal:ARC-Message-Signature:ARC-Authentication-Results:From:To:CC:Subject:Thread-Topic:Thread-Index:Date:Message-ID:References:In-Reply-To:Accept-Language:msip_labels:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Language:Content-Type:Content-Transfer-Encoding; s=20140610; t=1701141191; v=1; b=l7pbK3tqDJUacXQY6k4Wbil4i6l1tSwEWE8LgrwSZrNepySxadM4TaTifF1QMRHEj9xEVKAW wjvROIQBI0JsBnS5O3tLcB7QiD0iMRTYR8/HXLgLG5bInF7MQklzeWnqmFKHi9/GL0A6nbEZ7yL yD7oi8J5S7geKW6r4p65whLA= X-Received: by 127.0.0.2 with SMTP id cdEfYY7687511xvDRPwwghJl; Mon, 27 Nov 2023 19:13:11 -0800 X-Received: from NAM11-BN8-obe.outbound.protection.outlook.com (NAM11-BN8-obe.outbound.protection.outlook.com [40.107.236.40]) by mx.groups.io with SMTP id smtpd.web11.24230.1701141190534463367 for ; Mon, 27 Nov 2023 19:13:10 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RuP02v4eKV0FGBtqtdU67EjlJr2dXOjvvBOu+4BdsTPBPYZ7Z61qz/zpdfKZ/jrpnoZ1ruMuCJKC4rlGmLPVDqV/f3wg7Kh9tfB3rW947xlXH/0A6ZSbhUbPbrgOrb+7tPYQYYOl8vpWnpy3FMwrkbKemXG47qRnbf5LuE1VaaU3na7r10HeCGVpi1fr+G9OZOG/jMchR5oTPGSbfdr/JE8/hXDXEpaLQehYjcmmJE9zUXavh18ASWCqS78RXRylOzHiQzPHpZRjunJqrQvKUEsp/X+kK4/2uybGA6br5loXDl9lc1MdZWSMV79aWjozwFYjUCR9ycUG2mzG1oaNAA== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=ldfxnYjmDOTT7HXi1RBxf5yF0+2SBGXrsdqBdg56Omc=; b=YSMXDXhNayZwHVYBXRxJ684TyXywRfUYVc9ZT/T2aZQYOaR4bz12iaybfTwwFIM5FZiZjT4Nwo4nhyPxZir73Au/Lj1EM244g2Ft9kHDrBIZBdZT27WMPTrODo62YQCGzAZDyec6ntoEE5Rffi9KAOW+bGccm9fbWl8mGoNMDRdc/+LczmkIB21PzM6VP49xy0ao7armHECAmDFjIEyWKYoPggs4kOxYkXXDHTZPLKSOZzAj5he0RByC8BCXWEDQKYuVHqSvJTHrXTXGXlUaQMXSP1DnepnVzppda7U3RC+qV37k4/sNZCSF0cWp+y10ysLrqnFD/ZF7oByWT89FDA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none X-Received: from MN2PR12MB3966.namprd12.prod.outlook.com (2603:10b6:208:165::18) by DM6PR12MB4122.namprd12.prod.outlook.com (2603:10b6:5:214::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.29; Tue, 28 Nov 2023 03:13:06 +0000 X-Received: from MN2PR12MB3966.namprd12.prod.outlook.com ([fe80::91d9:e679:32a3:dd05]) by MN2PR12MB3966.namprd12.prod.outlook.com ([fe80::91d9:e679:32a3:dd05%5]) with mapi id 15.20.7025.022; Tue, 28 Nov 2023 03:13:06 +0000 From: "Chang, Abner via groups.io" To: Nickle Wang , "devel@edk2.groups.io" CC: Igor Kulchytskyy , Nick Ramirez Subject: Re: [edk2-devel] [edk2-redfish-client][PATCH 1/6] RedfishClientPkg/RedfishETagDxe: fix issue and enhancement. Thread-Topic: [edk2-redfish-client][PATCH 1/6] RedfishClientPkg/RedfishETagDxe: fix issue and enhancement. Thread-Index: AQHaHhodITELMbxDeEafXfKuBnYebLCPFIgQ Date: Tue, 28 Nov 2023 03:13:05 +0000 Message-ID: References: <20231123143347.3164-1-nicklew@nvidia.com> In-Reply-To: <20231123143347.3164-1-nicklew@nvidia.com> Accept-Language: en-US, zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_ActionId=7731cb5f-ed77-43c7-ae29-06f58e9412e0;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_ContentBits=0;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Enabled=true;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Method=Standard;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Name=General;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SetDate=2023-11-28T03:09:58Z;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MN2PR12MB3966:EE_|DM6PR12MB4122:EE_ x-ms-office365-filtering-correlation-id: 2b7c57c7-363f-4c9c-6eba-08dbefbff0a7 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam-message-info: t2thiZNFrFq6gcN01F90hIyhEmEwEizzy6C4Gg43mJWmM96j66n2mfJLRFxcABpioCyRKhrYix64cvaOevJPgM+5ukVix+lFaxzpYJyIll9gas+FRGkDKjci2hwjsbMYHx6MfrlFaMyPdz625eaJATbomXHMcGmJpcCJ6Q0pjs0w0nbkhON/BLK8aredfxLFMl5iLmhfQ0giPKS/K0rcsewrD8QCy7xRdBDUV55a0WlZ8uZdcdm9VFZhRP5SMSnI2TKFyCN0JWbwUuc6QDrW2kAuCAh1hPJSKh2uxbP9qzw5gOJ28iql110JS7Q3BKoRXiP3OKJZVJF+EzP6DQNYGos4QN7wgb+0qUFzHpMHngviMq1SzFBMMOqeyQi1zqGB+8txScvjlwbdCmZuBn8lqLH3tt+TC1qKRVn8aLN/1LVYLRQ1f0CbhHawc9Pga8ExWco6e7+Sgdko44fP5ZAs2lbQsCV5XHXKCkQ3ici7kTXkgZAolPfmo3bTvZDzxdZOprn4jtDbzofC6fjjlERxeqSJBX7hrjs/C6r/JdgzdgeQHNOCzajRJw7UoFHlkHGL6cqLm7OZb4++0tQ9ZZlrcRdgHoEaR33H1Hvp1DrBSACEnZ3g2TR+e4wYTpdgd93fuIBR46MXEVRIcyLgu21FZaOStYGviCLqOnQVFDJGAIo= x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?qOanDl6ye/t70x5vJ5L7ce1mflp4dnK1cvIzc6ScbiuvgebM7mNKxDhbIrMo?= =?us-ascii?Q?KX2GpDd8zuwPFkEwPTPQPezwUVcRrW2YrVYpPN74dQKodt6/0hJehPHonGbI?= =?us-ascii?Q?IAvRIvxC3U+/YlZ9d6q2v8VXbK+oSbR7s1MRt/asN3GCiBJGWr/mepR18Uj+?= =?us-ascii?Q?xiMYwEl3EtJelcYMHnLJ/QKm7EEaravfrzz9djiAuz+Ae8L1w9Oq4dZRqiME?= =?us-ascii?Q?jKH36KakxZY672EI1hCagyXvmlGveQngVAYDpOrTP3Y9Kma81JVNh76qxJEf?= =?us-ascii?Q?gzZqUkJcWRVjT/XIgKxiOWRtdAcr52p14yinpLeWk6P77x44BhbN9Qx/3E+O?= =?us-ascii?Q?y4l2OlOptsNjTkkSFFcgT9tVsAMYCXvLI6RBrZ1S+I45O0Tsz/Bun1xAP5nb?= =?us-ascii?Q?Ywz17/EW2sEVxdLEN9urFdCsAzI9ZElySYutu75M0NQwLOlDAeyZ+asiA5uk?= =?us-ascii?Q?I7+rKd2YMfGDw0ZVq16W06PNVMfgEFIOnCKiJ6w2+foV5EBwugKgKTotOng/?= =?us-ascii?Q?UGgTWMJNZeyJ3nRU2qIgGtPFQSPue4lzrftXQFFbt1d52xza+m8rPgCot7hU?= =?us-ascii?Q?Q50ZQ8+vbz+Ryv1L6JgU8wVMSsJdrJTSGGaR4g3e3cjck4L7D6EBIp1B+mWX?= =?us-ascii?Q?RRDR/xxSRWPMORCvjbnCdoe6214rmaCHbj3/aeU1VNsFxgV1cQB1MV3bj10/?= =?us-ascii?Q?DLgDF+GsL4LqcN0eUBab3B/Wyf8JeAV3JTunzF8w/I4JJGZnDYHfjxGwBfcb?= =?us-ascii?Q?o2UHflhduHz6LBQgBdEzM8GwkP7G3Gs0YncFIZlmK5/76uUQWQIiiv9HQeuC?= =?us-ascii?Q?LPQPkYRe9TVXgpXf3DV7Oxh4FllGEPZaEKQ0HFKfBYZk0O3H/914mIrztxef?= =?us-ascii?Q?DVmWkGUDOSw7c3L3RKCcUCpmDqaC1dWYdEq9CStjwqgnTL/Taoi7xgBhjwhn?= =?us-ascii?Q?8On/9J+wiMkBTEOYCM2WsxCPneFPf5VK7NKyMkuwpYUC1avelzgLTXpHnQli?= =?us-ascii?Q?AWznsjkA90bScGRFR4+9pEveWkn4NouaR252fxpModThq+RGs7iXAbBc2twX?= =?us-ascii?Q?JaehS9ZEsZb9Vt/ScF8RzPbGf3W0xJcke81hJgWJ/2BiRm1hbnNLUuDcsczL?= =?us-ascii?Q?2eJoo8xvyu4nRr8QUSLmDC6OvNlbpiIsgx/EM9fqhlqW10rk9oF6GhGAAXH6?= =?us-ascii?Q?5m+jfQobSID9tHkrWgWLycYYoh/BVKuvS4bf5elMC4QY8GNauiaIeAyORd2Z?= =?us-ascii?Q?hJ6mdWrG+UCfAxA7R6zwiUWD3k8ZPVSvGGcZlj7RkwFg9ox+hECKaGX94a2t?= =?us-ascii?Q?6TP/R//jy/SsoYPlj1VPIeYi3Yz0yNs0mwJs9lPJAkAaQwYx4Qox1Toms34U?= =?us-ascii?Q?CRRy2z8I2UozRBRuWVokFZwbtGwd2pvbBeUFCxlyJTjvCmTPe6Zwm9Y9qLfr?= =?us-ascii?Q?OAWhdvd94273OphimVLgJDGlNAFq3oCe5hT0hNajb6UOtgAR5H9JPEZiEp6i?= =?us-ascii?Q?WPGMsKqeQwUxdic//o4YoMHravNvQLe2pksdcqDR5nvhgBNGG0PMk6VuRQdb?= =?us-ascii?Q?i7tnhBbTjqVxvF2Bud8=3D?= MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN2PR12MB3966.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2b7c57c7-363f-4c9c-6eba-08dbefbff0a7 X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Nov 2023 03:13:05.8312 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 1ri8VLppwOA2VuoxzIUehirgBqM0mvl7SzyGT1U1DztfnWQiKjAX8sXePv6lxY4uzzCnYUr16MZVFWNwazOGMw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4122 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,abner.chang@amd.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: bs9rZ44U2nXofAiUxzMdzBdix7686176AA= Content-Language: en-US Content-Type: text/plain; charset="us-ascii" 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=l7pbK3tq; dmarc=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 [AMD Official Use Only - General] Hi Nickle, The code change generally looks fine. However, we can improve the debug cod= e enablement in the source file. I had created a BZ ticket (Bug #4606 ) for= this enhancement and assigned it to myself. For this change, Reviewed-by: Abner Chang > -----Original Message----- > From: Nickle Wang > Sent: Thursday, November 23, 2023 10:34 PM > To: devel@edk2.groups.io > Cc: Chang, Abner ; Igor Kulchytskyy > ; Nick Ramirez > Subject: [edk2-redfish-client][PATCH 1/6] RedfishClientPkg/RedfishETagDxe= : > fix issue and enhancement. > > Caution: This message originated from an External Source. Use proper caut= ion > when opening attachments, clicking links, or responding. > > > -Fix typo (replace Listheader to ListHeader). > -Replace "%a," to "%a:". > -Add more debug message. > -Remove the exit-boot-service event and use after-provisioning > event to save ETag data. Variable may not be writable during > exit-boot-service callback. > > Signed-off-by: Nickle Wang > Cc: Abner Chang > Cc: Igor Kulchytskyy > Cc: Nick Ramirez > --- > .../RedfishETagDxe/RedfishETagDxe.inf | 5 +- > .../RedfishETagDxe/RedfishETagDxe.h | 4 +- > .../RedfishETagDxe/RedfishETagDxe.c | 84 ++++++++++--------- > 3 files changed, 50 insertions(+), 43 deletions(-) > > diff --git a/RedfishClientPkg/RedfishETagDxe/RedfishETagDxe.inf > b/RedfishClientPkg/RedfishETagDxe/RedfishETagDxe.inf > index 4aecdb41..3626f775 100644 > --- a/RedfishClientPkg/RedfishETagDxe/RedfishETagDxe.inf > +++ b/RedfishClientPkg/RedfishETagDxe/RedfishETagDxe.inf > @@ -1,7 +1,7 @@ > ## @file > # > # (C) Copyright 2021 Hewlett Packard Enterprise Development LP
> -# Copyright (c) 2022, NVIDIA CORPORATION & AFFILIATES. All rights > reserved. > +# Copyright (c) 2022-2023, NVIDIA CORPORATION & AFFILIATES. All rights > reserved. > # > # SPDX-License-Identifier: BSD-2-Clause-Patent > # > @@ -35,6 +35,7 @@ > UefiBootServicesTableLib > UefiRuntimeServicesTableLib > UefiDriverEntryPoint > + RedfishEventLib > > [Protocols] > gEdkIIRedfishETagProtocolGuid ## PRODUCED ## > @@ -44,4 +45,4 @@ > gEfiRedfishClientVariableGuid ## CONSUMED ## > > [Depex] > - TRUE > + gEfiVariableArchProtocolGuid > diff --git a/RedfishClientPkg/RedfishETagDxe/RedfishETagDxe.h > b/RedfishClientPkg/RedfishETagDxe/RedfishETagDxe.h > index 3542f289..c8302830 100644 > --- a/RedfishClientPkg/RedfishETagDxe/RedfishETagDxe.h > +++ b/RedfishClientPkg/RedfishETagDxe/RedfishETagDxe.h > @@ -2,6 +2,7 @@ > Common header file for RedfishETagDxe driver. > > (C) Copyright 2021-2022 Hewlett Packard Enterprise Development LP
> + Copyright (c) 2023, NVIDIA CORPORATION & AFFILIATES. All rights > reserved. > > SPDX-License-Identifier: BSD-2-Clause-Patent > > @@ -25,6 +26,7 @@ > #include > #include > #include > +#include > > #include > > @@ -49,7 +51,7 @@ typedef struct { > // Definition of REDFISH_ETAG_LIST > // > typedef struct { > - LIST_ENTRY Listheader; > + LIST_ENTRY ListHeader; > UINTN TotalSize; > UINTN Count; > } REDFISH_ETAG_LIST; > diff --git a/RedfishClientPkg/RedfishETagDxe/RedfishETagDxe.c > b/RedfishClientPkg/RedfishETagDxe/RedfishETagDxe.c > index f731d39d..f303604a 100644 > --- a/RedfishClientPkg/RedfishETagDxe/RedfishETagDxe.c > +++ b/RedfishClientPkg/RedfishETagDxe/RedfishETagDxe.c > @@ -124,7 +124,7 @@ AddETagRecord ( > return EFI_OUT_OF_RESOURCES; > } > > - InsertTailList (&List->Listheader, &NewRecord->List); > + InsertTailList (&List->ListHeader, &NewRecord->List); > ++List->Count; > List->TotalSize +=3D NewRecord->Size; > > @@ -225,20 +225,20 @@ DumpETagList ( > DEBUG ((DEBUG_ERROR, "%s\n", Msg)); > } > > - if (IsListEmpty (&ETagList->Listheader)) { > + if (IsListEmpty (&ETagList->ListHeader)) { > DEBUG ((DEBUG_MANAGEABILITY, "ETag list is empty\n")); > return EFI_NOT_FOUND; > } > > DEBUG ((DEBUG_MANAGEABILITY, "Count: %d Total Size: %d\n", ETagList- > >Count, ETagList->TotalSize)); > Record =3D NULL; > - List =3D GetFirstNode (&ETagList->Listheader); > - while (!IsNull (&ETagList->Listheader, List)) { > + List =3D GetFirstNode (&ETagList->ListHeader); > + while (!IsNull (&ETagList->ListHeader, List)) { > Record =3D REDFISH_ETAG_RECORD_FROM_LIST (List); > > DEBUG ((DEBUG_MANAGEABILITY, "ETag: %a Uri: %a Size: %d\n", Record- > >ETag, Record->Uri, Record->Size)); > > - List =3D GetNextNode (&ETagList->Listheader, List); > + List =3D GetNextNode (&ETagList->ListHeader, List); > } > > return EFI_SUCCESS; > @@ -304,16 +304,16 @@ ReleaseETagList ( > return EFI_INVALID_PARAMETER; > } > > - if (IsListEmpty (&ETagList->Listheader)) { > + if (IsListEmpty (&ETagList->ListHeader)) { > return EFI_SUCCESS; > } > > Record =3D NULL; > Next =3D NULL; > - List =3D GetFirstNode (&ETagList->Listheader); > - while (!IsNull (&ETagList->Listheader, List)) { > + List =3D GetFirstNode (&ETagList->ListHeader); > + while (!IsNull (&ETagList->ListHeader, List)) { > Record =3D REDFISH_ETAG_RECORD_FROM_LIST (List); > - Next =3D GetNextNode (&ETagList->Listheader, List); > + Next =3D GetNextNode (&ETagList->ListHeader, List); > > DeleteETagRecord (ETagList, Record); > > @@ -352,14 +352,14 @@ SaveETagList ( > return EFI_INVALID_PARAMETER; > } > > - if (IsListEmpty (&ETagList->Listheader)) { > + if (IsListEmpty (&ETagList->ListHeader)) { > return EFI_SUCCESS; > } > > // > // Calculate the total size we need to keep ETag list. > // > - VarSize =3D ETagList->TotalSize + 1; // terminator character > + VarSize =3D ETagList->TotalSize + sizeof (CHAR8); // terminator charac= ter > VarData =3D AllocateZeroPool (VarSize); > if (VarData =3D=3D NULL) { > return EFI_OUT_OF_RESOURCES; > @@ -367,8 +367,8 @@ SaveETagList ( > > Seeker =3D VarData; > Record =3D NULL; > - List =3D GetFirstNode (&ETagList->Listheader); > - while (!IsNull (&ETagList->Listheader, List)) { > + List =3D GetFirstNode (&ETagList->ListHeader); > + while (!IsNull (&ETagList->ListHeader, List)) { > Record =3D REDFISH_ETAG_RECORD_FROM_LIST (List); > > StrSize =3D AsciiStrSize (Record->Uri); > @@ -386,7 +386,7 @@ SaveETagList ( > > ++Seeker; > > - List =3D GetNextNode (&ETagList->Listheader, List); > + List =3D GetNextNode (&ETagList->ListHeader, List); > } > > *Seeker =3D '\0'; > @@ -468,7 +468,7 @@ InitialETagList ( > // > Seeker =3D AsciiStrStr (UriPointer, "|"); > if (Seeker =3D=3D NULL) { > - DEBUG ((DEBUG_ERROR, "%a, data corrupted\n", __func__)); > + DEBUG ((DEBUG_ERROR, "%a: data corrupted\n", __func__)); > Status =3D EFI_DEVICE_ERROR; > goto ON_ERROR; > } > @@ -481,7 +481,7 @@ InitialETagList ( > // > Seeker =3D AsciiStrStr (ETagPointer, "\n"); > if (Seeker =3D=3D NULL) { > - DEBUG ((DEBUG_ERROR, "%a, data corrupted\n", __func__)); > + DEBUG ((DEBUG_ERROR, "%a: data corrupted\n", __func__)); > Status =3D EFI_DEVICE_ERROR; > goto ON_ERROR; > } > @@ -532,11 +532,13 @@ RedfishETagGet ( > return EFI_INVALID_PARAMETER; > } > > + DEBUG ((DEBUG_MANAGEABILITY, "%a: %a\n", __func__, Uri)); > + > Private =3D REDFISH_ETAG_PRIVATE_FROM_THIS (This); > > *ETag =3D NULL; > > - Target =3D FindETagRecord (&Private->ETagList.Listheader, Uri); > + Target =3D FindETagRecord (&Private->ETagList.ListHeader, Uri); > if (Target =3D=3D NULL) { > return EFI_NOT_FOUND; > } > @@ -551,7 +553,8 @@ RedfishETagGet ( > > @param[in] This Pointer to EDKII_REDFISH_ETAG_PROTOCO= L > instance. > @param[in] Uri The target Uri which related to ETag. > - @param[in] ETag The ETag to add. If ETag is NULL, the= record of > corresponding URI will be removed. > + @param[in] ETag The ETag to add. If ETag is NULL, the= record of > + corresponding URI will be removed. > > @retval EFI_SUCCESS This handler has been stoped successf= ully. > @retval Others Some error happened. > @@ -573,10 +576,12 @@ RedfishETagSet ( > return EFI_INVALID_PARAMETER; > } > > + DEBUG ((DEBUG_MANAGEABILITY, "%a: %a -> %a\n", __func__, Uri, (ETag > =3D=3D NULL ? "NULL" : ETag))); > + > Private =3D REDFISH_ETAG_PRIVATE_FROM_THIS (This); > > Status =3D EFI_NOT_FOUND; > - Target =3D FindETagRecord (&Private->ETagList.Listheader, Uri); > + Target =3D FindETagRecord (&Private->ETagList.ListHeader, Uri); > if (Target !=3D NULL) { > // > // Remove old one and create new one. > @@ -620,14 +625,16 @@ RedfishETagFlush ( > > Status =3D SaveETagList (&Private->ETagList, Private->VariableName); > if (EFI_ERROR (Status)) { > - DEBUG ((DEBUG_ERROR, "%a, save ETag list to variable: %s failed: %r\= n", > __func__, Private->VariableName, Status)); > + DEBUG ((DEBUG_ERROR, "%a: save ETag list to variable: %s failed: %r\= n", > __func__, Private->VariableName, Status)); > } > > + DEBUG ((DEBUG_MANAGEABILITY, "%a: save ETag list to variable: %s\n", > __func__, Private->VariableName)); > + > return Status; > } > > /** > - Callback function executed when the ExitBootService event group is sig= naled. > + Callback function executed when the AfterProvisioning event group is > signaled. > > @param[in] Event Event whose notification function is being invok= ed. > @param[out] Context Pointer to the Context buffer > @@ -635,13 +642,13 @@ RedfishETagFlush ( > **/ > VOID > EFIAPI > -RedfishETagOnExitBootService ( > +RedfishETagOnRedfishAfterProvisioning ( > IN EFI_EVENT Event, > OUT VOID *Context > ) > { > // > - // Memory is about to be released. Keep list into variable. > + // Redfish provisioning is finished. Keep ETag into variable. > // > RedfishETagFlush (&mRedfishETagPrivate->Protocol); > } > @@ -670,7 +677,7 @@ RedfishETagDriverUnload ( > (VOID *)&mRedfishETagPrivate->Protocol > ); > if (EFI_ERROR (Status)) { > - DEBUG ((DEBUG_ERROR, "%a, can not uninstall > gEdkIIRedfishETagProtocolGuid: %r\n", __func__, Status)); > + DEBUG ((DEBUG_ERROR, "%a: can not uninstall > gEdkIIRedfishETagProtocolGuid: %r\n", __func__, Status)); > ASSERT (FALSE); > } > > @@ -725,7 +732,7 @@ RedfishETagDriverEntryPoint ( > return EFI_OUT_OF_RESOURCES; > } > > - InitializeListHead (&mRedfishETagPrivate->ETagList.Listheader); > + InitializeListHead (&mRedfishETagPrivate->ETagList.ListHeader); > mRedfishETagPrivate->VariableName =3D AllocateCopyPool (StrSize > (ETAG_VARIABLE_NAME), ETAG_VARIABLE_NAME); > if (mRedfishETagPrivate->VariableName =3D=3D NULL) { > Status =3D EFI_OUT_OF_RESOURCES; > @@ -742,33 +749,30 @@ RedfishETagDriverEntryPoint ( > (VOID *)&mRedfishETagPrivate->Protocol > ); > if (EFI_ERROR (Status)) { > - DEBUG ((DEBUG_ERROR, "%a, can not install > gEdkIIRedfishETagProtocolGuid: %r\n", __func__, Status)); > + DEBUG ((DEBUG_ERROR, "%a: can not install > gEdkIIRedfishETagProtocolGuid: %r\n", __func__, Status)); > ASSERT (FALSE); > goto ON_ERROR; > } > > // > - // Create Exit Boot Service event. > + // Read existing record from variable. > // > - Status =3D gBS->CreateEventEx ( > - EVT_NOTIFY_SIGNAL, > - TPL_CALLBACK, > - RedfishETagOnExitBootService, > - NULL, > - &gEfiEventExitBootServicesGuid, > - &mRedfishETagPrivate->Event > - ); > + DEBUG ((DEBUG_MANAGEABILITY, "%a: Initial ETag List from variable: > %s\n", __func__, mRedfishETagPrivate->VariableName)); > + Status =3D InitialETagList (&mRedfishETagPrivate->ETagList, > mRedfishETagPrivate->VariableName); > if (EFI_ERROR (Status)) { > - DEBUG ((DEBUG_ERROR, "%a: Fail to register Exit Boot Service event."= , > __func__)); > - goto ON_ERROR; > + DEBUG ((DEBUG_MANAGEABILITY, "%a: Initial ETag List: %r\n", __func__= , > Status)); > } > > // > - // Read existing record from variable. > + // Register after provisioning event > // > - Status =3D InitialETagList (&mRedfishETagPrivate->ETagList, > mRedfishETagPrivate->VariableName); > + Status =3D CreateAfterProvisioningEvent ( > + RedfishETagOnRedfishAfterProvisioning, > + NULL, > + &mRedfishETagPrivate->Event > + ); > if (EFI_ERROR (Status)) { > - DEBUG ((DEBUG_MANAGEABILITY, "%a, Initial ETag List: %r\n", __func__= , > Status)); > + DEBUG ((DEBUG_ERROR, "%a: failed to register after-provisioning even= t: > %r\n", __func__, Status)); > } > > return EFI_SUCCESS; > -- > 2.17.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#111781): https://edk2.groups.io/g/devel/message/111781 Mute This Topic: https://groups.io/mt/102767541/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-