[AMD Official Use Only - General] Hi Isaac, thanks for the last minutes review.
Abner > -----Original Message----- > From: Oram, Isaac W <isaac.w.o...@intel.com> > Sent: Wednesday, July 12, 2023 10:06 AM > To: Chang, Abner <abner.ch...@amd.com>; Chesley, Brit > <brit.ches...@amd.com>; devel@edk2.groups.io > Cc: Attar, AbdulLateef (Abdul Lateef) <abdullateef.at...@amd.com>; Nickle > Wang <nick...@nvidia.com> > Subject: RE: [edk2-platforms][PATCH v1 1/1] ManageabilityPkg: Ipmi Get/Set > Boot Options > > [AMD Official Use Only - General] > > Caution: This message originated from an External Source. Use proper caution > when opening attachments, clicking links, or responding. > > > Reviewed-by: Isaac Oram <isaac.w.o...@intel.com> > > -----Original Message----- > From: Chang, Abner <abner.ch...@amd.com> > Sent: Monday, July 10, 2023 6:36 PM > To: Chesley, Brit <brit.ches...@amd.com>; devel@edk2.groups.io > Cc: Oram, Isaac W <isaac.w.o...@intel.com>; Attar, AbdulLateef (Abdul > Lateef) <abdullateef.at...@amd.com>; Nickle Wang <nick...@nvidia.com> > Subject: RE: [edk2-platforms][PATCH v1 1/1] ManageabilityPkg: Ipmi Get/Set > Boot Options > > [AMD Official Use Only - General] > > Thank you Brit for the contribution! Let's wait for 1-2 days to see if there > is any > other comments for this change. > > Reviewed-by: Abner Chang <abner.ch...@amd.com> > > > -----Original Message----- > > From: Chesley, Brit <brit.ches...@amd.com> > > Sent: Tuesday, July 11, 2023 3:23 AM > > To: devel@edk2.groups.io > > Cc: Chang, Abner <abner.ch...@amd.com>; Isaac Oram > > <isaac.w.o...@intel.com>; Attar, AbdulLateef (Abdul Lateef) > > <abdullateef.at...@amd.com>; Nickle Wang <nick...@nvidia.com> > > Subject: [edk2-platforms][PATCH v1 1/1] ManageabilityPkg: Ipmi Get/Set > > Boot Options > > > > From: Brit Chesley <brit.ches...@amd.com> > > > > 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 <abner.ch...@amd.com> > > Cc: Isaac Oram <isaac.w.o...@intel.com> > > Cc: Abdul Lateef Attar <abdullateef.at...@amd.com> > > Cc: Nickle Wang <nick...@nvidia.com> > > Signed-off-by: Brit Chesley <brit.ches...@amd.com> > > --- > > .../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 = sizeof (*BootOptionsResponse); > > - Status = IpmiSubmitCommand ( > > - IPMI_NETFN_CHASSIS, > > - IPMI_CHASSIS_SET_SYSTEM_BOOT_OPTIONS, > > - (VOID *)BootOptionsRequest, > > - sizeof (*BootOptionsRequest), > > - (VOID *)BootOptionsResponse, > > - &DataSize > > - ); > > + UINT32 RequestDataSize; > > + UINT32 ResponseDataSize; > > + > > + ResponseDataSize = sizeof (*BootOptionsResponse); RequestDataSize > > + = sizeof (*BootOptionsRequest); > > + > > + switch (BootOptionsRequest->ParameterValid.Bits.ParameterSelector) { > > + case IPMI_BOOT_OPTIONS_PARAMETER_SELECTOR_SET_IN_PROGRESS: > > + RequestDataSize += sizeof > > (IPMI_BOOT_OPTIONS_RESPONSE_PARAMETER_0); > > + break; > > + > > + case > > > IPMI_BOOT_OPTIONS_PARAMETER_SELECTOR_SERVICE_PARTITION_SELECT > > OR: > > + RequestDataSize += sizeof > > (IPMI_BOOT_OPTIONS_RESPONSE_PARAMETER_1); > > + break; > > + > > + case > > IPMI_BOOT_OPTIONS_PARAMETER_SELECTOR_SERVICE_PARTITION_SCAN: > > + RequestDataSize += sizeof > > (IPMI_BOOT_OPTIONS_RESPONSE_PARAMETER_2); > > + break; > > + > > + case IPMI_BOOT_OPTIONS_PARAMETER_SELECTOR_BMC_BOOT_FLAG: > > + RequestDataSize += sizeof > > (IPMI_BOOT_OPTIONS_RESPONSE_PARAMETER_3); > > + break; > > + > > + case IPMI_BOOT_OPTIONS_PARAMETER_BOOT_INFO_ACK: > > + RequestDataSize += sizeof > > (IPMI_BOOT_OPTIONS_RESPONSE_PARAMETER_4); > > + break; > > + > > + case IPMI_BOOT_OPTIONS_PARAMETER_BOOT_FLAGS: > > + RequestDataSize += sizeof > > (IPMI_BOOT_OPTIONS_RESPONSE_PARAMETER_5); > > + break; > > + > > + case IPMI_BOOT_OPTIONS_PARAMETER_BOOT_INITIATOR_INFO: > > + RequestDataSize += sizeof > > (IPMI_BOOT_OPTIONS_RESPONSE_PARAMETER_6); > > + break; > > + > > + case IPMI_BOOT_OPTIONS_PARAMETER_BOOT_INITIATOR_MAILBOX: > > + RequestDataSize += sizeof > > (IPMI_BOOT_OPTIONS_RESPONSE_PARAMETER_7); > > + break; > > + > > + default: > > + return EFI_INVALID_PARAMETER; > > + break; > > + } > > + > > + Status = 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 = sizeof (*BootOptionsResponse); > > - Status = IpmiSubmitCommand ( > > - IPMI_NETFN_CHASSIS, > > - IPMI_CHASSIS_GET_SYSTEM_BOOT_OPTIONS, > > - (VOID *)BootOptionsRequest, > > - sizeof (*BootOptionsRequest), > > - (VOID *)BootOptionsResponse, > > - &DataSize > > - ); > > + UINT32 ResponseDataSize; > > + > > + ResponseDataSize = sizeof (*BootOptionsResponse); > > + > > + switch (BootOptionsRequest->ParameterSelector.Bits.ParameterSelector) { > > + case IPMI_BOOT_OPTIONS_PARAMETER_SELECTOR_SET_IN_PROGRESS: > > + ResponseDataSize += sizeof > > (IPMI_BOOT_OPTIONS_RESPONSE_PARAMETER_0); > > + break; > > + > > + case > > > IPMI_BOOT_OPTIONS_PARAMETER_SELECTOR_SERVICE_PARTITION_SELECT > > OR: > > + ResponseDataSize += sizeof > > (IPMI_BOOT_OPTIONS_RESPONSE_PARAMETER_1); > > + break; > > + > > + case > > IPMI_BOOT_OPTIONS_PARAMETER_SELECTOR_SERVICE_PARTITION_SCAN: > > + ResponseDataSize += sizeof > > (IPMI_BOOT_OPTIONS_RESPONSE_PARAMETER_2); > > + break; > > + > > + case IPMI_BOOT_OPTIONS_PARAMETER_SELECTOR_BMC_BOOT_FLAG: > > + ResponseDataSize += sizeof > > (IPMI_BOOT_OPTIONS_RESPONSE_PARAMETER_3); > > + break; > > + > > + case IPMI_BOOT_OPTIONS_PARAMETER_BOOT_INFO_ACK: > > + ResponseDataSize += sizeof > > (IPMI_BOOT_OPTIONS_RESPONSE_PARAMETER_4); > > + break; > > + > > + case IPMI_BOOT_OPTIONS_PARAMETER_BOOT_FLAGS: > > + ResponseDataSize += sizeof > > (IPMI_BOOT_OPTIONS_RESPONSE_PARAMETER_5); > > + break; > > + > > + case IPMI_BOOT_OPTIONS_PARAMETER_BOOT_INITIATOR_INFO: > > + ResponseDataSize += sizeof > > (IPMI_BOOT_OPTIONS_RESPONSE_PARAMETER_6); > > + break; > > + > > + case IPMI_BOOT_OPTIONS_PARAMETER_BOOT_INITIATOR_MAILBOX: > > + ResponseDataSize += sizeof > > (IPMI_BOOT_OPTIONS_RESPONSE_PARAMETER_7); > > + break; > > + > > + default: > > + return EFI_INVALID_PARAMETER; > > + break; > > + } > > + > > + Status = IpmiSubmitCommand ( > > + IPMI_NETFN_CHASSIS, > > + IPMI_CHASSIS_GET_SYSTEM_BOOT_OPTIONS, > > + (VOID *)BootOptionsRequest, > > + sizeof (*BootOptionsRequest), > > + (VOID *)BootOptionsResponse, > > + &ResponseDataSize > > + ); > > return Status; > > } > > -- > > 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#106843): https://edk2.groups.io/g/devel/message/106843 Mute This Topic: https://groups.io/mt/100064790/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-