MdePkg/IndustryStandard: Update IPMI definitions

This change updates IPMI header files to support
build up SMBIOS 42 Redfish Host Interface record
using the information retrieved via IPMI App/Net
Function.

In IpmiNetFnApp.h, we also remove the duplicate
definition of IPMI_APP_GET_CHANNEL_INFO.

Signed-off-by: Abner Chang <abner.chang@amd.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: 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>
Reviewed-by: Isaac Oram <isaac.w.oram@intel.com>
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
This commit is contained in:
Abner Chang
2022-12-23 14:20:06 +08:00
committed by mergify[bot]
parent 998ebe5ca0
commit cabcc6851b
3 changed files with 82 additions and 4 deletions

View File

@@ -11,6 +11,7 @@
and Appendix H, Sub-function Assignments.
Copyright (c) 1999 - 2018, Intel Corporation. All rights reserved.<BR>
Copyright (C) 2023 Advanced Micro Devices, Inc. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
@@ -60,6 +61,7 @@ typedef enum {
IpmiLanReserved3,
IpmiLanDestinationType,
IpmiLanDestinationAddress,
IpmiLanVlanId = 0x14,
IpmiIpv4OrIpv6Support = 0x32,
IpmiIpv4OrIpv6AddressEnable,
IpmiIpv6HdrStatTrafficClass,
@@ -103,6 +105,14 @@ typedef enum {
IpmiOem2
} IPMI_LAN_DEST_TYPE_DEST_TYPE;
//
// Destination address format
//
typedef enum {
IpmiDestinationAddressVersion4,
IpmiDestinationAddressVersion6
} IPMI_LAN_DEST_ADDRESS_VERSION;
typedef union {
struct {
UINT8 NoAuth : 1;
@@ -177,6 +187,10 @@ typedef struct {
UINT8 ArpInterval;
} IPMI_LAN_ARP_INTERVAL;
typedef struct {
UINT8 IpAddress[4];
} IPMI_LAN_DEFAULT_GATEWAY;
typedef struct {
UINT8 Data[18];
} IPMI_LAN_COMMUNITY_STRING;
@@ -227,6 +241,24 @@ typedef struct {
IPMI_LAN_MAC_ADDRESS AlertingMacAddress;
} IPMI_LAN_DEST_ADDRESS;
typedef struct {
UINT8 VanIdLowByte;
} IPMI_LAN_VLAN_ID_DATA1;
typedef union {
struct {
UINT8 VanIdHighByte : 4;
UINT8 Reserved : 3;
UINT8 Enabled : 1;
} Bits;
UINT8 Uint8;
} IPMI_LAN_VLAN_ID_DATA2;
typedef struct {
IPMI_LAN_VLAN_ID_DATA1 Data1;
IPMI_LAN_VLAN_ID_DATA2 Data2;
} IPMI_LAN_VLAN_ID;
typedef union {
IPMI_LAN_AUTH_TYPE IpmiLanAuthType;
IPMI_LAN_IP_ADDRESS IpmiLanIpAddress;