From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (NAM11-DM6-obe.outbound.protection.outlook.com [40.107.223.63]) by mx.groups.io with SMTP id smtpd.web10.539.1689039375814331245 for ; Mon, 10 Jul 2023 18:36:16 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@amd.com header.s=selector1 header.b=q4r0RK+V; spf=permerror, err=parse error for token &{10 18 %{i}._ip.%{h}._ehlo.%{d}._spf.vali.email}: invalid domain name (domain: amd.com, ip: 40.107.223.63, mailfrom: abner.chang@amd.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aLZxFwhmB3MpM1D4KNaLAP1rVqhfNtUNWAfqMx0iwst7bGbGG21o5DfrjM2XgMyJV3LYy0+NCBY0g6YZFoaaOKMIGQ9IsR3ph6H3OroLKrqn4p4NtvlMcNLPPPF2C4aymlwGJ6WiQrFG1Me7Wt4Pu4GNNwou1zgH1BSyzyfJE013o96xE0Vpy2X9kL16yi8sOiRSqkKKz8iHqVm4POkBeoHkJbrhmtLI92QnNw0F3wWTz7mN5mzcSS8Q0gwvThisfSEXfLi0MoJotgT34McPfU1BfxZJXIzA6kk8w1a7iF5mw79S2SNgQfO+FhEgeAgaCgcMm4gxb+j5lzrGgfg/Qg== 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=XzXKxtgLl7zVZylCdJ37nVVu7ri52nYvSTPWLnSgUqM=; b=hjZYnhKKRdqwKVLxUTbU8YAHoXjPte7WCxC8ss6jcsMj9oJrHVmWnnnba6U47ujIJDIMecBivE9Mld8jNxm/7oxLOqkJP0/AiylI+Uv+emKizB4/Jjcb2TbL0PRn7DMAczdgX/NJsz37JFP1Z7SVXeINLFVddUHZ1LDjxzNsnJ/pACq41L9NzubDrC1PaKwrAx5qfSuhe3I6vkUmwdyUDOs3EwvWpEAzh7JYcExRrku2+rAY1FEKnfnkWEDqiY+6UOoWcBDf6RUIiSoU6KA1E85HNYqpohm4K23+l7vvt58KNn/iUkKxHhiMrUo0lPLtTBoHzA/ohy+VM774ixryvw== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=XzXKxtgLl7zVZylCdJ37nVVu7ri52nYvSTPWLnSgUqM=; b=q4r0RK+VpIk3dq8Vfn+4R/B3XA8eXEaZDEIOXXzg07JPQY7HGODayoKGHieRkjseHzEXX+EJMIYZEsEKBNFzM0xPHAqRDJMYAxewZqwPipwzjwOO3Wwe6Lru//uvTO2sO7q5pGkhuKgSGA1HzPX8bXBPhpxElxLUnRoXYca4dvI= Received: from MN2PR12MB3966.namprd12.prod.outlook.com (2603:10b6:208:165::18) by MN6PR12MB8542.namprd12.prod.outlook.com (2603:10b6:208:477::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6565.31; Tue, 11 Jul 2023 01:36:13 +0000 Received: from MN2PR12MB3966.namprd12.prod.outlook.com ([fe80::edb0:bed8:c650:5040]) by MN2PR12MB3966.namprd12.prod.outlook.com ([fe80::edb0:bed8:c650:5040%6]) with mapi id 15.20.6565.028; Tue, 11 Jul 2023 01:36:13 +0000 From: "Chang, Abner" To: "Chesley, Brit" , "devel@edk2.groups.io" CC: Isaac Oram , "Attar, AbdulLateef (Abdul Lateef)" , Nickle Wang Subject: Re: [edk2-platforms][PATCH v1 1/1] ManageabilityPkg: Ipmi Get/Set Boot Options Thread-Topic: [edk2-platforms][PATCH v1 1/1] ManageabilityPkg: Ipmi Get/Set Boot Options Thread-Index: AQHZs2QIzepVonwvb0WHupFLQdcbAK+zyOZA Date: Tue, 11 Jul 2023 01:36:12 +0000 Message-ID: References: <20230710192323.32-1-Brit.Chesley@amd.com> In-Reply-To: <20230710192323.32-1-Brit.Chesley@amd.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=9d5c5455-6ee8-46da-b50d-74a6d69afd68;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-07-11T01:34:31Z;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d; authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MN2PR12MB3966:EE_|MN6PR12MB8542:EE_ x-ms-office365-filtering-correlation-id: bc6f0a0f-bb06-45c9-4903-08db81af3608 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: /KNTZN7TTCVKUi48ngqpEc5jfvDm8f0P75LyEblUrern3CjnuqlY3dhRDXntjPyDJhC2MLH2CGGQkPaAKZYOl4rBPgAmc+cvVbXZRFYcnR4AZ9v5BnlPg/ARgSax8VRh+O3IiG4KtvCKThvX+YOTpf6ygAyQIZeaMnyTC1nQUxhoSq1b7UY/EReFgnmDx6SOokQiwnXCWVyT5Bgc5oXHAv6jnuILuB/1Yn2rTq8PbiHuIyt5m0AdD8Dj/XzmK7ZkCh1XIPtii/gwCqBqXZn/csfy9Glm1fu3YTACUTDy99h30g5dB1W3Xl+FeSzBmqj2xYD3gb0b8MP2KAz/Ymp40Mbs8kY4qTiYX58D2pVGD+cD1vHdtTh2cNfgdyUZlNyHtlm/J7jNhnBeGo8EwwTtqXbxZ4J/4RPq5/UjALJ1YNYlnykvASV1rVpv6BWkPIaZz2FL/U4OGJY7+4X1vpECIGdq5FZoI/b2d/C/THI2vm0a2OvKi6Z6pIpbvf0zNUjH0TTIGlYRgYrKM/W4k21axzo6zHrJ0Nkh0TTJ5AwDsf+mW+pKzw7QWYHyK1njz4JrgTm/NM20PrhiKT/79dzt0af/JzQo5GRPJ/0zvknTN5OwhaMzq2QZmUWFw882xZNY x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MN2PR12MB3966.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(396003)(376002)(39860400002)(366004)(346002)(136003)(451199021)(7696005)(478600001)(71200400001)(33656002)(83380400001)(6506007)(186003)(53546011)(55016003)(9686003)(316002)(2906002)(41300700001)(38100700002)(122000001)(66446008)(64756008)(76116006)(66946007)(66556008)(66476007)(4326008)(86362001)(8936002)(8676002)(38070700005)(5660300002)(52536014)(110136005)(54906003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?CjmoLsrj9a7aThLWVmQBwWMe1oYv3pCcCxMmr6rHSfBVcWYcUDwcm9aA5g9w?= =?us-ascii?Q?1mjfWUkWzNGoV/cN6SqqQel/sC8x8m0VfbOnZqij6ZIiXDkuIw7Sjr1ppuqo?= =?us-ascii?Q?KM3t1Aifrbn86jlzF3hmvEKU5r3My7JmJleIMHXJ2hE6LoO4jZ93PC9OC6kl?= =?us-ascii?Q?n0m35+aAnSOdq55AzUd/94RfRxhZogB5sfcQsh68Drvnxi1r9yGaSnbLDvqb?= =?us-ascii?Q?EPxMaeJ//srvth7Yzi9H2aL46uR56H2DU8srqD+EdKcBqMIUOt21DNIJ2pKg?= =?us-ascii?Q?QwJUouKKmocialoFub7QXRHUfPhw1EVbdYOwNhEfCkRx7lyG9w7q28mngNSO?= =?us-ascii?Q?8vzs0n8uggOqJo+0z9qoqAo8iYbv1IRjv+zeoIbbXfO/B6nwrT4+mTA4Qim2?= =?us-ascii?Q?xi0XIFw9LN9WclKpNc3SOnKW/MmWT2TgJT8UefFgyJixl2uKPWCezBcfRC5J?= =?us-ascii?Q?s4oBLpYC3phTdiBImoz03cvY97x/0V6vEazAbiTe0Ppu5eMsO6oiRVWnNUWB?= =?us-ascii?Q?XJX0/hhlLP9cONmpED/3c/xhIXYPVm8t8A1+mM7xtx+nP1VfnBugWEdvv0XH?= =?us-ascii?Q?crSUUci9XdziqJN1ngoMWWnP1RtCvFxvT1FGPb3rMVqjzRm4txRJDORc9ZB/?= =?us-ascii?Q?Y1qNiVegftMDYLBPD40jwj4EiL1Ca1cvk04IYWBDcLFwLB/fTX7leYghJ/+0?= =?us-ascii?Q?B1zgXXeWWb59HScbCS017Nej6Bu3VJK+DtL7d+a2t7N453iS5HY5varBsXC1?= =?us-ascii?Q?uyDp3aPmBCc7XJFRKWbXnLsImV5FU/fX7w5YKhpP4kSDYaQN1Q0x/amSYsGp?= =?us-ascii?Q?LDpP6JKS17IrUEqKjDfiQ8YaWwoccfcLY3jrDYk0J1kfaairvxjj0UnUqUqu?= =?us-ascii?Q?s2iE3uCeUuieWUdwJdVeqaD3wK7CrNoTHFrZ5SSKPEjlaOFFNulc+0bPilcg?= =?us-ascii?Q?7+GTN9FbaWQJAso+ZfHeX01kXLY6Fyh/G96XqEoQRKdUE9mXoqXlpmutjajY?= =?us-ascii?Q?gUizgAA8AKiE0vMilQWJr3aMqP9xRfMBy48WNq8DMroz70LHvvybXQ34/3u5?= =?us-ascii?Q?R8StpVyAbdYF2yM1vyqT/6XoReLz6Y9RCJ43wqsJbqnxk2+Mw8IJbS4TUFwR?= =?us-ascii?Q?FUFHJRomU7WM6KKWVoF9uV0SwcFTevnyJZBbefnGngbjwu2Eki1ZYw6ptli3?= =?us-ascii?Q?3n7LZqOHRZY51MXMzPL5B+3dFzJumHa5Y1mlGriNoBpZ7jUh1flXOGocAdqA?= =?us-ascii?Q?zxdesSmBEFf6fUIrdglxK/b9N8smqWpDl6vdE+hFGGu4ihiuzJy8lA0hvbDv?= =?us-ascii?Q?0Q7OY3HXWC/JVf35FIpHGxfGbgbgjGEdKZFWUPCw6sfEEVXCdWwU44x6rQNi?= =?us-ascii?Q?X2TXHFdolIutqNe7QxoXL+KzRu2aF42P+gvyvDQcurytUFrc4ungAcapatF+?= =?us-ascii?Q?iX6ubapjOORMHbHz5+pm50bkT/Qsvck/CoVtGglxenpv0EYn+pk8OEvx+teI?= =?us-ascii?Q?H8sfjuarDXNhN/1rtZmHVSW869nKdoGQJGsHyjoPm3Ob1IuxJRd6N6PO6A?= =?us-ascii?Q?=3D=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: bc6f0a0f-bb06-45c9-4903-08db81af3608 X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Jul 2023 01:36:12.8655 (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: bKa+OgJUDk68+Ja5/f0amoz+CtjL6lVyWbLKGvUKIqiP+poI5HpDZ8us9RlP8/fdbOt41+DPnNUbBUk+vSAJNA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN6PR12MB8542 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable [AMD Official Use Only - General] Thank you Brit for the contribution! Let's wait for 1-2 days to see if ther= e is any other comments for this change. Reviewed-by: Abner Chang > -----Original Message----- > From: Chesley, Brit > Sent: Tuesday, July 11, 2023 3:23 AM > To: devel@edk2.groups.io > Cc: Chang, Abner ; Isaac Oram > ; Attar, AbdulLateef (Abdul Lateef) > ; Nickle Wang > Subject: [edk2-platforms][PATCH v1 1/1] ManageabilityPkg: Ipmi Get/Set > Boot Options > > From: Brit Chesley > > BZ #: 4455. > Support parameter selectors for IPMI Get/Set boot options. The size of > the response data is now dependent on the parameter selector, rather > than being fixed. > > Cc: Abner Chang > Cc: Isaac Oram > Cc: Abdul Lateef Attar > Cc: Nickle Wang > Signed-off-by: Brit Chesley > --- > .../IpmiCommandLibNetFnChassis.c | 124 ++++++++++++++---- > 1 file changed, 102 insertions(+), 22 deletions(-) > > diff --git > a/Features/ManageabilityPkg/Library/IpmiCommandLib/IpmiCommandLibNe > tFnChassis.c > b/Features/ManageabilityPkg/Library/IpmiCommandLib/IpmiCommandLibNe > tFnChassis.c > index 0c40ad20b98a..01682f55b36d 100644 > --- > a/Features/ManageabilityPkg/Library/IpmiCommandLib/IpmiCommandLibNe > tFnChassis.c > +++ > b/Features/ManageabilityPkg/Library/IpmiCommandLib/IpmiCommandLibNe > tFnChassis.c > @@ -152,17 +152,58 @@ IpmiSetSystemBootOptions ( > ) > { > EFI_STATUS Status; > - UINT32 DataSize; > - > - DataSize =3D sizeof (*BootOptionsResponse); > - Status =3D IpmiSubmitCommand ( > - IPMI_NETFN_CHASSIS, > - IPMI_CHASSIS_SET_SYSTEM_BOOT_OPTIONS, > - (VOID *)BootOptionsRequest, > - sizeof (*BootOptionsRequest), > - (VOID *)BootOptionsResponse, > - &DataSize > - ); > + UINT32 RequestDataSize; > + UINT32 ResponseDataSize; > + > + ResponseDataSize =3D sizeof (*BootOptionsResponse); > + RequestDataSize =3D sizeof (*BootOptionsRequest); > + > + switch (BootOptionsRequest->ParameterValid.Bits.ParameterSelector) { > + case IPMI_BOOT_OPTIONS_PARAMETER_SELECTOR_SET_IN_PROGRESS: > + RequestDataSize +=3D sizeof > (IPMI_BOOT_OPTIONS_RESPONSE_PARAMETER_0); > + break; > + > + case > IPMI_BOOT_OPTIONS_PARAMETER_SELECTOR_SERVICE_PARTITION_SELECT > OR: > + RequestDataSize +=3D sizeof > (IPMI_BOOT_OPTIONS_RESPONSE_PARAMETER_1); > + break; > + > + case > IPMI_BOOT_OPTIONS_PARAMETER_SELECTOR_SERVICE_PARTITION_SCAN: > + RequestDataSize +=3D sizeof > (IPMI_BOOT_OPTIONS_RESPONSE_PARAMETER_2); > + break; > + > + case IPMI_BOOT_OPTIONS_PARAMETER_SELECTOR_BMC_BOOT_FLAG: > + RequestDataSize +=3D sizeof > (IPMI_BOOT_OPTIONS_RESPONSE_PARAMETER_3); > + break; > + > + case IPMI_BOOT_OPTIONS_PARAMETER_BOOT_INFO_ACK: > + RequestDataSize +=3D sizeof > (IPMI_BOOT_OPTIONS_RESPONSE_PARAMETER_4); > + break; > + > + case IPMI_BOOT_OPTIONS_PARAMETER_BOOT_FLAGS: > + RequestDataSize +=3D sizeof > (IPMI_BOOT_OPTIONS_RESPONSE_PARAMETER_5); > + break; > + > + case IPMI_BOOT_OPTIONS_PARAMETER_BOOT_INITIATOR_INFO: > + RequestDataSize +=3D sizeof > (IPMI_BOOT_OPTIONS_RESPONSE_PARAMETER_6); > + break; > + > + case IPMI_BOOT_OPTIONS_PARAMETER_BOOT_INITIATOR_MAILBOX: > + RequestDataSize +=3D sizeof > (IPMI_BOOT_OPTIONS_RESPONSE_PARAMETER_7); > + break; > + > + default: > + return EFI_INVALID_PARAMETER; > + break; > + } > + > + Status =3D IpmiSubmitCommand ( > + IPMI_NETFN_CHASSIS, > + IPMI_CHASSIS_SET_SYSTEM_BOOT_OPTIONS, > + (VOID *)BootOptionsRequest, > + RequestDataSize, > + (VOID *)BootOptionsResponse, > + &ResponseDataSize > + ); > return Status; > } > > @@ -184,16 +225,55 @@ IpmiGetSystemBootOptions ( > ) > { > EFI_STATUS Status; > - UINT32 DataSize; > - > - DataSize =3D sizeof (*BootOptionsResponse); > - Status =3D IpmiSubmitCommand ( > - IPMI_NETFN_CHASSIS, > - IPMI_CHASSIS_GET_SYSTEM_BOOT_OPTIONS, > - (VOID *)BootOptionsRequest, > - sizeof (*BootOptionsRequest), > - (VOID *)BootOptionsResponse, > - &DataSize > - ); > + UINT32 ResponseDataSize; > + > + ResponseDataSize =3D sizeof (*BootOptionsResponse); > + > + switch (BootOptionsRequest->ParameterSelector.Bits.ParameterSelector) = { > + case IPMI_BOOT_OPTIONS_PARAMETER_SELECTOR_SET_IN_PROGRESS: > + ResponseDataSize +=3D sizeof > (IPMI_BOOT_OPTIONS_RESPONSE_PARAMETER_0); > + break; > + > + case > IPMI_BOOT_OPTIONS_PARAMETER_SELECTOR_SERVICE_PARTITION_SELECT > OR: > + ResponseDataSize +=3D sizeof > (IPMI_BOOT_OPTIONS_RESPONSE_PARAMETER_1); > + break; > + > + case > IPMI_BOOT_OPTIONS_PARAMETER_SELECTOR_SERVICE_PARTITION_SCAN: > + ResponseDataSize +=3D sizeof > (IPMI_BOOT_OPTIONS_RESPONSE_PARAMETER_2); > + break; > + > + case IPMI_BOOT_OPTIONS_PARAMETER_SELECTOR_BMC_BOOT_FLAG: > + ResponseDataSize +=3D sizeof > (IPMI_BOOT_OPTIONS_RESPONSE_PARAMETER_3); > + break; > + > + case IPMI_BOOT_OPTIONS_PARAMETER_BOOT_INFO_ACK: > + ResponseDataSize +=3D sizeof > (IPMI_BOOT_OPTIONS_RESPONSE_PARAMETER_4); > + break; > + > + case IPMI_BOOT_OPTIONS_PARAMETER_BOOT_FLAGS: > + ResponseDataSize +=3D sizeof > (IPMI_BOOT_OPTIONS_RESPONSE_PARAMETER_5); > + break; > + > + case IPMI_BOOT_OPTIONS_PARAMETER_BOOT_INITIATOR_INFO: > + ResponseDataSize +=3D sizeof > (IPMI_BOOT_OPTIONS_RESPONSE_PARAMETER_6); > + break; > + > + case IPMI_BOOT_OPTIONS_PARAMETER_BOOT_INITIATOR_MAILBOX: > + ResponseDataSize +=3D sizeof > (IPMI_BOOT_OPTIONS_RESPONSE_PARAMETER_7); > + break; > + > + default: > + return EFI_INVALID_PARAMETER; > + break; > + } > + > + Status =3D IpmiSubmitCommand ( > + IPMI_NETFN_CHASSIS, > + IPMI_CHASSIS_GET_SYSTEM_BOOT_OPTIONS, > + (VOID *)BootOptionsRequest, > + sizeof (*BootOptionsRequest), > + (VOID *)BootOptionsResponse, > + &ResponseDataSize > + ); > return Status; > } > -- > 2.36.1