Re: [edk2-devel] [edk2-platforms][PATCH 1/2] ManageabilityPkg/IpmiFru: IPMI FRU Driver
Reviewed-by: Isaac Oram -Original Message- From: devel@edk2.groups.io On Behalf Of Chang, Abner via groups.io Sent: Thursday, May 11, 2023 8:27 PM To: devel@edk2.groups.io Cc: Oram, Isaac W ; Abdul Lateef Attar ; Nickle Wang ; Tinh Nguyen Subject: [edk2-devel] [edk2-platforms][PATCH 1/2] ManageabilityPkg/IpmiFru: IPMI FRU Driver From: Abner Chang IpmiFru is cloned from edk2-platforms/Features/Intel/OutOfBandManagement/ IpmiFeaturePkg/IpmiFru in order to consolidate edk2 system manageability support in one place. Uncustify is applied to C files and no functionalities are changed in this patch. We will still keep the one under IpmiFeaturePkg/IpmiFru until the reference to this instance are removed from platforms. Signed-off-by: Abner Chang Cc: Isaac Oram Cc: Abdul Lateef Attar Cc: Nickle Wang Cc: Tinh Nguyen --- .../Universal/IpmiFru/IpmiFru.inf | 34 ++ .../Universal/IpmiFru/IpmiFru.c | 67 +++ 2 files changed, 101 insertions(+) create mode 100644 Features/ManageabilityPkg/Universal/IpmiFru/IpmiFru.inf create mode 100644 Features/ManageabilityPkg/Universal/IpmiFru/IpmiFru.c diff --git a/Features/ManageabilityPkg/Universal/IpmiFru/IpmiFru.inf b/Features/ManageabilityPkg/Universal/IpmiFru/IpmiFru.inf new file mode 100644 index 00..ddef310309 --- /dev/null +++ b/Features/ManageabilityPkg/Universal/IpmiFru/IpmiFru.inf @@ -0,0 +1,34 @@ +### @file +# Component description file for IPMI FRU. +# +# Copyright (c) 2018 - 2019, Intel Corporation. All rights +reserved. # # SPDX-License-Identifier: BSD-2-Clause-Patent # ### + +[Defines] + INF_VERSION = 0x00010005 + BASE_NAME= IpmiFru + FILE_GUID= CD9B99D9-E86F-48CF-A8EB-20120AC22666 + MODULE_TYPE = DXE_DRIVER + PI_SPECIFICATION_VERSION = 0x0001000A + VERSION_STRING = 1.0 + ENTRY_POINT = InitializeFru + +[Sources] + IpmiFru.c + +[Packages] + ManageabilityPkg/ManageabilityPkg.dec + MdePkg/MdePkg.dec + +[LibraryClasses] + DebugLib + IpmiCommandLib + UefiBootServicesTableLib + UefiDriverEntryPoint + UefiLib + +[Depex] + TRUE diff --git a/Features/ManageabilityPkg/Universal/IpmiFru/IpmiFru.c b/Features/ManageabilityPkg/Universal/IpmiFru/IpmiFru.c new file mode 100644 index 00..2b489410db --- /dev/null +++ b/Features/ManageabilityPkg/Universal/IpmiFru/IpmiFru.c @@ -0,0 +1,67 @@ +/** @file + IPMI FRU Driver. + +Copyright (c) 2018 - 2019, Intel Corporation. All rights reserved. +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#include +#include +#include #include +#include #include + +/*++ + +Routine Description: + + Initialize SM Redirection Fru Layer + +Arguments: + + ImageHandle - ImageHandle of the loaded driver SystemTable - Pointer + to the System Table + +Returns: + + EFI_STATUS + +--*/ +EFI_STATUS +EFIAPI +InitializeFru ( + IN EFI_HANDLEImageHandle, + IN EFI_SYSTEM_TABLE *SystemTable + ) +{ + EFI_STATUS Status; + IPMI_GET_DEVICE_ID_RESPONSEControllerInfo; + IPMI_GET_FRU_INVENTORY_AREA_INFO_REQUEST GetFruInventoryAreaInfoRequest; + IPMI_GET_FRU_INVENTORY_AREA_INFO_RESPONSE +GetFruInventoryAreaInfoResponse; + + // + // Get all the SDR Records from BMC and retrieve the Record ID from the structure for future use. + // + Status = IpmiGetDeviceId (); if (EFI_ERROR (Status)) + { +DEBUG ((DEBUG_ERROR, "!!! IpmiFru IpmiGetDeviceId Status=%x\n", Status)); +return Status; + } + + DEBUG ((DEBUG_ERROR, "!!! IpmiFru FruInventorySupport %x\n", + ControllerInfo.DeviceSupport.Bits.FruInventorySupport)); + + if (ControllerInfo.DeviceSupport.Bits.FruInventorySupport) { +GetFruInventoryAreaInfoRequest.DeviceId = 0; +Status = IpmiGetFruInventoryAreaInfo (, ); +if (EFI_ERROR (Status)) { + DEBUG ((DEBUG_ERROR, "!!! IpmiFru IpmiGetFruInventoryAreaInfo Status=%x\n", Status)); + return Status; +} + +DEBUG ((DEBUG_ERROR, "!!! IpmiFru InventoryAreaSize=%x\n", + GetFruInventoryAreaInfoResponse.InventoryAreaSize)); + } + + return EFI_SUCCESS; +} -- 2.37.1.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#105057): https://edk2.groups.io/g/devel/message/105057 Mute This Topic: https://groups.io/mt/98842631/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
Re: [edk2-devel] [edk2-platforms][PATCH 1/2] ManageabilityPkg/IpmiFru: IPMI FRU Driver
Reviewed-by: Tinh Nguyen Thanks, - Tinh On 12/05/2023 10:26, abner.ch...@amd.com wrote: From: Abner Chang IpmiFru is cloned from edk2-platforms/Features/Intel/OutOfBandManagement/ IpmiFeaturePkg/IpmiFru in order to consolidate edk2 system manageability support in one place. Uncustify is applied to C files and no functionalities are changed in this patch. We will still keep the one under IpmiFeaturePkg/IpmiFru until the reference to this instance are removed from platforms. Signed-off-by: Abner Chang Cc: Isaac Oram Cc: Abdul Lateef Attar Cc: Nickle Wang Cc: Tinh Nguyen --- .../Universal/IpmiFru/IpmiFru.inf | 34 ++ .../Universal/IpmiFru/IpmiFru.c | 67 +++ 2 files changed, 101 insertions(+) create mode 100644 Features/ManageabilityPkg/Universal/IpmiFru/IpmiFru.inf create mode 100644 Features/ManageabilityPkg/Universal/IpmiFru/IpmiFru.c diff --git a/Features/ManageabilityPkg/Universal/IpmiFru/IpmiFru.inf b/Features/ManageabilityPkg/Universal/IpmiFru/IpmiFru.inf new file mode 100644 index 00..ddef310309 --- /dev/null +++ b/Features/ManageabilityPkg/Universal/IpmiFru/IpmiFru.inf @@ -0,0 +1,34 @@ +### @file +# Component description file for IPMI FRU. +# +# Copyright (c) 2018 - 2019, Intel Corporation. All rights reserved. +# +# SPDX-License-Identifier: BSD-2-Clause-Patent +# +### + +[Defines] + INF_VERSION = 0x00010005 + BASE_NAME= IpmiFru + FILE_GUID= CD9B99D9-E86F-48CF-A8EB-20120AC22666 + MODULE_TYPE = DXE_DRIVER + PI_SPECIFICATION_VERSION = 0x0001000A + VERSION_STRING = 1.0 + ENTRY_POINT = InitializeFru + +[Sources] + IpmiFru.c + +[Packages] + ManageabilityPkg/ManageabilityPkg.dec + MdePkg/MdePkg.dec + +[LibraryClasses] + DebugLib + IpmiCommandLib + UefiBootServicesTableLib + UefiDriverEntryPoint + UefiLib + +[Depex] + TRUE diff --git a/Features/ManageabilityPkg/Universal/IpmiFru/IpmiFru.c b/Features/ManageabilityPkg/Universal/IpmiFru/IpmiFru.c new file mode 100644 index 00..2b489410db --- /dev/null +++ b/Features/ManageabilityPkg/Universal/IpmiFru/IpmiFru.c @@ -0,0 +1,67 @@ +/** @file + IPMI FRU Driver. + +Copyright (c) 2018 - 2019, Intel Corporation. All rights reserved. +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#include +#include +#include +#include +#include +#include + +/*++ + +Routine Description: + + Initialize SM Redirection Fru Layer + +Arguments: + + ImageHandle - ImageHandle of the loaded driver + SystemTable - Pointer to the System Table + +Returns: + + EFI_STATUS + +--*/ +EFI_STATUS +EFIAPI +InitializeFru ( + IN EFI_HANDLEImageHandle, + IN EFI_SYSTEM_TABLE *SystemTable + ) +{ + EFI_STATUS Status; + IPMI_GET_DEVICE_ID_RESPONSEControllerInfo; + IPMI_GET_FRU_INVENTORY_AREA_INFO_REQUEST GetFruInventoryAreaInfoRequest; + IPMI_GET_FRU_INVENTORY_AREA_INFO_RESPONSE GetFruInventoryAreaInfoResponse; + + // + // Get all the SDR Records from BMC and retrieve the Record ID from the structure for future use. + // + Status = IpmiGetDeviceId (); + if (EFI_ERROR (Status)) { +DEBUG ((DEBUG_ERROR, "!!! IpmiFru IpmiGetDeviceId Status=%x\n", Status)); +return Status; + } + + DEBUG ((DEBUG_ERROR, "!!! IpmiFru FruInventorySupport %x\n", ControllerInfo.DeviceSupport.Bits.FruInventorySupport)); + + if (ControllerInfo.DeviceSupport.Bits.FruInventorySupport) { +GetFruInventoryAreaInfoRequest.DeviceId = 0; +Status = IpmiGetFruInventoryAreaInfo (, ); +if (EFI_ERROR (Status)) { + DEBUG ((DEBUG_ERROR, "!!! IpmiFru IpmiGetFruInventoryAreaInfo Status=%x\n", Status)); + return Status; +} + +DEBUG ((DEBUG_ERROR, "!!! IpmiFru InventoryAreaSize=%x\n", GetFruInventoryAreaInfoResponse.InventoryAreaSize)); + } + + return EFI_SUCCESS; +} -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#104780): https://edk2.groups.io/g/devel/message/104780 Mute This Topic: https://groups.io/mt/98842631/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
Re: [edk2-devel] [edk2-platforms][PATCH 1/2] ManageabilityPkg/IpmiFru: IPMI FRU Driver
Reviewed-by: Nickle Wang Regards, Nickle > -Original Message- > From: abner.ch...@amd.com > Sent: Friday, May 12, 2023 11:27 AM > To: devel@edk2.groups.io > Cc: Isaac Oram ; Abdul Lateef Attar > ; Nickle Wang ; Tinh Nguyen > > Subject: [edk2-platforms][PATCH 1/2] ManageabilityPkg/IpmiFru: IPMI FRU > Driver > > External email: Use caution opening links or attachments > > > From: Abner Chang > > IpmiFru is cloned from > edk2-platforms/Features/Intel/OutOfBandManagement/ > IpmiFeaturePkg/IpmiFru in order to consolidate > edk2 system manageability support in one place. > Uncustify is applied to C files and no functionalities are changed in this > patch. > > We will still keep the one under IpmiFeaturePkg/IpmiFru until the reference to > this instance are removed from platforms. > > Signed-off-by: Abner Chang > Cc: Isaac Oram > Cc: Abdul Lateef Attar > Cc: Nickle Wang > Cc: Tinh Nguyen > --- > .../Universal/IpmiFru/IpmiFru.inf | 34 ++ > .../Universal/IpmiFru/IpmiFru.c | 67 +++ > 2 files changed, 101 insertions(+) > create mode 100644 Features/ManageabilityPkg/Universal/IpmiFru/IpmiFru.inf > create mode 100644 Features/ManageabilityPkg/Universal/IpmiFru/IpmiFru.c > > diff --git a/Features/ManageabilityPkg/Universal/IpmiFru/IpmiFru.inf > b/Features/ManageabilityPkg/Universal/IpmiFru/IpmiFru.inf > new file mode 100644 > index 00..ddef310309 > --- /dev/null > +++ b/Features/ManageabilityPkg/Universal/IpmiFru/IpmiFru.inf > @@ -0,0 +1,34 @@ > +### @file > +# Component description file for IPMI FRU. > +# > +# Copyright (c) 2018 - 2019, Intel Corporation. All rights > +reserved. # # SPDX-License-Identifier: BSD-2-Clause-Patent # ### > + > +[Defines] > + INF_VERSION = 0x00010005 > + BASE_NAME= IpmiFru > + FILE_GUID= CD9B99D9-E86F-48CF-A8EB-20120AC22666 > + MODULE_TYPE = DXE_DRIVER > + PI_SPECIFICATION_VERSION = 0x0001000A > + VERSION_STRING = 1.0 > + ENTRY_POINT = InitializeFru > + > +[Sources] > + IpmiFru.c > + > +[Packages] > + ManageabilityPkg/ManageabilityPkg.dec > + MdePkg/MdePkg.dec > + > +[LibraryClasses] > + DebugLib > + IpmiCommandLib > + UefiBootServicesTableLib > + UefiDriverEntryPoint > + UefiLib > + > +[Depex] > + TRUE > diff --git a/Features/ManageabilityPkg/Universal/IpmiFru/IpmiFru.c > b/Features/ManageabilityPkg/Universal/IpmiFru/IpmiFru.c > new file mode 100644 > index 00..2b489410db > --- /dev/null > +++ b/Features/ManageabilityPkg/Universal/IpmiFru/IpmiFru.c > @@ -0,0 +1,67 @@ > +/** @file > + IPMI FRU Driver. > + > +Copyright (c) 2018 - 2019, Intel Corporation. All rights reserved. > +SPDX-License-Identifier: BSD-2-Clause-Patent > + > +**/ > + > +#include > +#include > +#include #include > +#include #include > + > +/*++ > + > +Routine Description: > + > + Initialize SM Redirection Fru Layer > + > +Arguments: > + > + ImageHandle - ImageHandle of the loaded driver SystemTable - Pointer > + to the System Table > + > +Returns: > + > + EFI_STATUS > + > +--*/ > +EFI_STATUS > +EFIAPI > +InitializeFru ( > + IN EFI_HANDLEImageHandle, > + IN EFI_SYSTEM_TABLE *SystemTable > + ) > +{ > + EFI_STATUS Status; > + IPMI_GET_DEVICE_ID_RESPONSEControllerInfo; > + IPMI_GET_FRU_INVENTORY_AREA_INFO_REQUEST > GetFruInventoryAreaInfoRequest; > + IPMI_GET_FRU_INVENTORY_AREA_INFO_RESPONSE > +GetFruInventoryAreaInfoResponse; > + > + // > + // Get all the SDR Records from BMC and retrieve the Record ID from the > structure for future use. > + // > + Status = IpmiGetDeviceId (); if (EFI_ERROR (Status)) > + { > +DEBUG ((DEBUG_ERROR, "!!! IpmiFru IpmiGetDeviceId Status=%x\n", > Status)); > +return Status; > + } > + > + DEBUG ((DEBUG_ERROR, "!!! IpmiFru FruInventorySupport %x\n", > + ControllerInfo.DeviceSupport.Bits.FruInventorySupport)); > + > + if (ControllerInfo.DeviceSupport.Bits.FruInventorySupport) { > +GetFruInventoryAreaInfoRequest.DeviceId = 0; > +Status = IpmiGetFruInventoryAreaInfo > (, ); > +if (EFI_ERROR (Status)) { > + DEBUG ((DEBUG_ERROR, "!!! IpmiFru IpmiGetFruInventoryAreaInfo > Status=%x\n", Status)); > + return Status; > +} > + > +DEBUG ((DEBUG_ERROR, "!!! IpmiFru InventoryAreaSize=%x\n", > + GetFruInventoryAreaInfoResponse.InventoryAreaSize)); > + } > + > + return EFI_SUCCESS; > +} > -- > 2.37.1.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#104750): https://edk2.groups.io/g/devel/message/104750 Mute This Topic: https://groups.io/mt/98842631/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[edk2-devel] [edk2-platforms][PATCH 1/2] ManageabilityPkg/IpmiFru: IPMI FRU Driver
From: Abner Chang IpmiFru is cloned from edk2-platforms/Features/Intel/OutOfBandManagement/ IpmiFeaturePkg/IpmiFru in order to consolidate edk2 system manageability support in one place. Uncustify is applied to C files and no functionalities are changed in this patch. We will still keep the one under IpmiFeaturePkg/IpmiFru until the reference to this instance are removed from platforms. Signed-off-by: Abner Chang Cc: Isaac Oram Cc: Abdul Lateef Attar Cc: Nickle Wang Cc: Tinh Nguyen --- .../Universal/IpmiFru/IpmiFru.inf | 34 ++ .../Universal/IpmiFru/IpmiFru.c | 67 +++ 2 files changed, 101 insertions(+) create mode 100644 Features/ManageabilityPkg/Universal/IpmiFru/IpmiFru.inf create mode 100644 Features/ManageabilityPkg/Universal/IpmiFru/IpmiFru.c diff --git a/Features/ManageabilityPkg/Universal/IpmiFru/IpmiFru.inf b/Features/ManageabilityPkg/Universal/IpmiFru/IpmiFru.inf new file mode 100644 index 00..ddef310309 --- /dev/null +++ b/Features/ManageabilityPkg/Universal/IpmiFru/IpmiFru.inf @@ -0,0 +1,34 @@ +### @file +# Component description file for IPMI FRU. +# +# Copyright (c) 2018 - 2019, Intel Corporation. All rights reserved. +# +# SPDX-License-Identifier: BSD-2-Clause-Patent +# +### + +[Defines] + INF_VERSION = 0x00010005 + BASE_NAME= IpmiFru + FILE_GUID= CD9B99D9-E86F-48CF-A8EB-20120AC22666 + MODULE_TYPE = DXE_DRIVER + PI_SPECIFICATION_VERSION = 0x0001000A + VERSION_STRING = 1.0 + ENTRY_POINT = InitializeFru + +[Sources] + IpmiFru.c + +[Packages] + ManageabilityPkg/ManageabilityPkg.dec + MdePkg/MdePkg.dec + +[LibraryClasses] + DebugLib + IpmiCommandLib + UefiBootServicesTableLib + UefiDriverEntryPoint + UefiLib + +[Depex] + TRUE diff --git a/Features/ManageabilityPkg/Universal/IpmiFru/IpmiFru.c b/Features/ManageabilityPkg/Universal/IpmiFru/IpmiFru.c new file mode 100644 index 00..2b489410db --- /dev/null +++ b/Features/ManageabilityPkg/Universal/IpmiFru/IpmiFru.c @@ -0,0 +1,67 @@ +/** @file + IPMI FRU Driver. + +Copyright (c) 2018 - 2019, Intel Corporation. All rights reserved. +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#include +#include +#include +#include +#include +#include + +/*++ + +Routine Description: + + Initialize SM Redirection Fru Layer + +Arguments: + + ImageHandle - ImageHandle of the loaded driver + SystemTable - Pointer to the System Table + +Returns: + + EFI_STATUS + +--*/ +EFI_STATUS +EFIAPI +InitializeFru ( + IN EFI_HANDLEImageHandle, + IN EFI_SYSTEM_TABLE *SystemTable + ) +{ + EFI_STATUS Status; + IPMI_GET_DEVICE_ID_RESPONSEControllerInfo; + IPMI_GET_FRU_INVENTORY_AREA_INFO_REQUEST GetFruInventoryAreaInfoRequest; + IPMI_GET_FRU_INVENTORY_AREA_INFO_RESPONSE GetFruInventoryAreaInfoResponse; + + // + // Get all the SDR Records from BMC and retrieve the Record ID from the structure for future use. + // + Status = IpmiGetDeviceId (); + if (EFI_ERROR (Status)) { +DEBUG ((DEBUG_ERROR, "!!! IpmiFru IpmiGetDeviceId Status=%x\n", Status)); +return Status; + } + + DEBUG ((DEBUG_ERROR, "!!! IpmiFru FruInventorySupport %x\n", ControllerInfo.DeviceSupport.Bits.FruInventorySupport)); + + if (ControllerInfo.DeviceSupport.Bits.FruInventorySupport) { +GetFruInventoryAreaInfoRequest.DeviceId = 0; +Status = IpmiGetFruInventoryAreaInfo (, ); +if (EFI_ERROR (Status)) { + DEBUG ((DEBUG_ERROR, "!!! IpmiFru IpmiGetFruInventoryAreaInfo Status=%x\n", Status)); + return Status; +} + +DEBUG ((DEBUG_ERROR, "!!! IpmiFru InventoryAreaSize=%x\n", GetFruInventoryAreaInfoResponse.InventoryAreaSize)); + } + + return EFI_SUCCESS; +} -- 2.37.1.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#104743): https://edk2.groups.io/g/devel/message/104743 Mute This Topic: https://groups.io/mt/98842631/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-