Abner: I see IPMI_APP_GET_CHANNEL_INFO definition is remove in this patch. Can you help explain it in detail?
Thanks Liming > -----邮件原件----- > 发件人: devel@edk2.groups.io <devel@edk2.groups.io> 代表 Chang, Abner > via groups.io > 发送时间: 2023年1月6日 10:58 > 收件人: devel@edk2.groups.io > 抄送: Michael D Kinney <michael.d.kin...@intel.com>; Liming Gao > <gaolim...@byosoft.com.cn>; Zhiguang Liu <zhiguang....@intel.com>; Nickle > Wang <nick...@nvidia.com>; Igor Kulchytskyy <ig...@ami.com>; Isaac > Oram <isaac.w.o...@intel.com>; Nate DeSimone > <nathaniel.l.desim...@intel.com> > 主题: [edk2-devel] [PATCH V4 1/3] MdePkg/IndustryStandard: Update IPMI > definitions > > From: Abner Chang <abner.ch...@amd.com> > > 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. > > Signed-off-by: Abner Chang <abner.ch...@amd.com> > Cc: Michael D Kinney <michael.d.kin...@intel.com> > Cc: Liming Gao <gaolim...@byosoft.com.cn> > Cc: Zhiguang Liu <zhiguang....@intel.com> > Cc: Nickle Wang <nick...@nvidia.com> > Cc: Igor Kulchytskyy <ig...@ami.com> > Cc: Isaac Oram <isaac.w.o...@intel.com> > Cc: Nate DeSimone <nathaniel.l.desim...@intel.com> > --- > MdePkg/Include/IndustryStandard/Ipmi.h | 17 +++++++++ > .../Include/IndustryStandard/IpmiNetFnApp.h | 37 > +++++++++++++++++-- > .../IndustryStandard/IpmiNetFnTransport.h | 32 ++++++++++++++++ > 3 files changed, 82 insertions(+), 4 deletions(-) > > diff --git a/MdePkg/Include/IndustryStandard/Ipmi.h > b/MdePkg/Include/IndustryStandard/Ipmi.h > index 9d1d412b53e..d6e7436b5ae 100644 > --- a/MdePkg/Include/IndustryStandard/Ipmi.h > +++ b/MdePkg/Include/IndustryStandard/Ipmi.h > @@ -6,6 +6,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 > **/ > > @@ -52,4 +53,20 @@ > #define IPMI_COMP_CODE_SUBFUNCTION_DISABLED 0xD6 > #define IPMI_COMP_CODE_UNSPECIFIED 0xFF > > +#define IPMI_CHANNEL_NUMBER_PRIMARY_IPMB > 0x00 > +#define IPMI_CHANNEL_NUMBER_IMPLEMENTATION_SPECIFIC_1 0x01 > +#define IPMI_CHANNEL_NUMBER_IMPLEMENTATION_SPECIFIC_2 0x02 > +#define IPMI_CHANNEL_NUMBER_IMPLEMENTATION_SPECIFIC_3 0x03 > +#define IPMI_CHANNEL_NUMBER_IMPLEMENTATION_SPECIFIC_4 0x04 > +#define IPMI_CHANNEL_NUMBER_IMPLEMENTATION_SPECIFIC_5 0x05 > +#define IPMI_CHANNEL_NUMBER_IMPLEMENTATION_SPECIFIC_6 0x06 > +#define IPMI_CHANNEL_NUMBER_IMPLEMENTATION_SPECIFIC_7 0x07 > +#define IPMI_CHANNEL_NUMBER_IMPLEMENTATION_SPECIFIC_8 0x08 > +#define IPMI_CHANNEL_NUMBER_IMPLEMENTATION_SPECIFIC_9 0x09 > +#define IPMI_CHANNEL_NUMBER_IMPLEMENTATION_SPECIFIC_10 0x0A > +#define IPMI_CHANNEL_NUMBER_IMPLEMENTATION_SPECIFIC_11 0x0B > +#define IPMI_CHANNEL_NUMBER_IMPLEMENTATION_RESERVED_12 > 0x0C > +#define IPMI_CHANNEL_NUMBER_IMPLEMENTATION_RESERVED_13 > 0x0D > +#define IPMI_CHANNEL_NUMBER_PRIMARY_PRESENT_IF 0x0E > +#define IPMI_CHANNEL_NUMBER_PRIMARY_SYSTEM_INTERFACE > 0x0F > #endif > diff --git a/MdePkg/Include/IndustryStandard/IpmiNetFnApp.h > b/MdePkg/Include/IndustryStandard/IpmiNetFnApp.h > index 0721bc6b271..a5835ba08c0 100644 > --- a/MdePkg/Include/IndustryStandard/IpmiNetFnApp.h > +++ b/MdePkg/Include/IndustryStandard/IpmiNetFnApp.h > @@ -12,6 +12,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 > **/ > > @@ -486,6 +487,11 @@ typedef struct { > // > #define IPMI_APP_GET_SYSTEM_GUID 0x37 > > +typedef struct { > + UINT8 CompletionCode; > + EFI_GUID SystemUuid; > +} IPMI_GET_SYSTEM_UUID_RESPONSE; > + > // > // Constants and Structure definitions for "Get System GUID" command to > follow here > // > @@ -671,6 +677,30 @@ typedef struct { > #define IPMI_CHANNEL_MEDIA_TYPE_OEM_START 0x60 > #define IPMI_CHANNEL_MEDIA_TYPE_OEM_END 0x7F > > +// > +// Definitions for channel protocol type > +// > +// Not available > +#define IPMI_CHANNEL_PROTOCOL_TYPE_NA 0x00 > +// IPMB-1.0 > +#define IPMI_CHANNEL_PROTOCOL_TYPE_IPMB_1_0 0x01 > +// ICMB-1.0 > +#define IPMI_CHANNEL_PROTOCOL_TYPE_ICMB_1_0 0x02 > +// Reserved > +#define IPMI_CHANNEL_PROTOCOL_TYPE_RESERVED 0x03 > +// IPMI SMBUS > +#define IPMI_CHANNEL_PROTOCOL_TYPE_IPMI_SMBUS 0x04 > +// KCS > +#define IPMI_CHANNEL_PROTOCOL_TYPE_KCS 0x05 > +// SMIC > +#define IPMI_CHANNEL_PROTOCOL_TYPE_SMIC 0x06 > +// BT-10 > +#define IPMI_CHANNEL_PROTOCOL_TYPE_BT_10 0x07 > +// BT-15 > +#define IPMI_CHANNEL_PROTOCOL_TYPE_BT_15 0x08 > +// TMode > +#define IPMI_CHANNEL_PROTOCOL_TYPE_TMODE 0x09 > + > typedef union { > struct { > UINT8 ChannelNo : 4; > @@ -713,10 +743,9 @@ typedef struct { > UINT16 AuxChannelInfo; > } IPMI_GET_CHANNEL_INFO_RESPONSE; > > -// > -// Definitions for Get Channel Info command > -// > -#define IPMI_APP_GET_CHANNEL_INFO 0x42 > +typedef struct { > + IPMI_CHANNEL_INFO_CHANNEL_NUMBER ChannelNumber; > +} IPMI_GET_CHANNEL_INFO_REQUEST; > > // > // Constants and Structure definitions for "Get Channel Info" command to > follow here > diff --git a/MdePkg/Include/IndustryStandard/IpmiNetFnTransport.h > b/MdePkg/Include/IndustryStandard/IpmiNetFnTransport.h > index 19db84e5122..2024c35f7fa 100644 > --- a/MdePkg/Include/IndustryStandard/IpmiNetFnTransport.h > +++ b/MdePkg/Include/IndustryStandard/IpmiNetFnTransport.h > @@ -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; > -- > 2.37.1.windows.1 > > > > > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#98764): https://edk2.groups.io/g/devel/message/98764 Mute This Topic: https://groups.io/mt/96348374/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-