summaryrefslogtreecommitdiffstats
path: root/RedfishPkg
Commit message (Collapse)AuthorAgeFilesLines
* RedfishPkg/RedfishHttpDxe: report failure via status codeNickle Wang2025-01-221-11/+9
| | | | | | | | Manageability status code is introduced to edk2. Enable the ability to report Redfish communication failure via status code. This gives the chance for BMC to capture Redfish error. Signed-off-by: Nickle Wang <nicklew@nvidia.com>
* RedfishPkg/RedfishPlatformConfigDxe: check attribute max. and min. valueNickle Wang2025-01-031-4/+35
| | | | | | | | | - For integer attribute, check and see if its value is between maximum and minimum value defined by HII question. - For string attribute, check and see if its string length is between maximum string length and minimum string length defined by HII question. Signed-off-by: Nickle Wang <nicklew@nvidia.com>
* Redfish/HiiUtilityLib Fix incorrect type assignmentIgor Kulchytskyy2024-12-271-3/+17
| | | | | | | | | Replaced direct assignment of 'Value = (EFI_HII_VALUE *)&Question->Value' with the correct usage of HiiStatementValueToHiiValue function. This resolves the issue where EFI_HII_VALUE and HII_STATEMENT_VALUE types are incompatible, ensuring proper handling of Question->Value. Signed-off-by: Igor Kulchytskyy <igork@ami.com>
* RedfishPkg: Drop ARM supportArd Biesheuvel2024-11-262-8/+2
| | | | | | | | | | | | | | | | | | Redfish uses JsonLib, which supports encoding real numbers. This handling is implemented using C floating point types, which means that on 32-bit ARM, a softfloat library is required, even though the CPUs we still (marginally) care about all support floating point in hardware. The UEFI spec does not permit the use of floating point on ARM at all, and so the correct thing to do here is to simply disable this driver on 32-bit ARM entirely. Note that the ARM platform code does allow the VFP unit to be enabled at boot time, and so rebuilding this driver with hardware FP should be feasible, in case anyone has an interest in running it on a 32-bit ARM system. Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
* MdePkg: MdeLibs.dsc.inc: Apply StackCheckLibNull to All Module TypesOliver Smith-Denny2024-11-131-4/+0
| | | | | | | | | | | | | | | Now that the ResetVectors are USER_DEFINED modules, they will not be linked against StackCheckLibNull, which were the only modules causing issues. So, we can now remove the kludge we had before and the requirement for every DSC to include StackCheckLibNull for SEC modules and just apply StackCheckLibNull globally. This also changes every DSC to drop the SEC definition of StackCheckLibNull. Continuous-integration-options: PatchCheck.ignore-multi-package Signed-off-by: Oliver Smith-Denny <osde@linux.microsoft.com>
* RedfishPkg/RedfishCredentialDxe: Fix 'too many arguments' errorNhi Pham2024-10-141-1/+2
| | | | | | | This fixes the error 'too many arguments to ClearRedfishServiceList' when building with clang compiler. Signed-off-by: Nhi Pham <nhi@os.amperecomputing.com>
* RedfishPkg/Include: add common RedfishPkg header file.Nickle Wang2024-09-275-11/+22
| | | | | | | | IS_EMPTY_STRING macro is defined in multiple drivers in RedfishPkg. So, I create RedfishCommon.h to keep common macros that we can use in RedfishPkg. Signed-off-by: Nickle Wang <nicklew@nvidia.com>
* RedfishPkg/Include: move protocol version definition to protocol headerNickle Wang2024-09-162-5/+8
| | | | | | | Move protocol interface version definition to public protocol header file. So, driver can decide which version it is supported. Signed-off-by: Nickle Wang <nicklew@nvidia.com>
* RedfishPkg: Add StackCheckLibNullOliver Smith-Denny2024-09-131-4/+4
| | | | | | | Remove the old stack check lib now that MdeLibs.inc includes the new one. Signed-off-by: Oliver Smith-Denny <osde@linux.microsoft.com>
* MdePkg: Move CompilerIntrinsicsLib from ArmPkgOliver Smith-Denny2024-09-121-1/+0
| | | | | | | | | | | | | | | | | | | | As per the emailed RFC in https://edk2.groups.io/g/devel/topic/rfc_move/107675828, this patch moves CompilerIntrinsicsLib from ArmPkg to MdePkg as this library provides compiler intrinsics, which are industry standard. This aligns with the goal of integrating ArmPkg into existing packages: https://bugzilla.tianocore.org/show_bug.cgi?id=4121. The newly placed CompilerIntrinsicsLib is added to MdeLibs.dsc.inc as every DSC that builds ARM/AARCH64 needs this library added. The old location is removed from every DSC in edk2 in this commit also to not break bisectability with minimal hoop jumping. Continuous-integration-options: PatchCheck.ignore-multi-package Signed-off-by: Oliver Smith-Denny <osde@linux.microsoft.com>
* RedfishPkg: PlatformHostInterfaceBmcUsbNicLib: use credential protocolMike Maslenkin2024-09-053-37/+44
| | | | | | | | | | | | | | | | | | | | | | | | | This patch replaces call of IpmiSubmitCommand() issued REDFISH_IPMI_BOOTSTRAP_CREDENTIAL_ENABLE IPMI command to check whether bootstrap credential support enabled or not. The problem is that in accordance with IPMI spec while handling such command BMC creates bootstrap account. The credentials of this account is returned as a response. Obviously in this code the response is not used. From the other side there is an implementation of EDKII_REDFISH_CREDENTIAL_PROTOCOL exists and used by RedfishPlatformCredentialIpmiLib. By design RedfishPlatformCredentialIpmiLib keeps returned bootstrap credentials and uses it later. So all services using EDKII_REDFISH_CREDENTIAL_PROTOCOL instance operates with a same credentials. Current design of PlatformHostInterfaceBmcUsbNicLib leads to creation of two bootstrap accounts on BMC side. This is on nesseccary and one account is not used at all. Using EDKII_REDFISH_CREDENTIAL_PROTOCOL prevents from creating useless bootstrap account on BMC side. Signed-off-by: Mike Maslenkin <mike.maslenkin@gmail.com>
* RedfishPkg: PlatformHostInterfaceBmcUsbNicLib: fix compilation warningMike Maslenkin2024-09-051-0/+1
| | | | | | | | | | | | | PlatformHostInterfaceBmcUsbNicLib.c: In function 'CheckBmcUsbNic': PlatformHostInterfaceBmcUsbNicLib.c:1253:14: error: error: 'HandleBuffer' may be used uninitialized in this function [-Werror=maybe-uninitialized] Status = CheckBmcUsbNicOnHandles (BufferSize/sizeof (EFI_HANDLE), HandleBuffer); cc1: all warnings being treated as errors Signed-off-by: Mike Maslenkin <mike.maslenkin@gmail.com>
* RedfishPkg: RedfishDiscoverDxe: fix compilation warningMike Maslenkin2024-09-051-0/+1
| | | | | | | | | | | /RedfishDiscoverDxe.c:1979:37: error: 'RestExInstance' may be used uninitialized in this function [-Werror=maybe-uninitialized] RestExInstance->Signature = EFI_REDFISH_DISCOVER_DATA_SIGNATURE; cc1: all warnings being treated as errors Signed-off-by: Mike Maslenkin <mike.maslenkin@gmail.com>
* RedfishPkg/RedfishHttpDxe: check response content type.Nickle Wang2024-08-291-0/+12
| | | | | | | | Check HTTP response content type to see if it is application/json type or not. In Redfish, we expect to see response data in JSON format. If it is not, show warning message to developer. Signed-off-by: Nickle Wang <nicklew@nvidia.com>
* RedfishPkg/RedfishHttpDxe: add status code check for modification requestNickle Wang2024-08-291-4/+65
| | | | | | | | Add HTTP status code check for POST, PUT, PATCH and DELETE Redfish request. When status code is not expected, return failure to caller. The expected HTTP status code is defined in Redfish specification. Signed-off-by: Nickle Wang <nicklew@nvidia.com>
* RedfishPkg: Allow deletion of the bootstrap accountIgor Kulchytskyy2024-08-079-88/+999
| | | | | | | | | | | | | Extending the Redfish Credential protocol to allow Redfish Clients to be registered/unregistered for tracking their end of work and delete a bootstrap account when all registered Redfish clients finish their communication with Redfish service. Redfish Http module also was updated to register/unregister clients on Redfish Service creation/stop event. Cc: Abner Chang <abner.chang@amd.com> Cc: Nickle Wang <nicklew@nvidia.com> Signed-off-by: Igor Kulchytskyy <igork@ami.com>
* RedfishPkg: Fix some spelling mistakes found by cspellRebecca Cran2024-08-013-6/+6
| | | | | | | | | | | When cspell is installed (via `npm install cspell`), CI checks for spelling mistakes. There are currently a very large number of them: some are genuine mistakes while others are words or acryonyms that cspell doesn't know. Fix a few of the misspellings in RedfishPkg. Signed-off-by: Rebecca Cran <rebecca@bsdio.com>
* RedfishPkg: Reduce DEBUG_ERROR to DEBUG_MANAGEABILITY in various placesRebecca Cran2024-07-172-5/+5
| | | | | | | | | The Redfish drivers log messages as errors in various places when they don't find an appropriate network interface - even when one has already been found. Reduce those log messages to DEBUG_MANAGEABILITY to avoid spamming the console in Release builds. Signed-off-by: Rebecca Cran <rebecca@os.amperecomputing.com>
* RedfishPkg/RedfishPlatformConfigDxe: remove false alarmNickle Wang2024-07-101-3/+3
| | | | | | | | | | | | | Change the debug message level to DEBUG_INFO for protocol notification functions. The protocol notification function is invoked at least one time. So, the failure of locating protocol is expected because protocol may not be installed when Redfish platform config driver is launched. Signed-off-by: Nickle Wang <nicklew@nvidia.com> Cc: Abner Chang <abner.chang@amd.com> Cc: Igor Kulchytskyy <igork@ami.com> Cc: Rebecca Cran <rebecca@bsdio.com>
* RedfishPkg: Rename x-uefi-redfish to x-UEFI-redfishNickle Wang2024-05-048-63/+63
| | | | | | | | | | | | | | Rename x-uefi-redfish to x-UEFI-redfish to match the format of UEFI configuration namespace prefix. RFC: https://edk2.groups.io/g/rfc/message/849 Signed-off-by: Jeff Brasen <jbrasen@nvidia.com> Co-authored-by: Nickle Wang <nicklew@nvidia.com> Cc: Abner Chang <abner.chang@amd.com> Cc: Igor Kulchytskyy <igork@ami.com> Cc: Nick Ramirez <nramirez@nvidia.com> Reviewed-by: Abner Chang <abner.chang@amd.com>
* RedfishPkg/RedfishPlatformConfigDxe: support menu path reportNickle Wang2024-04-043-18/+49
| | | | | | | | | | | | | "MenuPath" is the attribute in BIOS attribute registry. To support reporting this attribute, we need to include the formset without x-uefi-redfish support in database. So driver can find menu path to target attribute in BIOS menu. Signed-off-by: Nickle Wang <nicklew@nvidia.com> Cc: Abner Chang <abner.chang@amd.com> Cc: Igor Kulchytskyy <igork@ami.com> Reviewed-by: Nickle Wang <nicklew@nvidia.com> Reviewed-by: Igor Kulchytskyy <igork@ami.com>
* RedfishPkg/RedfishPlatformConfigDxe: HII string is deleted unexpectedlyAbner Chang2024-04-041-2/+5
| | | | | | | | | | | | Add the condition check when delete HII string. Only when the HiiStatement operand equal to "EFI_IFR_STRING_OP" and the statement value type = EFI_IFR_TYPE_STRING. Signed-off-by: Abner Chang <abner.chang@amd.com> Co-authored-by: Nickle Wang <nicklew@nvidia.com> Cc: Igor Kulchytskyy <igork@ami.com> Reviewed-by: Nickle Wang <nicklew@nvidia.com> Reviewed-by: Igor Kulchytskyy <igork@ami.com>
* RedfishPkg/RedfishPlatformConfigDxe:Add RefishDebugLib supportAbner Chang2024-04-047-59/+262
| | | | | | | | | | | | | | | | | Add RedfishPlatformConfigDxe debug capability that aligns with edk2 Redfish debug mechanism. - PcdRedfishPlatformConfigDebugProperty, add PCD to control RedfishPlatformConfigDxe subordinate of Redfish debug capabilities. - PcdRedfishPlatformConfigFeatureProperty, add PCD to manage RedfishPlatformConfigDxe features. Signed-off-by: Abner Chang <abner.chang@amd.com> Co-authored-by: Nickle Wang <nicklew@nvidia.com> Cc: Igor Kulchytskyy <igork@ami.com> Reviewed-by: Nickle Wang <nicklew@nvidia.com> Reviewed-by: Igor Kulchytskyy <igork@ami.com>
* RedfishPkg/RedfishDebugLib: Introduce Redfish DEBUG macroAbner Chang2024-04-044-54/+57
| | | | | | | | | | | | | | | Introduce DEBUG_REDFISH macro for the debug message of edk2 Redfish components. DEBUG_REDFISH can be used in any edk2 Redfish component with Redfish DebugCatagory as the first parameter. Whether the debug message is output or not depends on the platform setting of PcdRedfishDebugCatagory. Signed-off-by: Abner Chang <abner.chang@amd.com> Cc: Nickle Wang <nicklew@nvidia.com> Cc: Igor Kulchytskyy <igork@ami.com> Reviewed-by: Nickle Wang <nicklew@nvidia.com> Reviewed-by: Igor Kulchytskyy <igork@ami.com>
* RedfishPkg/RedfishPlatformConfigDxe: Config language searching optimizationabnchang2024-04-043-72/+877
| | | | | | | | | | | | Build up the x-uefi-redfish string database for the Redfish confg language searching, instead of using HII String protocol. This can improve the time consumption lot on searching strings. Signed-off-by: Abner Chang <abner.chang@amd.com> Co-authored-by: Nickle Wang <nicklew@nvidia.com> Cc: Igor Kulchytskyy <igork@ami.com> Reviewed-by: Nickle Wang <nicklew@nvidia.com> Reviewed-by: Igor Kulchytskyy <igork@ami.com>
* RedfishPkg/RedfishCrtLib: fix unresolved external symbol issueNickle Wang2024-02-293-1/+45
| | | | | | | | | | | | | | | -Fix below compiler error reported in edk2 CI. ERROR - Linker #2001 from JsonLib.lib(load.obj) : unresolved external symbol __ftol2 -The file MathFtol.c is copied from IntrinsicLib in CryptoPkg. -Add MathFtol.c to EccCheck IgnoreFiles. Signed-off-by: Nickle Wang <nicklew@nvidia.com> Cc: Abner Chang <abner.chang@amd.com> Cc: Igor Kulchytskyy <igork@ami.com> Cc: Nick Ramirez <nramirez@nvidia.com> Reviewed-by: Abner Chang <abner.chang@amd.com> Reviewed-by: Igor Kulchytskyy <igork@ami.com>
* RedfishPkg/RedfishDebugLib: use RedfishHttpLibNickle Wang2024-02-293-3/+4
| | | | | | | | | | | | Remove RedfishLib and use RedfishHttpLib for debug printing Redfish response data. Signed-off-by: Nickle Wang <nicklew@nvidia.com> Cc: Abner Chang <abner.chang@amd.com> Cc: Igor Kulchytskyy <igork@ami.com> Cc: Nick Ramirez <nramirez@nvidia.com> Reviewed-by: Abner Chang <abner.chang@amd.com> Reviewed-by: Igor Kulchytskyy <igork@ami.com>
* RedfishPkg/RedfishLib: include RedfishServiceData.hNickle Wang2024-02-291-16/+1
| | | | | | | | | | | | Redfish common structures are moved to RedfishServiceData.h. Remove them from RedfishLib.h Signed-off-by: Nickle Wang <nicklew@nvidia.com> Cc: Abner Chang <abner.chang@amd.com> Cc: Igor Kulchytskyy <igork@ami.com> Cc: Nick Ramirez <nramirez@nvidia.com> Reviewed-by: Abner Chang <abner.chang@amd.com> Reviewed-by: Igor Kulchytskyy <igork@ami.com>
* RedfishPkg: introduce RedfishHttpLibNickle Wang2024-02-296-2/+963
| | | | | | | | | | | | RedfishHttpLib is a wrapper library for Redfish feature drivers to call Redfish HTTP Protocol easily. Signed-off-by: Nickle Wang <nicklew@nvidia.com> Cc: Abner Chang <abner.chang@amd.com> Cc: Igor Kulchytskyy <igork@ami.com> Cc: Nick Ramirez <nramirez@nvidia.com> Reviewed-by: Abner Chang <abner.chang@amd.com> Reviewed-by: Igor Kulchytskyy <igork@ami.com>
* RedfishPkg: implement Redfish HTTP protocolNickle Wang2024-02-2911-4/+3164
| | | | | | | | | | | | | implement Redfish HTTP protocol driver. Signed-off-by: Nickle Wang <nicklew@nvidia.com> Co-authored-by: Igor Kulchytskyy <igork@ami.com> Cc: Abner Chang <abner.chang@amd.com> Cc: Igor Kulchytskyy <igork@ami.com> Cc: Nick Ramirez <nramirez@nvidia.com> Reviewed-by: Abner Chang <abner.chang@amd.com> Reviewed-by: Igor Kulchytskyy <igork@ami.com> Reviewed-by: Mike Maslenkin <mike.maslenkin@gmail.com>
* RedfishPkg: introduce Redfish HTTP protocolNickle Wang2024-02-293-1/+374
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce Redfish HTTP protocol to improve Redfish performance and communication stability between BIOS and Redfish service. - Feature drivers often query same Redfish resource multiple times for different purpose. Implement HTTP cache mechanism to improve HTTP GET performance. "UseCache" parameter is provided if application likes to send HTTP GET request to Redfish service without using cache data. - This driver will retire stale cache data automatically when application modify Redfish resource at service side. - PCD PcdHttpCacheDisabled is used to disable cache mechanism in this driver for debugging purpose. - PCD PcdRedfishServiceContentEncoding is used to enable content encoding while sending data to Redfish service. - Redfish HTTP protocol also implement retry mechanism to retry HTTP request when BIOS receive unexpected response from Redfish service. This function helps BIOS Redfish to finish its job as much as possible. - PCDs are defined to control how many times BIOS will retry the request and how many time BIOS will wait between retries. Signed-off-by: Nickle Wang <nicklew@nvidia.com> Co-authored-by: Igor Kulchytskyy <igork@ami.com> Cc: Abner Chang <abner.chang@amd.com> Cc: Igor Kulchytskyy <igork@ami.com> Cc: Nick Ramirez <nramirez@nvidia.com> Reviewed-by: Abner Chang <abner.chang@amd.com> Reviewed-by: Igor Kulchytskyy <igork@ami.com>
* RedfishPkg/RestJsonStructureDxe: Refine REST JSON C Structure DXE driverAbner Chang2024-02-273-6/+96
| | | | | | | | | | | | | | | | | | | BZ #: 4711 - Add mode debug messages. - Remove the references of "Redfish" from this driver. As REST JSON C Structure was not designed for Redfish only. Any RESTful applications can register the converter and provide JSON-C structure conversions through EFI_REST_JSON_STRUCTURE_PROTOCOL. Therefore this driver shouldn't have a dependency on Redfish package and the references of "Redfish" terminology. - Fix the missing parameter of DEBUG macros used in this driver. Signed-off-by: Abner Chang <abner.chang@amd.com> Cc: Nickle Wang <nicklew@nvidia.com> Cc: Igor Kulchytskyy <igork@ami.com> Reviewed-by: Nickle Wang <nicklew@nvidia.com>
* RedfishPkg/JsonLib: Add JSON delete object functionAbner Chang2024-01-162-0/+41
| | | | | | | | | To support the deletion on a specified JSON object. Signed-off-by: Abner Chang <abner.chang@amd.com> Cc: Nickle Wang <nicklew@nvidia.com> Cc: Igor Kulchytskyy <igork@ami.com> Reviewed-by: Nickle Wang <nicklew@nvidia.com>
* RedfishPkg/RedfishCrtLib: handle floating point number in JSONNickle Wang2024-01-152-7/+30
| | | | | | | | | | | | | | When the value type is defined as number in Redfish schema, floating point number is allowed. RedfishCrtLib raises assert without handling this case now. Follow the way in EDK2 to call AsciiStrDecimalToUintnS and handle the floating point number. Only the integer value is returned. Signed-off-by: Nickle Wang <nicklew@nvidia.com> Cc: Abner Chang <abner.chang@amd.com> Cc: Igor Kulchytskyy <igork@ami.com> Cc: Nick Ramirez <nramirez@nvidia.com> Reviewed-by: Abner Chang <abner.chang@amd.com>
* RedfishPkg/RedfishDebugLib: add function to print buffer.Nickle Wang2024-01-102-4/+61
| | | | | | | | | | | | Introduce DumpBuffer function to print the buffer content. This helps developer to debug Redfish issue. Signed-off-by: Nickle Wang <nicklew@nvidia.com> Cc: Abner Chang <abner.chang@amd.com> Cc: Igor Kulchytskyy <igork@ami.com> Cc: Nick Ramirez <nramirez@nvidia.com> Reviewed-by: Igor Kulchytskyy <igork@ami.com> Reviewed-by: Abner Chang <abner.chang@amd.com>
* RedfishPkg/RedfishRestExDxe: Update Supported functionAbner Chang2024-01-101-0/+15
| | | | | | | | | | Update Supported function to check it the given controller handle is already started. Signed-off-by: Abner Chang <abner.chang@amd.com> Cc: Nickle Wang <nicklew@nvidia.com> Cc: Igor Kulchytskyy <igork@ami.com> Reviewed-by: Nickle Wang <nicklew@nvidia.com>
* RedfishPkg/RedfishRestExDxe: Uncrustify RedfishRestExDriver.hAbner Chang2024-01-101-11/+11
| | | | | | | Signed-off-by: Abner Chang <abner.chang@amd.com> Cc: Nickle Wang <nicklew@nvidia.com> Cc: Igor Kulchytskyy <igork@ami.com> Reviewed-by: Nickle Wang <nicklew@nvidia.com>
* RedfishPkg/RedfishRestExDxe: Implement EDKII_HTTP_CALLBACK_PROTOCOLAbner Chang2024-01-103-10/+95
| | | | | | | | | | | Implement EDKII_HTTP_CALLBACK_PROTOCOL that listens to HttpEventTlsConfigured event for reconfiguring TLS configuration data. Signed-off-by: Abner Chang <abner.chang@amd.com> Cc: Nickle Wang <nicklew@nvidia.com> Cc: Igor Kulchytskyy <igork@ami.com> Reviewed-by: Nickle Wang <nicklew@nvidia.com>
* RedfishPkg: RedfishDiscoverDxe: add [] brackets to URI for IPv6 addressesMike Maslenkin2023-12-271-2/+15
| | | | | | | | | | | | | | | | URI is generated based on the RedfishLocation containing an ASCII string representing the IP address. So, in the case of IPv4 the canonical representation of an IPv4 address was inserted into the resulting Unicode string i.e: "http{,s}://X.X.X.X/". In the case of IPv6, to access resources, the IP address must be specified in brackets, i.e. the resulting string should look like: "http{,s}://[X::X:X:X:X]/". Cc: Nickle Wang <nicklew@nvidia.com> Cc: Igor Kulchytskyy <igork@ami.com> Signed-off-by: Mike Maslenkin <mike.maslenkin@gmail.com> Reviewed-by: Abner Chang <abner.chang@amd.com>
* RedfishDiscoverDxe: handle memory allocation error conditions.Mike Maslenkin2023-12-271-11/+78
| | | | | | | | | REF:https://bugzilla.tianocore.org/show_bug.cgi?id=4625 Cc: Nickle Wang <nicklew@nvidia.com> Cc: Igor Kulchytskyy <igork@ami.com> Signed-off-by: Mike Maslenkin <mike.maslenkin@gmail.com> Reviewed-by: Abner Chang <abner.chang@amd.com>
* RedfishDiscoverDxe: release resources when refreshing information dataMike Maslenkin2023-12-271-0/+2
| | | | | | | | | | It is required to free previously allocated strings stored in DiscoveredInstance->Information structure. Cc: Nickle Wang <nicklew@nvidia.com> Cc: Igor Kulchytskyy <igork@ami.com> Signed-off-by: Mike Maslenkin <mike.maslenkin@gmail.com> Reviewed-by: Abner Chang <abner.chang@amd.com>
* RedfishDiscoverDxe: add a helper function deallocating string resources.Mike Maslenkin2023-12-271-24/+44
| | | | | | | | | | This patch adds a handy helper function deallocating resources from the EFI_REDFISH_DISCOVERED_INFORMATION structure instance. Cc: Nickle Wang <nicklew@nvidia.com> Cc: Igor Kulchytskyy <igork@ami.com> Signed-off-by: Mike Maslenkin <mike.maslenkin@gmail.com> Reviewed-by: Abner Chang <abner.chang@amd.com>
* RedfishDiscoverDxe: refine InitInformationData() functionMike Maslenkin2023-12-271-13/+21
| | | | | | | | | Cache size of ASCII string in local variable. Cc: Nickle Wang <nicklew@nvidia.com> Cc: Igor Kulchytskyy <igork@ami.com> Signed-off-by: Mike Maslenkin <mike.maslenkin@gmail.com> Reviewed-by: Abner Chang <abner.chang@amd.com>
* RedfishDiscoverDxe: refine InitInformationData(), remove unnecessary castsMike Maslenkin2023-12-271-18/+18
| | | | | | | | Cc: Nickle Wang <nicklew@nvidia.com> Cc: Igor Kulchytskyy <igork@ami.com> Cc: Pedro Falcato <pedro.falcato@gmail.com> Signed-off-by: Mike Maslenkin <mike.maslenkin@gmail.com> Reviewed-by: Abner Chang <abner.chang@amd.com>
* RedfishDiscoverDxe: introduce InitInformationData helper functionMike Maslenkin2023-12-271-34/+74
| | | | | | | Cc: Nickle Wang <nicklew@nvidia.com> Cc: Igor Kulchytskyy <igork@ami.com> Signed-off-by: Mike Maslenkin <mike.maslenkin@gmail.com> Reviewed-by: Abner Chang <abner.chang@amd.com>
* RedfishPkg: add proper initialization of IPMI requestMike Maslenkin2023-12-271-3/+5
| | | | | | | | | | All fields of IPMI_CHANNEL_INFO_CHANNEL_NUMBER union must be initialized to avoid error condition on BMC side. Cc: Nickle Wang <nicklew@nvidia.com> Cc: Igor Kulchytskyy <igork@ami.com> Signed-off-by: Mike Maslenkin <mike.maslenkin@gmail.com> Reviewed-by: Abner Chang <abner.chang@amd.com>
* RedfishPkg: add Component Name protocols to RedfishConfigHandler driverMike Maslenkin2023-12-274-3/+230
| | | | | | | | | | | Currently there is no description for RedfishConfigHandler driver. This leads to <null string> in the "DRIVER NAME" column of a `drivers` command for example. Cc: Nickle Wang <nicklew@nvidia.com> Cc: Igor Kulchytskyy <igork@ami.com> Signed-off-by: Mike Maslenkin <mike.maslenkin@gmail.com> Reviewed-by: Abner Chang <abner.chang@amd.com>
* RedfishPkg: RedfishDiscoverDxe: fix memory leak on error path.Mike Maslenkin2023-12-271-4/+4
| | | | | | | Cc: Nickle Wang <nicklew@nvidia.com> Cc: Igor Kulchytskyy <igork@ami.com> Signed-off-by: Mike Maslenkin <mike.maslenkin@gmail.com> Reviewed-by: Abner Chang <abner.chang@amd.com>
* RedfishPkg: RedfishPlatformConfigDxe: reduce memory allocationsMike Maslenkin2023-12-271-3/+1
| | | | | | | | | | | | It's unclear why the new string is allocated as copy of the original string if its pointer is stored in an array and the original string is released immediately after the copy is created. All data allocated in the same pool. Cc: Nickle Wang <nicklew@nvidia.com> Cc: Igor Kulchytskyy <igork@ami.com> Signed-off-by: Mike Maslenkin <mike.maslenkin@gmail.com> Reviewed-by: Abner Chang <abner.chang@amd.com>
* RedfishPkg: get rid of unused definitions from RedfishCrtLib.hMike Maslenkin2023-12-271-34/+11
| | | | | | | | | | | | | | It seems that initial implementation of this header file is based on CrtLibSupport.h from CryptoPkg. But uid, euid, gid, egid and sa_family_t sre not used in RedfishPkg. So remove them. Also take "true" and "false" definition from MdePkg's LibFdtSupport.h header file, that also seems based on a header mentioned above. Cc: Nickle Wang <nicklew@nvidia.com> Cc: Igor Kulchytskyy <igork@ami.com> Signed-off-by: Mike Maslenkin <mike.maslenkin@gmail.com> Reviewed-by: Abner Chang <abner.chang@amd.com>