public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Chang, Abner" <abner.chang@amd.com>
To: <devel@edk2.groups.io>
Cc: Jian J Wang <jian.j.wang@intel.com>,
	Liming Gao <gaoliming@byosoft.com.cn>,
	Nickle Wang <nicklew@nvidia.com>,
	Igor Kulchytskyy <igork@ami.com>,
	Isaac Oram <isaac.w.oram@intel.com>,
	Nate DeSimone <nathaniel.l.desimone@intel.com>
Subject: [PATCH 2/3] MdeModulePkg/IpmiCommandLib: Add NULL instance library
Date: Wed, 28 Dec 2022 12:59:11 +0800	[thread overview]
Message-ID: <20221228045912.1677-3-abner.chang@amd.com> (raw)
In-Reply-To: <20221228045912.1677-1-abner.chang@amd.com>

From: Abner Chang <abner.chang@amd.com>

The NULL instance of IpmiCommandLib library under
MdeModulePkg as the default IpmiCommandLib instance
used by the modules under edk2.

Signed-off-by: Abner Chang <abner.chang@amd.com>
Cc: Jian J Wang <jian.j.wang@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Nickle Wang <nicklew@nvidia.com>
Cc: Igor Kulchytskyy <igork@ami.com>
Cc: Isaac Oram <isaac.w.oram@intel.com>
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
---
 .../BaseIpmiCommandLibNull.inf                |  34 +++
 .../IpmiCommandLibNetFnApp.c                  | 252 ++++++++++++++++++
 .../IpmiCommandLibNetFnChassis.c              | 123 +++++++++
 .../IpmiCommandLibNetFnStorage.c              | 248 +++++++++++++++++
 .../IpmiCommandLibNetFnTransport.c            | 100 +++++++
 5 files changed, 757 insertions(+)
 create mode 100644 MdeModulePkg/Library/BaseIpmiCommandLibNull/BaseIpmiCommandLibNull.inf
 create mode 100644 MdeModulePkg/Library/BaseIpmiCommandLibNull/IpmiCommandLibNetFnApp.c
 create mode 100644 MdeModulePkg/Library/BaseIpmiCommandLibNull/IpmiCommandLibNetFnChassis.c
 create mode 100644 MdeModulePkg/Library/BaseIpmiCommandLibNull/IpmiCommandLibNetFnStorage.c
 create mode 100644 MdeModulePkg/Library/BaseIpmiCommandLibNull/IpmiCommandLibNetFnTransport.c

diff --git a/MdeModulePkg/Library/BaseIpmiCommandLibNull/BaseIpmiCommandLibNull.inf b/MdeModulePkg/Library/BaseIpmiCommandLibNull/BaseIpmiCommandLibNull.inf
new file mode 100644
index 00000000000..d486539658f
--- /dev/null
+++ b/MdeModulePkg/Library/BaseIpmiCommandLibNull/BaseIpmiCommandLibNull.inf
@@ -0,0 +1,34 @@
+## @file
+# NULL instance of IpmiCommandLib
+#
+# Component description file for IPMI Command Library.
+#
+# Copyright (c) 2018 - 2021, Intel Corporation. All rights reserved.<BR>
+# Copyright (C) 2022 Advanced Micro Devices, Inc. All rights reserved.<BR>
+#
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+#
+##
+
+[Defines]
+  INF_VERSION                    = 0x00010005
+  BASE_NAME                      = BaseIpmiCommandLibNull
+  FILE_GUID                      = 63F06EF8-B78A-4E7E-823E-D11A21059669
+  MODULE_TYPE                    = BASE
+  VERSION_STRING                 = 1.0
+  LIBRARY_CLASS                  = IpmiCommandLib
+
+[sources]
+  IpmiCommandLibNetFnApp.c
+  IpmiCommandLibNetFnTransport.c
+  IpmiCommandLibNetFnChassis.c
+  IpmiCommandLibNetFnStorage.c
+
+[Packages]
+  MdePkg/MdePkg.dec
+  MdeModulePkg/MdeModulePkg.dec
+
+[LibraryClasses]
+  BaseMemoryLib
+  DebugLib
+
diff --git a/MdeModulePkg/Library/BaseIpmiCommandLibNull/IpmiCommandLibNetFnApp.c b/MdeModulePkg/Library/BaseIpmiCommandLibNull/IpmiCommandLibNetFnApp.c
new file mode 100644
index 00000000000..4f0c49b048c
--- /dev/null
+++ b/MdeModulePkg/Library/BaseIpmiCommandLibNull/IpmiCommandLibNetFnApp.c
@@ -0,0 +1,252 @@
+/** @file
+  IPMI Command - NetFnApp NULL instance library.
+
+  Copyright (c) 2018 - 2021, Intel Corporation. All rights reserved.<BR>
+  Copyright (C) 2022 Advanced Micro Devices, Inc. All rights reserved.<BR>
+
+  SPDX-License-Identifier: BSD-2-Clause-Patent
+**/
+#include <Uefi.h>
+#include <IndustryStandard/Ipmi.h>
+
+/**
+  This function gets the IPMI Device ID.
+
+  @param[out] DeviceId  Get device ID response.
+
+  @retval EFI_UNSUPPORTED  Unsupported in the NULL lib.
+
+**/
+EFI_STATUS
+EFIAPI
+IpmiGetDeviceId (
+  OUT IPMI_GET_DEVICE_ID_RESPONSE  *DeviceId
+  )
+{
+  return EFI_UNSUPPORTED;
+}
+
+/**
+  This function gets the self-test result.
+
+  @param[out] SelfTestResult  Self test command response.
+
+  @retval EFI_UNSUPPORTED  Unsupported in the NULL lib.
+
+**/
+EFI_STATUS
+EFIAPI
+IpmiGetSelfTestResult (
+  OUT IPMI_SELF_TEST_RESULT_RESPONSE  *SelfTestResult
+  )
+{
+  return EFI_UNSUPPORTED;
+}
+
+/**
+  This function resets watchdog timer.
+
+  @param[out] CompletionCode  The command completion code.
+
+  @retval EFI_UNSUPPORTED  Unsupported in the NULL lib.
+
+**/
+EFI_STATUS
+EFIAPI
+IpmiResetWatchdogTimer (
+  OUT UINT8  *CompletionCode
+  )
+{
+  return EFI_UNSUPPORTED;
+}
+
+/**
+  This function sets watchdog timer.
+
+  @param[in] SetWatchdogTimer  Set watchdog timer request.
+  @param[out] CompletionCode   The command completion code.
+
+  @retval EFI_UNSUPPORTED  Unsupported in the NULL lib.
+
+**/
+EFI_STATUS
+EFIAPI
+IpmiSetWatchdogTimer (
+  IN  IPMI_SET_WATCHDOG_TIMER_REQUEST  *SetWatchdogTimer,
+  OUT UINT8                            *CompletionCode
+  )
+{
+  return EFI_UNSUPPORTED;
+}
+
+/**
+  This function gets watchdog timer.
+
+  @param[out] GetWatchdogTimer  Get watchdog timer response.
+
+  @retval EFI_UNSUPPORTED  Unsupported in the NULL lib.
+
+**/
+EFI_STATUS
+EFIAPI
+IpmiGetWatchdogTimer (
+  OUT IPMI_GET_WATCHDOG_TIMER_RESPONSE  *GetWatchdogTimer
+  )
+{
+  return EFI_UNSUPPORTED;
+}
+
+/**
+  This function sets BMC global enables.
+
+  @param[in]  SetBmcGlobalEnables    Set BMC global enables command request.
+  @param[out] CompletionCode         The command completion code.
+
+  @retval EFI_UNSUPPORTED  Unsupported in the NULL lib.
+
+**/
+EFI_STATUS
+EFIAPI
+IpmiSetBmcGlobalEnables (
+  IN  IPMI_SET_BMC_GLOBAL_ENABLES_REQUEST  *SetBmcGlobalEnables,
+  OUT UINT8                                *CompletionCode
+  )
+{
+  return EFI_UNSUPPORTED;
+}
+
+/**
+  This function gets BMC global enables.
+
+  @param[out]  GetBmcGlobalEnables  Get BMC global enables command response.
+
+  @retval EFI_UNSUPPORTED  Unsupported in the NULL lib.
+
+**/
+EFI_STATUS
+EFIAPI
+IpmiGetBmcGlobalEnables (
+  OUT IPMI_GET_BMC_GLOBAL_ENABLES_RESPONSE  *GetBmcGlobalEnables
+  )
+{
+  return EFI_UNSUPPORTED;
+}
+
+/**
+  This function clears message flag.
+
+  @param[in]    ClearMessageFlagsRequest  Clear message flags command Request.
+  @param[out]   CompletionCode            The command completion code.
+
+  @retval EFI_UNSUPPORTED  Unsupported in the NULL lib.
+
+**/
+EFI_STATUS
+EFIAPI
+IpmiClearMessageFlags (
+  IN  IPMI_CLEAR_MESSAGE_FLAGS_REQUEST  *ClearMessageFlagsRequest,
+  OUT UINT8                             *CompletionCode
+  )
+{
+  return EFI_UNSUPPORTED;
+}
+
+/**
+  This function gets message flags.
+
+  @param[out]    GetMessageFlagsResponse  Get message flags response.
+
+  @retval EFI_UNSUPPORTED  Unsupported in the NULL lib.
+
+**/
+EFI_STATUS
+EFIAPI
+IpmiGetMessageFlags (
+  OUT IPMI_GET_MESSAGE_FLAGS_RESPONSE  *GetMessageFlagsResponse
+  )
+{
+  return EFI_UNSUPPORTED;
+}
+
+/**
+  This function gets message.
+
+  @param[out]     GetMessageResponse      Get message command response.
+  @param[in,out]  GetMessageResponseSize  The size of get message response.
+
+  @retval EFI_UNSUPPORTED  Unsupported in the NULL lib.
+
+**/
+EFI_STATUS
+EFIAPI
+IpmiGetMessage (
+  OUT IPMI_GET_MESSAGE_RESPONSE  *GetMessageResponse,
+  IN OUT UINT32                  *GetMessageResponseSize
+  )
+{
+  return EFI_UNSUPPORTED;
+}
+
+/**
+  This function sends message.
+
+  @param[in]     SendMessageRequest        The send message command request.
+  @param[in]     SendMessageRequestSize    The size of the send message command request.
+  @param[out]    SendMessageResponse       The send message command response.
+  @param[in,out] SendMessageResponseSize   The size of the send message command response.
+                                           When input, the expected size of response.
+                                           When output, the actual size of response.
+
+  @retval EFI_UNSUPPORTED  Unsupported in the NULL lib.
+
+**/
+EFI_STATUS
+EFIAPI
+IpmiSendMessage (
+  IN  IPMI_SEND_MESSAGE_REQUEST   *SendMessageRequest,
+  IN  UINT32                      SendMessageRequestSize,
+  OUT IPMI_SEND_MESSAGE_RESPONSE  *SendMessageResponse,
+  IN OUT UINT32                   *SendMessageResponseSize
+  )
+{
+  return EFI_UNSUPPORTED;
+}
+
+/**
+  This function gets the system UUID.
+
+  @param[out] SystemGuid   The pointer to retrieve system UUID.
+
+  @retval EFI_UNSUPPORTED  Unsupported in the NULL lib.
+**/
+EFI_STATUS
+EFIAPI
+IpmiGetSystemUuid (
+  OUT EFI_GUID  *SystemGuid
+  )
+{
+  return EFI_UNSUPPORTED;
+}
+
+/**
+  This function gets the channel information.
+
+  @param[in] GetChannelInfoRequest           The get channel information request.
+  @param[out] GetChannelInfoResponse         The get channel information response.
+  @param[out] GetChannelInfoResponseSize     When input, the expected size of response.
+                                             When output, the exact size of the returned
+                                                          response.
+
+  @retval EFI_UNSUPPORTED  Unsupported in the NULL lib.
+
+**/
+EFI_STATUS
+EFIAPI
+IpmiGetChannelInfo (
+  IN  IPMI_GET_CHANNEL_INFO_REQUEST   *GetChannelInfoRequest,
+  OUT IPMI_GET_CHANNEL_INFO_RESPONSE  *GetChannelInfoResponse,
+  OUT UINT32                          *GetChannelInfoResponseSize
+  )
+{
+  return EFI_UNSUPPORTED;
+}
diff --git a/MdeModulePkg/Library/BaseIpmiCommandLibNull/IpmiCommandLibNetFnChassis.c b/MdeModulePkg/Library/BaseIpmiCommandLibNull/IpmiCommandLibNetFnChassis.c
new file mode 100644
index 00000000000..32126b466bb
--- /dev/null
+++ b/MdeModulePkg/Library/BaseIpmiCommandLibNull/IpmiCommandLibNetFnChassis.c
@@ -0,0 +1,123 @@
+/** @file
+  IPMI Command - NetFnChassis NULL instance library.
+
+  Copyright (c) 2018 - 2021, Intel Corporation. All rights reserved.<BR>
+  Copyright (C) 2022 Advanced Micro Devices, Inc. All rights reserved.<BR>
+
+  SPDX-License-Identifier: BSD-2-Clause-Patent
+**/
+#include <Uefi.h>
+#include <IndustryStandard/Ipmi.h>
+
+/**
+  This function gets chassis capability.
+
+  @param[out] GetChassisCapabilitiesResponse  Gets chassis capability command response.
+
+  @retval EFI_UNSUPPORTED  Unsupported in the NULL lib.
+
+**/
+EFI_STATUS
+EFIAPI
+IpmiGetChassisCapabilities (
+  OUT IPMI_GET_CHASSIS_CAPABILITIES_RESPONSE  *GetChassisCapabilitiesResponse
+  )
+{
+  return EFI_UNSUPPORTED;
+}
+
+/**
+  This function gets chassis status.
+
+  @param[out] GetChassisStatusResponse  The get chassis status command response.
+
+  @retval EFI_UNSUPPORTED  Unsupported in the NULL lib.
+
+**/
+EFI_STATUS
+EFIAPI
+IpmiGetChassisStatus (
+  OUT IPMI_GET_CHASSIS_STATUS_RESPONSE  *GetChassisStatusResponse
+  )
+{
+  return EFI_UNSUPPORTED;
+}
+
+/**
+  This function sends chassis control request.
+
+  @param[in]  ChassisControlRequest  The chassis control request.
+  @param[out] CompletionCode         The command completion code.
+
+  @retval EFI_UNSUPPORTED  Unsupported in the NULL lib.
+
+**/
+EFI_STATUS
+EFIAPI
+IpmiChassisControl (
+  IN IPMI_CHASSIS_CONTROL_REQUEST  *ChassisControlRequest,
+  OUT UINT8                        *CompletionCode
+  )
+{
+  return EFI_UNSUPPORTED;
+}
+
+/**
+  This function sets power restore policy.
+
+  @param[in]  ChassisControlRequest    The set power restore policy control
+                                       command request.
+  @param[out] ChassisControlResponse   The response of power restore policy.
+
+  @retval EFI_UNSUPPORTED  Unsupported in the NULL lib.
+
+**/
+EFI_STATUS
+EFIAPI
+IpmiSetPowerRestorePolicy (
+  IN  IPMI_SET_POWER_RESTORE_POLICY_REQUEST   *ChassisControlRequest,
+  OUT IPMI_SET_POWER_RESTORE_POLICY_RESPONSE  *ChassisControlResponse
+  )
+{
+  return EFI_UNSUPPORTED;
+}
+
+/**
+  This function sets system boot option.
+
+  @param[in]  BootOptionsRequest    Set system boot option request.
+  @param[out] BootOptionsResponse   The response of set system boot
+                                    option request.
+
+  @retval EFI_UNSUPPORTED  Unsupported in the NULL lib.
+
+**/
+EFI_STATUS
+EFIAPI
+IpmiSetSystemBootOptions (
+  IN  IPMI_SET_BOOT_OPTIONS_REQUEST   *BootOptionsRequest,
+  OUT IPMI_SET_BOOT_OPTIONS_RESPONSE  *BootOptionsResponse
+  )
+{
+  return EFI_UNSUPPORTED;
+}
+
+/**
+  This function gets system boot option.
+
+  @param[in]  BootOptionsRequest    Get system boot option request.
+  @param[out] BootOptionsResponse   The response of get system boot
+                                    option request.
+
+  @retval EFI_UNSUPPORTED  Unsupported in the NULL lib.
+
+**/
+EFI_STATUS
+EFIAPI
+IpmiGetSystemBootOptions (
+  IN  IPMI_GET_BOOT_OPTIONS_REQUEST   *BootOptionsRequest,
+  OUT IPMI_GET_BOOT_OPTIONS_RESPONSE  *BootOptionsResponse
+  )
+{
+  return EFI_UNSUPPORTED;
+}
diff --git a/MdeModulePkg/Library/BaseIpmiCommandLibNull/IpmiCommandLibNetFnStorage.c b/MdeModulePkg/Library/BaseIpmiCommandLibNull/IpmiCommandLibNetFnStorage.c
new file mode 100644
index 00000000000..c94f55fbdaf
--- /dev/null
+++ b/MdeModulePkg/Library/BaseIpmiCommandLibNull/IpmiCommandLibNetFnStorage.c
@@ -0,0 +1,248 @@
+/** @file
+  IPMI Command - NetFnStorage NULL instance library.
+
+  Copyright (c) 2018 - 2021, Intel Corporation. All rights reserved.<BR>
+  Copyright (C) 2022 Advanced Micro Devices, Inc. All rights reserved.<BR>
+
+  SPDX-License-Identifier: BSD-2-Clause-Patent
+**/
+#include <Uefi.h>
+#include <IndustryStandard/Ipmi.h>
+
+/**
+  This function gets FRU inventory area info.
+
+  @param[in]  GetFruInventoryAreaInfoRequest    Get FRU inventory area command request.
+  @param[out] GetFruInventoryAreaInfoResponse   get FRU inventory area command response.
+
+  @retval EFI_UNSUPPORTED  Unsupported in the NULL lib.
+
+**/
+EFI_STATUS
+EFIAPI
+IpmiGetFruInventoryAreaInfo (
+  IN  IPMI_GET_FRU_INVENTORY_AREA_INFO_REQUEST   *GetFruInventoryAreaInfoRequest,
+  OUT IPMI_GET_FRU_INVENTORY_AREA_INFO_RESPONSE  *GetFruInventoryAreaInfoResponse
+  )
+{
+  return EFI_UNSUPPORTED;
+}
+
+/**
+  This function reads FRU data.
+
+  @param[in]      ReadFruDataRequest       Read FRU data command request.
+  @param[out]     ReadFruDataResponse      Read FRU data command response.
+  @param[in,out]  ReadFruDataResponseSize  Size of the read FRU data response.
+                                           When input, the expected size of response data.
+                                           When out, the exact  size of response data.
+
+  @retval EFI_UNSUPPORTED  Unsupported in the NULL lib.
+
+**/
+EFI_STATUS
+EFIAPI
+IpmiReadFruData (
+  IN  IPMI_READ_FRU_DATA_REQUEST   *ReadFruDataRequest,
+  OUT IPMI_READ_FRU_DATA_RESPONSE  *ReadFruDataResponse,
+  IN OUT UINT32                    *ReadFruDataResponseSize
+  )
+{
+  return EFI_UNSUPPORTED;
+}
+
+/**
+  This function gets chassis capability.
+
+  @param[in]    WriteFruDataRequest      Write FRU data command request.
+  @param[in]    WriteFruDataRequestSize  Size of the write FRU data command request.
+  @param[out]   WriteFruDataResponse     Write FRU data response.
+
+  @retval EFI_UNSUPPORTED  Unsupported in the NULL lib.
+
+**/
+EFI_STATUS
+EFIAPI
+IpmiWriteFruData (
+  IN  IPMI_WRITE_FRU_DATA_REQUEST   *WriteFruDataRequest,
+  IN  UINT32                        WriteFruDataRequestSize,
+  OUT IPMI_WRITE_FRU_DATA_RESPONSE  *WriteFruDataResponse
+  )
+{
+  return EFI_UNSUPPORTED;
+}
+
+/**
+  This function gets SEL information.
+
+  @param[out]    GetSelInfoResponse    Get SEL information command response.
+
+  @retval EFI_UNSUPPORTED  Unsupported in the NULL lib.
+
+**/
+EFI_STATUS
+EFIAPI
+IpmiGetSelInfo (
+  OUT IPMI_GET_SEL_INFO_RESPONSE  *GetSelInfoResponse
+  )
+{
+  return EFI_UNSUPPORTED;
+}
+
+/**
+  This function gets SEL entry.
+
+  @param[in]      GetSelEntryRequest       Get SEL entry command request.
+  @param[out]     GetSelEntryResponse      Get SEL entry command response.
+  @param[in,out]  GetSelEntryResponseSize  Size of Get SEL entry request.
+                                           When input, the expected size of response data.
+                                           When out, the exact  size of response data.
+
+  @retval EFI_UNSUPPORTED  Unsupported in the NULL lib.
+
+**/
+EFI_STATUS
+EFIAPI
+IpmiGetSelEntry (
+  IN IPMI_GET_SEL_ENTRY_REQUEST    *GetSelEntryRequest,
+  OUT IPMI_GET_SEL_ENTRY_RESPONSE  *GetSelEntryResponse,
+  IN OUT UINT32                    *GetSelEntryResponseSize
+  )
+{
+  return EFI_UNSUPPORTED;
+}
+
+/**
+  This function adds SEL entry.
+
+  @param[in]    AddSelEntryRequest       Add SEL entry command request.
+  @param[out]   AddSelEntryResponse      Add SEL entry command response.
+
+  @retval EFI_UNSUPPORTED  Unsupported in the NULL lib.
+
+**/
+EFI_STATUS
+EFIAPI
+IpmiAddSelEntry (
+  IN IPMI_ADD_SEL_ENTRY_REQUEST    *AddSelEntryRequest,
+  OUT IPMI_ADD_SEL_ENTRY_RESPONSE  *AddSelEntryResponse
+  )
+{
+  return EFI_UNSUPPORTED;
+}
+
+/**
+  This function partially adds SEL entry.
+
+  @param[in]    PartialAddSelEntryRequest      Partial add SEL entry command request.
+  @param[in]    PartialAddSelEntryRequestSize  Size of partial add SEL entry command request.
+  @param[out]   PartialAddSelEntryResponse     Partial add SEL entry command response.
+
+  @retval EFI_UNSUPPORTED  Unsupported in the NULL lib.
+
+**/
+EFI_STATUS
+EFIAPI
+IpmiPartialAddSelEntry (
+  IN IPMI_PARTIAL_ADD_SEL_ENTRY_REQUEST    *PartialAddSelEntryRequest,
+  IN UINT32                                PartialAddSelEntryRequestSize,
+  OUT IPMI_PARTIAL_ADD_SEL_ENTRY_RESPONSE  *PartialAddSelEntryResponse
+  )
+{
+  return EFI_UNSUPPORTED;
+}
+
+/**
+  This function clears SEL entry.
+
+  @param[in]    ClearSelRequest      Clear SEL command request.
+  @param[out]   ClearSelResponse     Clear SEL command response.
+
+  @retval EFI_UNSUPPORTED  Unsupported in the NULL lib.
+
+**/
+EFI_STATUS
+EFIAPI
+IpmiClearSel (
+  IN IPMI_CLEAR_SEL_REQUEST    *ClearSelRequest,
+  OUT IPMI_CLEAR_SEL_RESPONSE  *ClearSelResponse
+  )
+{
+  return EFI_UNSUPPORTED;
+}
+
+/**
+  This function gets SEL time.
+
+  @param[out]   GetSelTimeResponse    Get SEL time command response.
+
+  @retval EFI_UNSUPPORTED  Unsupported in the NULL lib.
+
+**/
+EFI_STATUS
+EFIAPI
+IpmiGetSelTime (
+  OUT IPMI_GET_SEL_TIME_RESPONSE  *GetSelTimeResponse
+  )
+{
+  return EFI_UNSUPPORTED;
+}
+
+/**
+  This function sets SEL time.
+
+  @param[in]    SetSelTimeRequest    Set SEL time command request.
+  @param[out]   CompletionCode       Command completion code.
+
+  @retval EFI_UNSUPPORTED  Unsupported in the NULL lib.
+
+**/
+EFI_STATUS
+EFIAPI
+IpmiSetSelTime (
+  IN IPMI_SET_SEL_TIME_REQUEST  *SetSelTimeRequest,
+  OUT UINT8                     *CompletionCode
+  )
+{
+  return EFI_UNSUPPORTED;
+}
+
+/**
+  This function gets SDR repository information.
+
+  @param[out]    GetSdrRepositoryInfoResp    Get SDR repository response.
+
+  @retval EFI_UNSUPPORTED  Unsupported in the NULL lib.
+
+**/
+EFI_STATUS
+EFIAPI
+IpmiGetSdrRepositoryInfo (
+  OUT IPMI_GET_SDR_REPOSITORY_INFO_RESPONSE  *GetSdrRepositoryInfoResp
+  )
+{
+  return EFI_UNSUPPORTED;
+}
+
+/**
+  This function gets SDR
+
+  @param[in]      GetSdrRequest        Get SDR resquest.
+  @param[out]     GetSdrResponse       Get SDR response.
+  @param[in,out]  GetSdrResponseSize   The size of get SDR response.
+                                        When input, the expected size of response data.
+                                        When out, the exact  size of response data.
+
+  @retval EFI_UNSUPPORTED  Unsupported in the NULL lib.
+
+**/
+EFI_STATUS
+EFIAPI
+IpmiGetSdr (
+  IN  IPMI_GET_SDR_REQUEST   *GetSdrRequest,
+  OUT IPMI_GET_SDR_RESPONSE  *GetSdrResponse,
+  IN OUT UINT32              *GetSdrResponseSize
+  )
+{
+  return EFI_UNSUPPORTED;
+}
diff --git a/MdeModulePkg/Library/BaseIpmiCommandLibNull/IpmiCommandLibNetFnTransport.c b/MdeModulePkg/Library/BaseIpmiCommandLibNull/IpmiCommandLibNetFnTransport.c
new file mode 100644
index 00000000000..219de5bc7da
--- /dev/null
+++ b/MdeModulePkg/Library/BaseIpmiCommandLibNull/IpmiCommandLibNetFnTransport.c
@@ -0,0 +1,100 @@
+/** @file
+  IPMI Command - NetFnTransport NULL instance library.
+
+  Copyright (c) 2018 - 2021, Intel Corporation. All rights reserved.<BR>
+  Copyright (C) 2022 Advanced Micro Devices, Inc. All rights reserved.<BR>
+
+  SPDX-License-Identifier: BSD-2-Clause-Patent
+**/
+#include <Uefi.h>
+#include <IndustryStandard/Ipmi.h>
+
+/**
+  This function activates SOL
+
+  @param[in]      SolActivatingRequest    SOL activating request.
+  @param[out]     CompletionCode          The command completion code.
+
+  @retval EFI_UNSUPPORTED  Unsupported in the NULL lib.
+
+**/
+EFI_STATUS
+EFIAPI
+IpmiSolActivating (
+  IN  IPMI_SOL_ACTIVATING_REQUEST  *SolActivatingRequest,
+  OUT UINT8                        *CompletionCode
+  )
+{
+  return EFI_UNSUPPORTED;
+}
+
+/**
+  This function sets SOL configuration parameters.
+
+  @param[in]      SetConfigurationParametersRequest      Set SOL configuration parameters
+                                                         command request.
+  @param[in]      SetConfigurationParametersRequestSize  Size of set SOL configuration
+                                                         parameters command request.
+  @param[out]     CompletionCode                         The command completion code.
+
+  @retval EFI_UNSUPPORTED  Unsupported in the NULL lib.
+
+**/
+EFI_STATUS
+EFIAPI
+IpmiSetSolConfigurationParameters (
+  IN  IPMI_SET_SOL_CONFIGURATION_PARAMETERS_REQUEST  *SetConfigurationParametersRequest,
+  IN  UINT32                                         SetConfigurationParametersRequestSize,
+  OUT UINT8                                          *CompletionCode
+  )
+{
+  return EFI_UNSUPPORTED;
+}
+
+/**
+  This function gets SOL configuration parameters.
+
+  @param[in]      GetConfigurationParametersRequest        Get SOL configuration parameters
+                                                           command request.
+  @param[out]     GetConfigurationParametersResponse       Get SOL configuration parameters
+                                                           response.
+  @param[in,out]  GetConfigurationParametersResponseSize   When input, the size of expect response.
+                                                           When output, the exact size of
+                                                           expect response.
+
+  @retval EFI_UNSUPPORTED  Unsupported in the NULL lib.
+
+**/
+EFI_STATUS
+EFIAPI
+IpmiGetSolConfigurationParameters (
+  IN  IPMI_GET_SOL_CONFIGURATION_PARAMETERS_REQUEST   *GetConfigurationParametersRequest,
+  OUT IPMI_GET_SOL_CONFIGURATION_PARAMETERS_RESPONSE  *GetConfigurationParametersResponse,
+  IN OUT UINT32                                       *GetConfigurationParametersResponseSize
+  )
+{
+  return EFI_UNSUPPORTED;
+}
+
+/**
+  This function gets the LAN configuration parameter.
+
+  @param[in]     GetLanConfigurationParametersRequest   Request data
+  @param[out]    GetLanConfigurationParametersResponse  Response data
+  @param[in,out] GetLanConfigurationParametersSize      When input, the expected size of response data.
+                                                        When out, the exact  size of response data.
+
+  @retval EFI_SUCCESS          Lan configuration parameter is returned in the response.
+  @retval Others               Other errors.
+
+**/
+EFI_STATUS
+EFIAPI
+IpmiGetLanConfigurationParameters (
+  IN   IPMI_GET_LAN_CONFIGURATION_PARAMETERS_REQUEST   *GetLanConfigurationParametersRequest,
+  OUT  IPMI_GET_LAN_CONFIGURATION_PARAMETERS_RESPONSE  *GetLanConfigurationParametersResponse,
+  IN OUT UINT32                                        *GetLanConfigurationParametersSize
+  )
+{
+  return EFI_UNSUPPORTED;
+}
-- 
2.37.1.windows.1


  parent reply	other threads:[~2022-12-28  5:00 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-28  4:59 [PATCH 0/3] Add NULL IpmiCommandLib instance Chang, Abner
2022-12-28  4:59 ` [PATCH 1/3] MdeModulePkg/Include: Add IpmiCommandLib header file Chang, Abner
2023-01-13  0:11   ` [edk2-devel] " Isaac Oram
2023-01-13  6:04     ` Chang, Abner
2022-12-28  4:59 ` Chang, Abner [this message]
2023-01-13  0:29   ` [PATCH 2/3] MdeModulePkg/IpmiCommandLib: Add NULL instance library Isaac Oram
2022-12-28  4:59 ` [PATCH 3/3] MdeModulePkg: Add IpmiCommandLib Chang, Abner
2023-01-13  0:30   ` Isaac Oram
2022-12-29 17:31 ` [edk2-devel] [PATCH 0/3] Add NULL IpmiCommandLib instance Michael D Kinney
2022-12-30  4:09   ` Chang, Abner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20221228045912.1677-3-abner.chang@amd.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox