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 7F69A780091 for ; Thu, 23 Nov 2023 14:34:07 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=LQ+Jeo0StnK/iEd5MMtPpSPDy89kgUL6KxfrU35fbsk=; c=relaxed/simple; d=groups.io; h=ARC-Seal:ARC-Message-Signature:ARC-Authentication-Results:Received-SPF:From:To:CC:Subject:Date:Message-ID:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Transfer-Encoding:Content-Type; s=20140610; t=1700750046; v=1; b=VJ1rf5Zxdp/A9xABEGJRIRhmvEI9u6pfSb374yHHon3T1oN581ZOTjkq5Bh1CJhk1XdhRZ2w YSHxqVC+3d8bu9JZPspYjj6RXG97Nf1tlvkgKGNCl0kVM8r8Q68dNpHiJRMGhkpybHO3UjgdoMF XQprIjXit6Al4YVxvfrl/blk= X-Received: by 127.0.0.2 with SMTP id WeYuYY7687511xMXuEzaOcSd; Thu, 23 Nov 2023 06:34:06 -0800 X-Received: from NAM11-CO1-obe.outbound.protection.outlook.com (NAM11-CO1-obe.outbound.protection.outlook.com [40.107.220.41]) by mx.groups.io with SMTP id smtpd.web11.92266.1700750045547437443 for ; Thu, 23 Nov 2023 06:34:05 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lwkbolSPoNU2kcJsPWQXyihkt5RtdIcCcJYNAQySyXW3qEebB4jJh1y+6eDdXKJM54kpbTXSJxQqBBLhzTJq4NIDNP9kPce9YgCQ8LLT5BoleV5PMgShRbAD+ki+Qnk6rCv15Y0PkHRHm9T5Rp3AZkTT5Uub8lqOzmd0Zk1KuJQjy2KZybXnssUMpaOMO90SzzR3wH08wCG/4NZmPUsh1RDf9ngtMP4k9bPytvzgIK1F0xi1PIVB0xJSo2JVqz6O3IQMWTlqd9JdCy5yo8GoGghLVyAmFVHPVqTNQFQP/7MEdA9nvSqJ8woknEYCWAgJa3hfGkZ7djcfli49Pp6qXg== 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=TdTug8HNHmz5fvS+/6mjhIO8Ow0wpA7ZvDDBSrC1pFk=; b=HUpGlhQ140Bm2IRbltq9Z/AU+pZBTtO5fObOIwA1aht3U7BpfuGCz9hYTBl8zthbxy2yJ/rqBG2tf3IaBeT7lj5yVPF4w3ED7piy+BDO4JUuPzHhOG8ODa8AsfoIj4IZkPYBWiQ/MIdPAdLh1JutScGVBmreJG9v12e6lOA2Lw+VSJUpA/iuBOJxZX2WnLhGYrDxWwYmP2t1iNL2+UP6r1ILU72xqDjBgkP0VsYCj//UAd6RRoTkwssQ0UO/Ee9jGTgp4O7ivxTLqpibtF8dLuKZ9BhmZ6X1N6wPRbh/9fkpEYb/TTkBysqao6BO2/KGZwutWxIFPkcpq5xeoYTijg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.118.233) smtp.rcpttodomain=edk2.groups.io smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none (0) X-Received: from DS7PR03CA0096.namprd03.prod.outlook.com (2603:10b6:5:3b7::11) by SJ2PR12MB8873.namprd12.prod.outlook.com (2603:10b6:a03:53d::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.20; Thu, 23 Nov 2023 14:34:00 +0000 X-Received: from DS3PEPF000099D8.namprd04.prod.outlook.com (2603:10b6:5:3b7:cafe::61) by DS7PR03CA0096.outlook.office365.com (2603:10b6:5:3b7::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.20 via Frontend Transport; Thu, 23 Nov 2023 14:34:00 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.118.233) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.118.233 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.118.233; helo=mail.nvidia.com; pr=C X-Received: from mail.nvidia.com (216.228.118.233) by DS3PEPF000099D8.mail.protection.outlook.com (10.167.17.9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.12 via Frontend Transport; Thu, 23 Nov 2023 14:34:00 +0000 X-Received: from drhqmail201.nvidia.com (10.126.190.180) by mail.nvidia.com (10.127.129.6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.41; Thu, 23 Nov 2023 06:33:57 -0800 X-Received: from drhqmail201.nvidia.com (10.126.190.180) by drhqmail201.nvidia.com (10.126.190.180) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.41; Thu, 23 Nov 2023 06:33:57 -0800 X-Received: from NV-CL38DL3.nvidia.com (10.127.8.12) by mail.nvidia.com (10.126.190.180) with Microsoft SMTP Server id 15.2.986.41 via Frontend Transport; Thu, 23 Nov 2023 06:33:56 -0800 From: "Nickle Wang via groups.io" To: CC: Abner Chang , Igor Kulchytskyy , "Nick Ramirez" Subject: [edk2-devel] [edk2-redfish-client][PATCH 2/6] RedfishClientPkg/RedfishConfigLangMapDxe: fix issue and enhancement. Date: Thu, 23 Nov 2023 22:33:55 +0800 Message-ID: <20231123143355.3276-1-nicklew@nvidia.com> MIME-Version: 1.0 X-NV-OnPremToCloud: ExternallySecured X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS3PEPF000099D8:EE_|SJ2PR12MB8873:EE_ X-MS-Office365-Filtering-Correlation-Id: 739da763-b912-4657-45bd-08dbec313be7 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Message-Info: JsrVAUHyLIIpVZ+VBBQs6L3CF21JS21TcxYCjp0feahNeprXYwWABozUr4NtkX77eJQLkixr8TNSJruJs5u8ryB9aP7LtnzIjZJxY4EY0DG7u1Xx8aFe9y0V0RH35LRoZ8iZtdoyEBQ5zABs03DSfV+vYzf2iZJLbx5DPc7ZVfXf49c+CkrsOy4MhtCgcXlaFjTrh4rWmFCXG3IUv9gZum04GFeYKFuGmYkdIuYNCestYvFpDQoYKIeUVYvJoZinXuSIank/Jd9mv41lTDnXY/TEkH8JrLU2L+J4tioZYU3hxLUzKPpI+41T/ZbpKknotVU4nlUKdK4CQ8Dk1AaOQO/g9cBQpaBVi8UNRkUZqKkzA9GfVUXPoHlishwbJE9vKU89dwtkw5ORNefezBxJPL58VvY6/KdrNGOyKru07B5mokKrn0IWhmW3lFmhTRXxYmJglJmqi9SCJMN3DYBoJ7k6JPqPXuC4SQgZhDVZYIh41pl/ai19bjfO+yk1cqR4uglI8uf2bpA2QE0kKqXSmM0dBntSSPX2+MmEDabJa1OVMOWD9cF8gXV1hhjIECmuFh/69mKFVYoCQK1o6TknzTnoaboCVQpOkiyJ3KSqG6v67RwcnzLwESdEI8UntwEoOExbjS3AB8qCI73GN/id3APbWQwoxZnYwOJ6Yl3v1XS3P7QGWKE0Xu2L6HMfA4vxbbs2+ZtcmXJUr8cnPmqDMv+AWZEEvtufMhYRQR2Ti9+W/21za4o5wCPEeEXplwjZdtqbNmU9toAqFndsWwCAug== X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Nov 2023 14:34:00.4059 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 739da763-b912-4657-45bd-08dbec313be7 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.118.233];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: DS3PEPF000099D8.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB8873 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,nicklew@nvidia.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: rymcX2rxA4cSaF1y8o5WzWNix7686176AA= Content-Transfer-Encoding: quoted-printable Content-Type: text/plain X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20140610 header.b=VJ1rf5Zx; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}"); 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 -Fix typo (replace Listheader to ListHeader). -Replace "%a," to "%a:". -Add more debug message. -Fix issue of assigning ASCII character to Unicode string pointer. -Remove the exit-boot-service callback since data is saved at after-provisioning event. There is no need to save data to variable again. Signed-off-by: Nickle Wang Cc: Abner Chang Cc: Igor Kulchytskyy Cc: Nick Ramirez --- .../RedfishConfigLangMapDxe.inf | 1 - .../RedfishConfigLangMapDxe.h | 2 +- .../RedfishConfigLangMapDxe.c | 89 +++++++++---------- 3 files changed, 41 insertions(+), 51 deletions(-) diff --git a/RedfishClientPkg/RedfishConfigLangMapDxe/RedfishConfigLangMapD= xe.inf b/RedfishClientPkg/RedfishConfigLangMapDxe/RedfishConfigLangMapDxe.i= nf index 42d9daf2..02346745 100644 --- a/RedfishClientPkg/RedfishConfigLangMapDxe/RedfishConfigLangMapDxe.inf +++ b/RedfishClientPkg/RedfishConfigLangMapDxe/RedfishConfigLangMapDxe.inf @@ -41,7 +41,6 @@ gEdkIIRedfishConfigLangMapProtocolGuid ## PRODUCED ## =20 [Guids] - gEfiEventExitBootServicesGuid ## CONSUMED ## gEfiRedfishClientVariableGuid ## CONSUMED ## =20 [Depex] diff --git a/RedfishClientPkg/RedfishConfigLangMapDxe/RedfishConfigLangMapD= xe.h b/RedfishClientPkg/RedfishConfigLangMapDxe/RedfishConfigLangMapDxe.h index efa27d4d..4ac55941 100644 --- a/RedfishClientPkg/RedfishConfigLangMapDxe/RedfishConfigLangMapDxe.h +++ b/RedfishClientPkg/RedfishConfigLangMapDxe/RedfishConfigLangMapDxe.h @@ -49,7 +49,7 @@ typedef struct { // Definition of REDFISH_CONFIG_LANG_MAP_LIST // typedef struct { - LIST_ENTRY Listheader; + LIST_ENTRY ListHeader; UINTN TotalSize; UINTN Count; } REDFISH_CONFIG_LANG_MAP_LIST; diff --git a/RedfishClientPkg/RedfishConfigLangMapDxe/RedfishConfigLangMapD= xe.c b/RedfishClientPkg/RedfishConfigLangMapDxe/RedfishConfigLangMapDxe.c index 97f29549..8c930445 100644 --- a/RedfishClientPkg/RedfishConfigLangMapDxe/RedfishConfigLangMapDxe.c +++ b/RedfishClientPkg/RedfishConfigLangMapDxe/RedfishConfigLangMapDxe.c @@ -102,7 +102,7 @@ ON_ERROR: @param[in] Uri The URI string matching to this ConfigLang. @param[in] ConfigLang ConfigLang string. =20 - @retval EFI_SUCCESS config language map recourd is added. + @retval EFI_SUCCESS config language map record is added. @retval Others Fail to add config language map. =20 **/ @@ -124,7 +124,7 @@ AddConfigLangMapRecord ( return EFI_OUT_OF_RESOURCES; } =20 - InsertTailList (&List->Listheader, &NewRecord->List); + InsertTailList (&List->ListHeader, &NewRecord->List); ++List->Count; List->TotalSize +=3D NewRecord->Size; =20 @@ -137,7 +137,7 @@ AddConfigLangMapRecord ( @param[in] List Target config language map list to be removed. @param[in] Record Pointer to the instance to be deleted. =20 - @retval EFI_SUCCESS config language map recourd is removed. + @retval EFI_SUCCESS config language map record is removed. @retval Others Fail to add config language map. =20 **/ @@ -237,20 +237,20 @@ DumpConfigLangMapList ( DEBUG ((DEBUG_ERROR, "%s\n", Msg)); } =20 - if (IsListEmpty (&ConfigLangMapList->Listheader)) { + if (IsListEmpty (&ConfigLangMapList->ListHeader)) { DEBUG ((DEBUG_MANAGEABILITY, "ConfigLangMap list is empty\n")); return EFI_NOT_FOUND; } =20 DEBUG ((DEBUG_MANAGEABILITY, "Count: %d Total Size: %d\n", ConfigLangMap= List->Count, ConfigLangMapList->TotalSize)); Record =3D NULL; - List =3D GetFirstNode (&ConfigLangMapList->Listheader); - while (!IsNull (&ConfigLangMapList->Listheader, List)) { + List =3D GetFirstNode (&ConfigLangMapList->ListHeader); + while (!IsNull (&ConfigLangMapList->ListHeader, List)) { Record =3D REDFISH_CONFIG_LANG_MAP_RECORD_FROM_LIST (List); =20 DEBUG ((DEBUG_MANAGEABILITY, "ConfigLang: %s Uri: %s Size: %d\n", Reco= rd->ConfigLang, Record->Uri, Record->Size)); =20 - List =3D GetNextNode (&ConfigLangMapList->Listheader, List); + List =3D GetNextNode (&ConfigLangMapList->ListHeader, List); } =20 return EFI_SUCCESS; @@ -317,16 +317,16 @@ ReleaseConfigLangMapList ( return EFI_INVALID_PARAMETER; } =20 - if (IsListEmpty (&ConfigLangMapList->Listheader)) { + if (IsListEmpty (&ConfigLangMapList->ListHeader)) { return EFI_SUCCESS; } =20 Record =3D NULL; Next =3D NULL; - List =3D GetFirstNode (&ConfigLangMapList->Listheader); - while (!IsNull (&ConfigLangMapList->Listheader, List)) { + List =3D GetFirstNode (&ConfigLangMapList->ListHeader); + while (!IsNull (&ConfigLangMapList->ListHeader, List)) { Record =3D REDFISH_CONFIG_LANG_MAP_RECORD_FROM_LIST (List); - Next =3D GetNextNode (&ConfigLangMapList->Listheader, List); + Next =3D GetNextNode (&ConfigLangMapList->ListHeader, List); =20 DeleteConfigLangMapRecord (ConfigLangMapList, Record); =20 @@ -365,12 +365,12 @@ SaveConfigLangMapList ( return EFI_INVALID_PARAMETER; } =20 - if (IsListEmpty (&ConfigLangMapList->Listheader)) { + if (IsListEmpty (&ConfigLangMapList->ListHeader)) { return EFI_SUCCESS; } =20 // - // Caculate the total size we need to keep ConfigLangMap list. + // Calculate the total size we need to keep ConfigLangMap list. // VarSize =3D ConfigLangMapList->TotalSize + sizeof (CHAR16); // terminato= r character VarData =3D AllocateZeroPool (VarSize); @@ -380,29 +380,29 @@ SaveConfigLangMapList ( =20 Seeker =3D (EFI_STRING)VarData; Record =3D NULL; - List =3D GetFirstNode (&ConfigLangMapList->Listheader); - while (!IsNull (&ConfigLangMapList->Listheader, List)) { + List =3D GetFirstNode (&ConfigLangMapList->ListHeader); + while (!IsNull (&ConfigLangMapList->ListHeader, List)) { Record =3D REDFISH_CONFIG_LANG_MAP_RECORD_FROM_LIST (List); =20 StringSize =3D StrSize (Record->Uri); CopyMem (Seeker, Record->Uri, StringSize); =20 Seeker +=3D (StringSize / sizeof (CHAR16) - 1); - *Seeker =3D '|'; + *Seeker =3D L'|'; ++Seeker; =20 StringSize =3D StrSize (Record->ConfigLang); CopyMem (Seeker, Record->ConfigLang, StringSize); =20 Seeker +=3D (StringSize / sizeof (CHAR16) - 1); - *Seeker =3D '\n'; + *Seeker =3D L'\n'; =20 ++Seeker; =20 - List =3D GetNextNode (&ConfigLangMapList->Listheader, List); + List =3D GetNextNode (&ConfigLangMapList->ListHeader, List); } =20 - *Seeker =3D '\0'; + *Seeker =3D L'\0'; =20 #if CONFIG_LANG_MAP_DEBUG_ENABLED DumpRawBuffer (VarData, VarSize); @@ -481,7 +481,7 @@ InitialConfigLangMapList ( // Seeker =3D StrStr (UriPointer, L"|"); 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; } @@ -494,7 +494,7 @@ InitialConfigLangMapList ( // Seeker =3D StrStr (ConfigLangPointer, L"\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; } @@ -548,11 +548,13 @@ RedfishConfigLangMapGet ( return EFI_INVALID_PARAMETER; } =20 + DEBUG ((DEBUG_MANAGEABILITY, "%a: type: 0x%x %s\n", __func__, QueryStrin= gType, QueryString)); + Private =3D REDFISH_CONFIG_LANG_MAP_PRIVATE_FROM_THIS (This); =20 *ResultString =3D NULL; =20 - Target =3D FindConfigLangMapRecord (&Private->ConfigLangList.Listheader,= QueryString, (QueryStringType =3D=3D RedfishGetTypeUri)); + Target =3D FindConfigLangMapRecord (&Private->ConfigLangList.ListHeader,= QueryString, (QueryStringType =3D=3D RedfishGetTypeUri)); if (Target =3D=3D NULL) { #if CONFIG_LANG_MAP_DEBUG_ENABLED DumpConfigLangMapList (&Private->ConfigLangList, L"EFI_NOT_FOUND"); @@ -597,10 +599,12 @@ RedfishConfigLangMapSet ( return EFI_INVALID_PARAMETER; } =20 + DEBUG ((DEBUG_MANAGEABILITY, "%a: %s -> %s\n", __func__, ConfigLang, (Ur= i =3D=3D NULL ? L"NULL" : Uri))); + Private =3D REDFISH_CONFIG_LANG_MAP_PRIVATE_FROM_THIS (This); =20 Status =3D EFI_NOT_FOUND; - Target =3D FindConfigLangMapRecord (&Private->ConfigLangList.Listheader,= ConfigLang, FALSE); + Target =3D FindConfigLangMapRecord (&Private->ConfigLangList.ListHeader,= ConfigLang, FALSE); if (Target !=3D NULL) { // // Remove old one and create new one. @@ -609,7 +613,7 @@ RedfishConfigLangMapSet ( } =20 // - // When Uri is NULL, it means that we want to remov this record. + // When Uri is NULL, it means that we want to remove this record. // if (Uri =3D=3D NULL) { return Status; @@ -644,14 +648,16 @@ RedfishConfigLangMapFlush ( =20 Status =3D SaveConfigLangMapList (&Private->ConfigLangList, Private->Var= iableName); if (EFI_ERROR (Status)) { - DEBUG ((DEBUG_ERROR, "%a, save ConfigLangMap list to variable: %s fail= ed: %r\n", __func__, Private->VariableName, Status)); + DEBUG ((DEBUG_ERROR, "%a: save ConfigLangMap list to variable: %s fail= ed: %r\n", __func__, Private->VariableName, Status)); } =20 + DEBUG ((DEBUG_MANAGEABILITY, "%a: save Config Language map to variable: = %s\n", __func__, Private->VariableName)); + return Status; } =20 /** - Callback function executed when the ExitBootService event group is signa= led. + Callback function executed when the AfterProvisioning event group is sig= naled. =20 @param[in] Event Event whose notification function is being invoked= . @param[out] Context Pointer to the Context buffer @@ -659,13 +665,13 @@ RedfishConfigLangMapFlush ( **/ VOID EFIAPI -RedfishConfigLangMapOnExitBootService ( +RedfishConfigLangMapOnAfterProvisioning ( IN EFI_EVENT Event, OUT VOID *Context ) { // - // Memory is about to be released. Keep list into variable. + // Redfish provisioning is finished. Keep list into variable. // RedfishConfigLangMapFlush (&mRedfishConfigLangMapPrivate->Protocol); } @@ -694,7 +700,7 @@ RedfishConfigLangMapDriverUnload ( (VOID *)&mRedfishConfigLangMapPrivate->Protocol ); if (EFI_ERROR (Status)) { - DEBUG ((DEBUG_ERROR, "%a, can not uninstall gEdkIIRedfishConfigLangM= apProtocolGuid: %r\n", __func__, Status)); + DEBUG ((DEBUG_ERROR, "%a: can not uninstall gEdkIIRedfishConfigLangM= apProtocolGuid: %r\n", __func__, Status)); ASSERT (FALSE); } =20 @@ -753,7 +759,7 @@ RedfishConfigLangMapDriverEntryPoint ( return EFI_OUT_OF_RESOURCES; } =20 - InitializeListHead (&mRedfishConfigLangMapPrivate->ConfigLangList.Listhe= ader); + InitializeListHead (&mRedfishConfigLangMapPrivate->ConfigLangList.ListHe= ader); mRedfishConfigLangMapPrivate->VariableName =3D AllocateCopyPool (StrSize= (CONFIG_LANG_MAP_VARIABLE_NAME), CONFIG_LANG_MAP_VARIABLE_NAME); if (mRedfishConfigLangMapPrivate->VariableName =3D=3D NULL) { Status =3D EFI_OUT_OF_RESOURCES; @@ -770,40 +776,25 @@ RedfishConfigLangMapDriverEntryPoint ( (VOID *)&mRedfishConfigLangMapPrivate->Protocol ); if (EFI_ERROR (Status)) { - DEBUG ((DEBUG_ERROR, "%a, can not install gEdkIIRedfishConfigLangMapPr= otocolGuid: %r\n", __func__, Status)); + DEBUG ((DEBUG_ERROR, "%a: can not install gEdkIIRedfishConfigLangMapPr= otocolGuid: %r\n", __func__, Status)); ASSERT (FALSE); goto ON_ERROR; } =20 - // - // Create Exit Boot Service event. - // - Status =3D gBS->CreateEventEx ( - EVT_NOTIFY_SIGNAL, - TPL_CALLBACK, - RedfishConfigLangMapOnExitBootService, - NULL, - &gEfiEventExitBootServicesGuid, - &mRedfishConfigLangMapPrivate->ExitBootEvent - ); - if (EFI_ERROR (Status)) { - DEBUG ((DEBUG_ERROR, "%a: Fail to register Exit Boot Service event.", = __func__)); - goto ON_ERROR; - } - // // Read existing record from variable. // + DEBUG ((DEBUG_MANAGEABILITY, "%a: Initial ConfigLangMap List from variab= le: %s\n", __func__, mRedfishConfigLangMapPrivate->VariableName)); Status =3D InitialConfigLangMapList (&mRedfishConfigLangMapPrivate->Conf= igLangList, mRedfishConfigLangMapPrivate->VariableName); if (EFI_ERROR (Status)) { - DEBUG ((DEBUG_MANAGEABILITY, "%a, Initial ConfigLangMap List: %r\n", _= _func__, Status)); + DEBUG ((DEBUG_MANAGEABILITY, "%a: Initial ConfigLangMap List: %r\n", _= _func__, Status)); } =20 // // Register after provisioning event // Status =3D CreateAfterProvisioningEvent ( - RedfishConfigLangMapOnExitBootService, + RedfishConfigLangMapOnAfterProvisioning, NULL, &mRedfishConfigLangMapPrivate->ProvisionEvent ); --=20 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 (#111672): https://edk2.groups.io/g/devel/message/111672 Mute This Topic: https://groups.io/mt/102767542/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-