From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (NAM10-DM6-obe.outbound.protection.outlook.com [40.107.93.64]) by mx.groups.io with SMTP id smtpd.web10.4179.1689127817591925955 for ; Tue, 11 Jul 2023 19:10:17 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@amd.com header.s=selector1 header.b=JHtK/syH; 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.93.64, mailfrom: abner.chang@amd.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HbdO3w/aIjeGFL7VtmZpykJ8mgZYrBEc4Uw+0zRx9DoU5ZvRZIJjLKRfA7rNKPdt62yS+XqusPGHPpEbLJIrqiKAtotm/ZDt5pcSSMRrJxWNLyx+2I3O0WCvjTZxrqSJ9bC7+PT1taooro8MG0M6HBPhJTIoXqK61dyKHZUoGB3ACQyDTOGgOFKTNXqo/Q6rL8IyfGF/hkHtWOHgS/jI290PTiodO3R7oOkuhjBDHoN60qdFoiZ6iTM9q0DQm52QFFoHmVb4evg7rqeQ7jbAZ7RdP/nIs51vVuOMYsoXqEXUi6aDmFZisLV6NS9V6bwJr9fxv9XMVjMvvfAj/SOeAg== 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=fSSsQz2YQ+hbbqu62+X6FkmcuhUIvVfwyUdUr0Ht9Cw=; b=JMeQVtPtQ9+dUzlS4jl+TS0EOU2naj+HCW3lIlkK/irwUwFVN7bIKLxw39innvN4ANL/LU9Z93vn0AxrKLgPyDnMGocfcaVXNui2CXMyXJSnLwiWuIUYbClxUkQpuYena+lOB5kq7m3UipWQ64ZMcS/Kd7xJtgfxYGhl8ZwEb/Q2fH9Fj0JNGJa9bcUP6fQ85doYgIVnV2Ib1Qy+xlMq9L4RO6MwfOdYlpPj6q36U9UuGIkLVh39x1CO6z71VcVZzNpU5jP2psVcueEKc5MEdTrsF8dfdRrTiNlQZw3suYn3bRj99yrllCWruNHhSe5RzP8e7c0tXx66xbvvrlJkKQ== 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=fSSsQz2YQ+hbbqu62+X6FkmcuhUIvVfwyUdUr0Ht9Cw=; b=JHtK/syH71uIkSjArQJs1mkqgV37FipMGe1kcdCxCK1etqzD+748xUMaeqGXchAdgWnsOUOIH2BnNtKQKz20WBYSw/W4oXo97sjWOE2piMUmjUznvsrLXRLpEl4aWPdzDPqgFnuE20UDkP2QS/FZgGFfiIuwik5P0toyIzy/FuI= Received: from MN2PR12MB3966.namprd12.prod.outlook.com (2603:10b6:208:165::18) by SJ2PR12MB9190.namprd12.prod.outlook.com (2603:10b6:a03:554::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6565.30; Wed, 12 Jul 2023 02:10:14 +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; Wed, 12 Jul 2023 02:10:14 +0000 From: "Chang, Abner" To: "Oram, Isaac W" , "Chesley, Brit" , "devel@edk2.groups.io" CC: "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+zyOZAgAGbMoCAAADY8A== Date: Wed, 12 Jul 2023 02:10:14 +0000 Message-ID: References: <20230710192323.32-1-Brit.Chesley@amd.com> In-Reply-To: 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_|SJ2PR12MB9190:EE_ x-ms-office365-filtering-correlation-id: 4474cf46-8d94-432c-bdfd-08db827d2156 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Ek1IAxqw07L+WwwC7hJt+V+CKbmWwVEBa4/M84Ly2K+XeiJVbWbQBAc7Y8qdVlCvRYNetGI+bcbmFfdcPTJkBKzee+DncfvQ+9F24GVXcIUfPN8RZpLIAx4LEVjThQX7XkHZpkaeI2AKV2oCIE2nKzLBvpI8AnU1t+EKsz8yNtoYuXb5bgnpxLUNXqqnvJux8TC7y6+d7QIf8nDFzIpQGi/ukKO+m2qG5E2Y5/lFChB26YFecOrnE1Om0bAnmkhQqdou07W7EisEuzjfxeatYxj93FmzBI91kx2v6sCi0kF9BhcAJX0txDmFklCXtNUD+Mt2YBBSc7V3iHUkCJexDMNGAXeIcEcR7FWERQObU35Y8arzDFQ2Y6at+uioPtH3k8F2glTeQxwH74ycZ3BjZF2M/NYNN+6c+GTUrsVkuS8cx4icWKoZW9TEWG+BwVcmKY24tewYQOvFXxvUGx1sW0iv46fawQxMtBO98vd4Hplzsm7ZoSdVHFYdGY7qul3Mi+s1i/w/+Uusw5vV8BIHLFRShcDOjN7oxqJpFFTFWyb5J7xQ/q0zMFYlVJ790AF9jUnV+Lx1sunaimZINXNYbIE0OsyeWSBg2hu+LdHyA+WyeaB0BfC+AQqLl9tPiI46 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)(39860400002)(376002)(346002)(366004)(136003)(396003)(451199021)(6506007)(186003)(9686003)(53546011)(478600001)(64756008)(66446008)(83380400001)(41300700001)(4326008)(66556008)(5660300002)(2906002)(316002)(52536014)(8676002)(66946007)(66476007)(8936002)(71200400001)(7696005)(110136005)(76116006)(54906003)(33656002)(55016003)(122000001)(38070700005)(86362001)(38100700002);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?GAFlF+/1KW1/yXUKiuWjAUp5LNjncPHtKPljnOY8fGMHJI0Nk2TXIQsJCcSf?= =?us-ascii?Q?iRJ+AueMnyp+LNIbgn7Iz1tUU2+WUDHbSaTJ9ZUH1UlxvTTVv8t16AYZAZbJ?= =?us-ascii?Q?Y0KqRpZF7iqUxSpN8ThhsAGJKKPCpM0dFz8fvo2Gswdj6l2aCPtIgMHCaZiy?= =?us-ascii?Q?O8wurzuqwfA6RsfWXCFKWWbzE7o42Y6ZyY3h/n3cTptEtHaFVXbCJcgQK2fo?= =?us-ascii?Q?hU9yv/fF2SkaWGcJDumdlv+OtvltvmAbtjO8qp2CpBI4mUWtAA34V6olcpGk?= =?us-ascii?Q?KUagQ16cR4EgTcmk9yDLr1tf/WZq26od55twIX6ISdk7Rbfd5oSYvNjT1wt/?= =?us-ascii?Q?digAtTCDIeAT7IR5YrXSA93TNGnuj4+NXtNBGk9pgMpmwwD7+P1SxHN9EHJR?= =?us-ascii?Q?Hvfjd1B5xNBjCehjvMWrrOny0CxgVktSsuX3szvvgJJJVPxQ3/7+lgVHB31R?= =?us-ascii?Q?wq68wCW9EFsLzx4HAWYe/poPKFdqw0G4wmc8eSrVM7AYaMXxrWKNl607mEuC?= =?us-ascii?Q?j3CYNJhLp28AZSs9RGEsHvc0wh9Zt1sM7F42WVMptnhCvlefbuE9TBxvl1R5?= =?us-ascii?Q?DRHdMnVvDUXavQvlvk0lr9Us/rMaLaydek7xnUHS3nJMCin1akvO7d8bL812?= =?us-ascii?Q?7HZ2MOSbBVVuzaPHy+Riatw6J9A+5m1Zv7CoVfjXHqZ8iWCtjR2/+jdbIRq0?= =?us-ascii?Q?t+Y9GXc/7dfeOA0yEW0Udsqq5Pli+fM+Q6rAY22RpHUeHsajZOVcuujvkdC0?= =?us-ascii?Q?pfliMSIJmGRKL4P4TvzWADWZNsL/oHS4g7NFWR3MW6hgrfjvarN3DPMbOa8Y?= =?us-ascii?Q?vl7zyyU6sMV7pQ9Sm1HKlrJ2GqMhsMqAFKV7e2FRrBS2O0h6tD542zs1TI96?= =?us-ascii?Q?lpXVtbxzo4hKjFIBYmxeeBEul4/+5RPEu0rhBZ8S4zCJsOYSvadMPgvMknaw?= =?us-ascii?Q?cijVL9KvTA7TyeNASimERNE2tPqRFunR0p3m48Ti9UhpbPLQKVNfZJPwpYzO?= =?us-ascii?Q?3cF93DRWi9T9W0JOVyXjYed3cH7Bi1c8aft4JsehBRIBQXtAkvaSCJ8FUE/6?= =?us-ascii?Q?Zw8uoqyJ+wIoBOn4anPm0mazWCFsTX8tPsm1Kk3r83Sz8xK7BliVV2hN464s?= =?us-ascii?Q?MeMqYsoiRfjhNOYoxsh/Y9TMFwaw1RENsOI8pKu86dkelL232Aq4dqRn9aMY?= =?us-ascii?Q?D84AyGGGOV2t/l+LudjzMF0l/sZZ7bIh5Qjb5+IwVGZQK4UM+Zl/xxPc1BvK?= =?us-ascii?Q?9vjbBYO3GscOJFo73pPoRy3PhE8qF2lBFbbnU/Ueg7ImxO8O1uB08jo5AvhS?= =?us-ascii?Q?Flsq5uCfagL+KSLV244E2WO8qijcxRbQjoeCmogXXizJXBTdx1MwmzT3WTjI?= =?us-ascii?Q?6Fu1QlWJMpN5UFVEcwjLtQjtIGT1y5BRYKY0u/YZuzoWIPNkghZHA1XvP7g2?= =?us-ascii?Q?exgQmKXtkjIKlrslSN1gRtG/f9U3jNWuL7fuuBoo7W9pz+oY3tkczf9UZPc0?= =?us-ascii?Q?hTPjRUPqoDWCTbtdqDt/i6Lr1yLPg/yIHmFIps8685b9X7zy5r9TsYbW+w?= =?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: 4474cf46-8d94-432c-bdfd-08db827d2156 X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Jul 2023 02:10:14.4383 (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: aU+IZkmi8YjBmxqy80031WSGkFu1xcsFL53EKYfEixKFvGHE5v4c89THjKiEZOuqZ6HGCFdcYaKO2JZj01ZMlA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB9190 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable [AMD Official Use Only - General] Hi Isaac, thanks for the last minutes review. Abner > -----Original Message----- > From: Oram, Isaac W > Sent: Wednesday, July 12, 2023 10:06 AM > To: Chang, Abner ; Chesley, Brit > ; devel@edk2.groups.io > Cc: Attar, AbdulLateef (Abdul Lateef) ; Nickle > Wang > Subject: RE: [edk2-platforms][PATCH v1 1/1] ManageabilityPkg: Ipmi Get/Se= t > Boot Options > > [AMD Official Use Only - General] > > Caution: This message originated from an External Source. Use proper caut= ion > when opening attachments, clicking links, or responding. > > > Reviewed-by: Isaac Oram > > -----Original Message----- > From: Chang, Abner > Sent: Monday, July 10, 2023 6:36 PM > To: Chesley, Brit ; devel@edk2.groups.io > Cc: Oram, Isaac W ; Attar, AbdulLateef (Abdul > Lateef) ; Nickle Wang > Subject: RE: [edk2-platforms][PATCH v1 1/1] ManageabilityPkg: Ipmi Get/Se= t > Boot Options > > [AMD Official Use Only - General] > > Thank you Brit for the contribution! Let's wait for 1-2 days to see if th= ere 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