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 40EAD7803CE for ; Tue, 24 Oct 2023 01:49:02 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=DtOewQE602ra5aLG1qkAWQJJNfvpyl4JlkAOgAW6IbY=; 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=1698112141; v=1; b=PKacH7oCXVPYp38/8aWJHpFOtMQqBXX+VKWXkg0DUyF1e0+jxcAWXxQOH8lVIA2gLHtCm0fQ 0rg+tAygvZfUiCWeB8wO9iXsLLT7OR+SUWm1J44c31C+KG0I3DWJ5Do5GnKxJcWYDAyCybyGv8B H3+EfIsJI0Tzvhx8l/d2ywXM= X-Received: by 127.0.0.2 with SMTP id h5kFYY7687511xkFPlGrdHjF; Mon, 23 Oct 2023 18:49:01 -0700 X-Received: from NAM10-BN7-obe.outbound.protection.outlook.com (NAM10-BN7-obe.outbound.protection.outlook.com [40.107.92.55]) by mx.groups.io with SMTP id smtpd.web11.9050.1698112140693558166 for ; Mon, 23 Oct 2023 18:49:01 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eAUTdsIimJYcuQvshmoaFAxj+3QjDcoK4YH0aqQfUysKH+2ymXcHA4uK24eZMWQIdwkgPuX4ky8tbfA5OKLbN9M/uQ7FmBVnChtAVivN3HCmhRUr6Kp/JMWiJNd94vdgV42/ZuNrYOjjBgoUmo6s9sN2WSgzVl3hGnDbAxGdDVEC0EgyEZjfTzpOMk5WwFJK4H7DbVQjq/ug2WX1fiku4DbdNDh+Fq+a9kEFkJTFX78UzlTH6X/ctyItfDWLNOAJsAjuOHZ4Zc8a3+1LkvEBrnOWT72RZiAW1g4DKbWV5KLm8RcoBnIZuf4h/32ufUy1Gb86fpAWKByGjT9zupcWjg== 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=GBvvwgFvY5WshItYBc7vh8mnkTohtwhFnzByaqQSC9Y=; b=RBmjP8TKVBcWK5Hhj4c0FiSM0u9OU7LtWgxsK7/nE7nF7MeZkwkEQWb/v+eAijGjxWqYhTWg8rYSaetrnD28igdp7689fqtFvUB7u5bLMjHbgxgJSWbCfrmVaougwQaQtBAvhdGauWozhkafZ2usV7yVj7jXkT8mHGvvtuhRQYzeCIC5JzUgLhm4BNSBt9LK4KbkdQrVfdmyNBBTHxXNVVVHXmYxDANe3B1muVXQXeP1kg8x2wWnm4uW/NMOwztVSkpiJPgx0iz39DI64cW19UeI5H6ShDnQy5QM8FJncvGtydow21ETCm2/lWb3/8mHG9PDu5fhWHSKGYnDqKjaBg== 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 SA0PR12MB4560.namprd12.prod.outlook.com (2603:10b6:806:97::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6907.33; Tue, 24 Oct 2023 01:48:57 +0000 X-Received: from MN2PR12MB3966.namprd12.prod.outlook.com ([fe80::345a:6816:7343:3e6b]) by MN2PR12MB3966.namprd12.prod.outlook.com ([fe80::345a:6816:7343:3e6b%6]) with mapi id 15.20.6907.025; Tue, 24 Oct 2023 01:48:56 +0000 From: "Chang, Abner via groups.io" To: Nickle Wang , "devel@edk2.groups.io" CC: Igor Kulchytskyy , Nick Ramirez Subject: Re: [edk2-devel] [PATCH] RedfishPkg/RedfishPlatformConfigDxe: add debug message. Thread-Topic: [PATCH] RedfishPkg/RedfishPlatformConfigDxe: add debug message. Thread-Index: AQHaBbvIs+K+AU97R0Cnd6QSwDpbg7BYLN/g Date: Tue, 24 Oct 2023 01:48:56 +0000 Message-ID: References: <20231023141755.365-1-nicklew@nvidia.com> In-Reply-To: <20231023141755.365-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=1b22d251-1bfd-4ca8-959a-530c1c448c50;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-10-24T01:48:21Z;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MN2PR12MB3966:EE_|SA0PR12MB4560:EE_ x-ms-office365-filtering-correlation-id: 8c110adf-4c02-479d-0252-08dbd43362d5 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam-message-info: 3vxWm3COgz5f4yOfvqDCXzfs2j25P3/g2/3hewvWmLfYJcRZu/nW9cmVq1hhO+WcRzy+Ad3P4GT7fYvIgpUiqlIRPVpe6sLy+ai+MF9o4WfMhixSee3rkn38mY7tHypfs6Ym6tPZlYM/RJWtciAiAtxV56+hW5Ossv3hlN7VIXkn4bM+sfq5/oUKwOYTacyFWUycSunUrS9NFPuVcIsekXGqbnl3Wicnj902ENqbKI5FLhAjBd18HZL8XZmVEeFnefQ/2HgPIzxZSOLp7lSj4JjXSPNOyLu+kg5vz+kRHqIB7EI2Nga+hQqAp79AFL0kI6eAr06KRX9NC52+mfRGje9j95fSa9PQg+/0qUqgHiJdYvBTbsH5XS5fqyROhwMMvsHgXWsK6kYWGsvaFJMxYAfSx8r6Qa6cTqOKNArlza0PnagvPP0euvrKU2PJvEfHgCorGcMlIoJ4py/+k7Su37J/PsI4PDCIbUE7jRSqXKmjiVvH1kVOO3DMtfp9vEP06pRAJHSj7UnLDQKED3mNt4xT/r3RZfi0ldVXB2qQYG1c7/y0WCWEuJyOR/QV6Eqw52AbE3uzbCubq+UjV+VTEjVF2C+NN9f1dtsefsJrFLs= x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?8h9Hbi8hU3MALrRLKLJWov+XPSWZQYk/qZwvlEtT6kF57orde3mhUsVNhkAl?= =?us-ascii?Q?eVmQMqSNUt61ofnxPxf9jEIHWEJw3wz7X2AOr/0kTTeC4yriFsYZgYvIH41I?= =?us-ascii?Q?Ola6W5HK5asGytNFC6IArrG1sv9KptEZAmrXOwekg2hRx53wld1UaCIDySC7?= =?us-ascii?Q?MmyOV/Dqx/MdPJYo+/irBlEPJFmfcGD0cT2HQUo5HSkn6trGUuEOgxWljiTN?= =?us-ascii?Q?cN7FYpFbmaoBao/OhgN8N/zGHDqZwzDClMpaUs1A08cCAdri2pGnx6zlyB/7?= =?us-ascii?Q?12YTAe9epoi7TbwNC6pm+nnsKXT5r9SKTWCZp0fGHhRlwtUFhdHFhjgXmvNl?= =?us-ascii?Q?6taOJveeDXgjsFmTlhogWdQHMSUd8HyqSOEXWrxQApb3pzsUpTMsdOoBCYCH?= =?us-ascii?Q?lJAt8gZhA5dnHUKIHIeO2Y55xWoTMK5BXnWOj1h77DIpHbC9x6JW8ddIiXj6?= =?us-ascii?Q?oEMCgw4yDY0uvD1lpsg92frh0n7B1jHsDPZQMkg37TfVGkP/grh6GEBJ6L/4?= =?us-ascii?Q?1FN3SBRQbuZPrQ1u9+LtAAFCv5+adg0PNgqBNVe+9IrJ3rXhntxQQfeA9H0i?= =?us-ascii?Q?oYpSLVmuI0vRjoCp0FcSZMXidSi9oo2Rwg2mu1fse4/bMLd38Zc6dFoiV4UH?= =?us-ascii?Q?0ar8aT08MHHF2hV4riK3ZF9mLnF7yv3PXFdg2tKkikJrwf+alWT1znvAU99S?= =?us-ascii?Q?YD9SBKJ7s7TLSeVPbBTSQEaFj6RH3n0OWOTSOb8c3kJybpomolqPGoG4qy4L?= =?us-ascii?Q?JEVf4Yb1iMDD4+QVVnSWKY+iFBkFFZxGbS9FmBn+sZ3GzLWQ6e2/b2vtQaPr?= =?us-ascii?Q?QBvBY5PyNJ1YrNsmIH9rNMF2a+eonKKUFCOszaUFEdHX9QfG17PputdA8x/u?= =?us-ascii?Q?i7p7Ew17/T8ArqqtkXAThYRaog6C9Lzbo1noc9Od6XuA0QpfxWk70qpSGcW9?= =?us-ascii?Q?uLFZIR6Z8pyupH8G1RekT31DjXQdsaVNuK1SS23Dug3AtB+/t5Hysy7P7Q/T?= =?us-ascii?Q?I3YUBZ1alVhmUb/zgtrXllrZW5uFq9t0gfM7N7fDTlWthyQAq/3P7KdbG00a?= =?us-ascii?Q?eV1wvPCZO3DWy7zG7XPsGf07TDeI8C2sl673PfjAPTP9mVpber3r2MXsEF7V?= =?us-ascii?Q?lI1yNiGGfSyYjUw0Am5hng07UuV5ZuFTcE1pObzKEv9lbfTc6U29DASeeIsQ?= =?us-ascii?Q?w1bMS70UD6bZ/PJ8VocvRl1z7bjNZHBN0iRBboli3hCk1BFr7cSU5qsZInJf?= =?us-ascii?Q?hTaUCzAgLQLAfY5SgXb0n5C0zdVVv7OsGJsXA6YjT4iYYZ3v5exfToZSCWbv?= =?us-ascii?Q?TBERIzM+k6uEkFoi7m5t8qpByNDH/ZA9QnVFx0HVygE8GvB/K5xS97JYXbx5?= =?us-ascii?Q?j1eIGvkNaL1HRssLufDLW/06tVPHzh8z8muAGX4u53QtWqvWVobMincYbudy?= =?us-ascii?Q?VTXQ26dGptRt/CqrQ/k9+6HgQeNkZ9fMC1Eah62SPcbDqIeRwMiGhNor9/1L?= =?us-ascii?Q?1oYKM4bQtQVkLVZeJEJgGryXiqMH8K2WcfWDpnaimCqzzjk4lv5ehba2IIKx?= =?us-ascii?Q?V/jzDAtSpZ7xZ6QGFqCkgQiyx9bq6QcCmDEZ7k03?= 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: 8c110adf-4c02-479d-0252-08dbd43362d5 X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Oct 2023 01:48:56.9151 (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: 9KEY0nk+dbOT68y8rkatoUjiRan6npldCc+URALKBFiFOVSYRBtek41yxCyX4e2sh7b+lZqBSeIKSdqesFKy6A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR12MB4560 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: eTmivv7rIwyCbcmQIxTMcBJHx7686176AA= 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=PKacH7oC; 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 [AMD Official Use Only - General] The change looks good. Reviewed-by: Abner Chang > -----Original Message----- > From: Nickle Wang > Sent: Monday, October 23, 2023 10:18 PM > To: devel@edk2.groups.io > Cc: Chang, Abner ; Igor Kulchytskyy > ; Nick Ramirez > Subject: [PATCH] RedfishPkg/RedfishPlatformConfigDxe: add debug message. > > Caution: This message originated from an External Source. Use proper caut= ion > when opening attachments, clicking links, or responding. > > > Add debug prints to show HII option name when assert happens. > This helps developer to debug assert issue easily while Redfish > failed to convert HII value to Redfish value. > > Signed-off-by: Nickle Wang > Cc: Abner Chang > Cc: Igor Kulchytskyy > Cc: Nick Ramirez > --- > .../RedfishPlatformConfigDxe.c | 123 +++++++++++++++++- > 1 file changed, 122 insertions(+), 1 deletion(-) > > diff --git a/RedfishPkg/RedfishPlatformConfigDxe/RedfishPlatformConfigDxe= .c > b/RedfishPkg/RedfishPlatformConfigDxe/RedfishPlatformConfigDxe.c > index 30d2ef351eca..cbc65ba59408 100644 > --- a/RedfishPkg/RedfishPlatformConfigDxe/RedfishPlatformConfigDxe.c > +++ b/RedfishPkg/RedfishPlatformConfigDxe/RedfishPlatformConfigDxe.c > @@ -203,6 +203,106 @@ FindFormLinkToThis ( > return NULL; > } > > +/** > + Debug dump HII statement value. > + > + @param[in] ErrorLevel DEBUG macro error level > + @param[in] Value HII statement value to dump > + @param[in] Message Debug message > + > + @retval EFI_SUCCESS Dump HII statement value successfully > + @retval Others Errors occur > + > +**/ > +EFI_STATUS > +DumpHiiStatementValue ( > + IN UINTN ErrorLevel, > + IN HII_STATEMENT_VALUE *Value, > + IN CHAR8 *Message OPTIONAL > + ) > +{ > + UINT64 Data; > + > + if (Value =3D=3D NULL) { > + return EFI_INVALID_PARAMETER; > + } > + > + switch (Value->Type) { > + case EFI_IFR_TYPE_NUM_SIZE_8: > + Data =3D Value->Value.u8; > + break; > + case EFI_IFR_TYPE_NUM_SIZE_16: > + Data =3D Value->Value.u16; > + break; > + case EFI_IFR_TYPE_NUM_SIZE_32: > + Data =3D Value->Value.u32; > + break; > + case EFI_IFR_TYPE_NUM_SIZE_64: > + Data =3D Value->Value.u64; > + break; > + case EFI_IFR_TYPE_BOOLEAN: > + Data =3D (Value->Value.b ? 1 : 0); > + break; > + default: > + DEBUG ((ErrorLevel, "%a: unsupported type: 0x%x\n", __func__, Valu= e- > >Type)); > + return EFI_UNSUPPORTED; > + } > + > + if (IS_EMPTY_STRING (Message)) { > + DEBUG ((ErrorLevel, "0x%lx\n", Data)); > + } else { > + DEBUG ((ErrorLevel, "%a: 0x%lx\n", Message, Data)); > + } > + > + return EFI_SUCCESS; > +} > + > +/** > + Debug dump HII statement prompt string. > + > + @param[in] ErrorLevel DEBUG macro error level > + @param[in] HiiHandle HII handle instance > + @param[in] HiiStatement HII statement > + @param[in] Message Debug message > + > + @retval EFI_SUCCESS Dump HII statement string successfully > + @retval Others Errors occur > + > +**/ > +EFI_STATUS > +DumpHiiStatementPrompt ( > + IN UINTN ErrorLevel, > + IN EFI_HII_HANDLE HiiHandle, > + IN HII_STATEMENT *HiiStatement, > + IN CHAR8 *Message OPTIONAL > + ) > +{ > + EFI_STRING String; > + > + if ((HiiHandle =3D=3D NULL) || (HiiStatement =3D=3D NULL)) { > + return EFI_INVALID_PARAMETER; > + } > + > + if (HiiStatement->Prompt =3D=3D 0) { > + return EFI_NOT_FOUND; > + } > + > + String =3D HiiGetString (HiiHandle, HiiStatement->Prompt, NULL); > + if (String =3D=3D NULL) { > + return EFI_NOT_FOUND; > + } > + > + if (IS_EMPTY_STRING (Message)) { > + DEBUG ((ErrorLevel, "%s\n", String)); > + } else { > + DEBUG ((ErrorLevel, "%a: %s\n", Message, String)); > + } > + > + FreePool (String); > + > + return EFI_SUCCESS; > +} > + > /** > Build the menu path to given statement instance. It is caller's > responsibility to free returned string buffer. > @@ -890,6 +990,7 @@ HiiValueToRedfishNumeric ( > break; > default: > RedfishValue->Type =3D RedfishValueTypeUnknown; > + DEBUG ((DEBUG_ERROR, "%a: Unsupported value type: 0x%x\n", > __func__, Value->Type)); > break; > } > > @@ -1187,6 +1288,11 @@ HiiValueToRedfishValue ( > case EFI_IFR_ONE_OF_OP: > StringId =3D HiiValueToOneOfOptionStringId (HiiStatement, Value); > if (StringId =3D=3D 0) { > + // > + // Print prompt string of HII statement for ease of debugging > + // > + DumpHiiStatementPrompt (DEBUG_ERROR, HiiHandle, HiiStatement, > "Can not find string ID"); > + DumpHiiStatementValue (DEBUG_ERROR, Value, "Current value"); > ASSERT (FALSE); > Status =3D EFI_DEVICE_ERROR; > break; > @@ -1254,6 +1360,10 @@ HiiValueToRedfishValue ( > case EFI_IFR_ORDERED_LIST_OP: > StringIdArray =3D HiiValueToOrderedListOptionStringId (HiiStatemen= t, > &Count); > if (StringIdArray =3D=3D NULL) { > + // > + // Print prompt string of HII statement for ease of debugging > + // > + DumpHiiStatementPrompt (DEBUG_ERROR, HiiHandle, HiiStatement, > "Can not get string ID array"); > ASSERT (FALSE); > Status =3D EFI_DEVICE_ERROR; > break; > @@ -1261,13 +1371,24 @@ HiiValueToRedfishValue ( > > RedfishValue->Value.StringArray =3D AllocatePool (sizeof (CHAR8 *)= * Count); > if (RedfishValue->Value.StringArray =3D=3D NULL) { > + // > + // Print prompt string of HII statement for ease of debugging > + // > + DumpHiiStatementPrompt (DEBUG_ERROR, HiiHandle, HiiStatement, > "Can not allocate memory"); > ASSERT (FALSE); > Status =3D EFI_OUT_OF_RESOURCES; > break; > } > > for (Index =3D 0; Index < Count; Index++) { > - ASSERT (StringIdArray[Index] !=3D 0); > + if (StringIdArray[Index] =3D=3D 0) { > + // > + // Print prompt string of HII statement for ease of debugging > + // > + DumpHiiStatementPrompt (DEBUG_ERROR, HiiHandle, HiiStatement, > "String ID in array is 0"); > + ASSERT (FALSE); > + } > + > RedfishValue->Value.StringArray[Index] =3D HiiGetRedfishAsciiStr= ing > (HiiHandle, FullSchema, StringIdArray[Index]); > ASSERT (RedfishValue->Value.StringArray[Index] !=3D NULL); > } > -- > 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 (#109976): https://edk2.groups.io/g/devel/message/109976 Mute This Topic: https://groups.io/mt/102136156/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-