summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTinh Nguyen <tinhnguyen@os.amperecomputing.com>2023-05-07 17:29:13 +0800
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2023-05-12 04:00:18 +0000
commitc08a3a96fd19ac8adc75f00d373b4a1606b26c00 (patch)
tree226cd2b6db446f5f0cbe86146a18c1104775fde6
parent083b02953840d52556025aa452a9687dbcb3db02 (diff)
downloadedk2-c08a3a96fd19ac8adc75f00d373b4a1606b26c00.tar.gz
edk2-c08a3a96fd19ac8adc75f00d373b4a1606b26c00.tar.bz2
edk2-c08a3a96fd19ac8adc75f00d373b4a1606b26c00.zip
MdePkg/IndustryStandard: Add IPMI Interface Capabilities definitions
This adds more definitions for the IPMI Get System Interface Capabilities command. Signed-off-by: Tinh Nguyen <tinhnguyen@os.amperecomputing.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Zhiguang Liu <zhiguang.liu@intel.com> Cc: Abner Chang <abner.chang@amd.com> Reviewed-by: Abner Chang <abner.chang@amd.com> Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
-rw-r--r--MdePkg/Include/IndustryStandard/IpmiNetFnApp.h46
1 files changed, 46 insertions, 0 deletions
diff --git a/MdePkg/Include/IndustryStandard/IpmiNetFnApp.h b/MdePkg/Include/IndustryStandard/IpmiNetFnApp.h
index a5835ba08c..b6bc91f46c 100644
--- a/MdePkg/Include/IndustryStandard/IpmiNetFnApp.h
+++ b/MdePkg/Include/IndustryStandard/IpmiNetFnApp.h
@@ -13,6 +13,7 @@
Copyright (c) 1999 - 2018, Intel Corporation. All rights reserved.<BR>
Copyright (C) 2023 Advanced Micro Devices, Inc. All rights reserved.<BR>
+ Copyright (c) 2023, Ampere Computing LLC. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
@@ -1046,6 +1047,51 @@ typedef struct {
// Constants and Structure definitions for "Get System Interface Capabilities" command to follow here
//
+#define IPMI_GET_SYSTEM_INTERFACE_CAPABILITIES_INTERFACE_TYPE_SSIF 0x0
+#define IPMI_GET_SYSTEM_INTERFACE_CAPABILITIES_INTERFACE_TYPE_KCS 0x1
+#define IPMI_GET_SYSTEM_INTERFACE_CAPABILITIES_INTERFACE_TYPE_SMIC 0x2
+
+typedef union {
+ struct {
+ UINT8 InterfaceType : 4;
+ UINT8 Reserved : 4;
+ } Bits;
+ UINT8 Uint8;
+} IPMI_GET_SYSTEM_INTERFACE_CAPABILITIES_REQUEST;
+
+typedef union {
+ struct {
+ UINT8 Version : 3;
+ UINT8 PecSupport : 1;
+ UINT8 Reserved : 2;
+ UINT8 TransactionSupport : 2;
+ } Bits;
+ UINT8 Uint8;
+} IPMI_SYSTEM_INTERFACE_SSIF_CAPABILITIES;
+
+typedef union {
+ struct {
+ UINT8 SystemInterfaceVersion : 3;
+ UINT8 Reserved : 5;
+ } Bits;
+ UINT8 Uint8;
+} IPMI_SYSTEM_INTERFACE_KCS_SMIC_CAPABILITIES;
+
+typedef struct {
+ UINT8 CompletionCode;
+ UINT8 Reserved;
+ IPMI_SYSTEM_INTERFACE_SSIF_CAPABILITIES InterfaceCap;
+ UINT8 InputMsgSize;
+ UINT8 OutputMsgSize;
+} IPMI_GET_SYSTEM_INTERFACE_SSIF_CAPABILITIES_RESPONSE;
+
+typedef struct {
+ UINT8 CompletionCode;
+ UINT8 Reserved;
+ IPMI_SYSTEM_INTERFACE_KCS_SMIC_CAPABILITIES InterfaceCap;
+ UINT8 InputMaxMsgSize;
+} IPMI_GET_SYSTEM_INTERFACE_KCS_SMIC_CAPABILITIES_RESPONSE;
+
//
// Definitions for Get System Interface Capabilities command SSIF transaction support
//