From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from walk.intel-email.com (walk.intel-email.com [101.227.64.242]) by mx.groups.io with SMTP id smtpd.web10.8681.1674018806074178947 for ; Tue, 17 Jan 2023 21:13:27 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@byosoft.com.cn header.s=cloud-union header.b=KUVCetYN; spf=pass (domain: byosoft.com.cn, ip: 101.227.64.242, mailfrom: gaoliming@byosoft.com.cn) Received: from walk.intel-email.com (localhost [127.0.0.1]) by walk.intel-email.com (Postfix) with ESMTP id 82A19CD1F782 for ; Wed, 18 Jan 2023 13:13:23 +0800 (CST) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=byosoft.com.cn; s=cloud-union; t=1674018803; bh=sipjN8v2Y3YhURZnfAsvBYSn5eh+vwEl9SNP0bCf4GM=; h=From:To:Cc:References:In-Reply-To:Subject:Date; b=KUVCetYNiN1htLgVnFmSKnbCF8PAdiPbk711MJRo2UKdtK756UvpwDq+ent+fsElr 11+1k2UEV2yMMQqsMBfStT0Nu/0Ftnm1+0C70yOWtLEgX86ip0ibmdUo+B+NM9x2Hn dDuL9Ft1B3wrLUWvnj3my2wyc1xbvIeo+X1q9OB8= Received: from localhost (localhost [127.0.0.1]) by walk.intel-email.com (Postfix) with ESMTP id 7E440CD1F77D for ; Wed, 18 Jan 2023 13:13:23 +0800 (CST) Received: from walk.intel-email.com (localhost [127.0.0.1]) by walk.intel-email.com (Postfix) with ESMTP id 48E9FCD1F77C for ; Wed, 18 Jan 2023 13:13:23 +0800 (CST) Authentication-Results: walk.intel-email.com; none Received: from mail.byosoft.com.cn (mail.byosoft.com.cn [58.240.74.242]) by walk.intel-email.com (Postfix) with SMTP id C60D1CD1F6AD for ; Wed, 18 Jan 2023 13:13:20 +0800 (CST) Received: from DESKTOPS6D0PVI ([58.246.60.130]) (envelope-sender ) by 192.168.6.13 with ESMTP for ; Wed, 18 Jan 2023 13:13:12 +0800 X-WM-Sender: gaoliming@byosoft.com.cn X-Originating-IP: 58.246.60.130 X-WM-AuthFlag: YES X-WM-AuthUser: gaoliming@byosoft.com.cn From: "gaoliming" To: , Cc: "'Michael D Kinney'" , "'Zhiguang Liu'" , "'Nickle Wang'" , "'Igor Kulchytskyy'" , "'Isaac Oram'" , "'Nate DeSimone'" References: <20230106025756.1184-1-abner.chang@amd.com> <20230106025756.1184-2-abner.chang@amd.com> In-Reply-To: <20230106025756.1184-2-abner.chang@amd.com> Subject: =?UTF-8?B?5Zue5aSNOiBbZWRrMi1kZXZlbF0gW1BBVENIIFY0IDEvM10gTWRlUGtnL0luZHVzdHJ5U3RhbmRhcmQ6IFVwZGF0ZSBJUE1JIGRlZmluaXRpb25z?= Date: Wed, 18 Jan 2023 13:13:14 +0800 Message-ID: <00fa01d92afb$91163590$b342a0b0$@byosoft.com.cn> MIME-Version: 1.0 X-Mailer: Microsoft Outlook 16.0 Thread-Index: AQKJ6+TLgz6TKhDSc0lKSYaehffd9AFxcDs/rTaToDA= Sender: "gaoliming" Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: quoted-printable Content-Language: zh-cn Abner: I see IPMI_APP_GET_CHANNEL_INFO definition is remove in this patch. Can you help explain it in detail? Thanks Liming > -----=D3=CA=BC=FE=D4=AD=BC=FE----- > =B7=A2=BC=FE=C8=CB: devel@edk2.groups.io =B4=FA=B1= =ED Chang, Abner > via groups.io > =B7=A2=CB=CD=CA=B1=BC=E4: 2023=C4=EA1=D4=C26=C8=D5 10:58 > =CA=D5=BC=FE=C8=CB: devel@edk2.groups.io > =B3=AD=CB=CD: Michael D Kinney ; Liming Gao > ; Zhiguang Liu ; Nickle > Wang ; Igor Kulchytskyy ; Isaac > Oram ; Nate DeSimone > > =D6=F7=CC=E2: [edk2-devel] [PATCH V4 1/3] MdePkg/IndustryStandard: Update= IPMI > definitions >=20 > From: Abner Chang >=20 > 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. >=20 > Signed-off-by: Abner Chang > Cc: Michael D Kinney > Cc: Liming Gao > Cc: Zhiguang Liu > Cc: Nickle Wang > Cc: Igor Kulchytskyy > Cc: Isaac Oram > Cc: Nate DeSimone > --- > MdePkg/Include/IndustryStandard/Ipmi.h | 17 +++++++++ > .../Include/IndustryStandard/IpmiNetFnApp.h | 37 > +++++++++++++++++-- > .../IndustryStandard/IpmiNetFnTransport.h | 32 ++++++++++++++++ > 3 files changed, 82 insertions(+), 4 deletions(-) >=20 > 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. >=20 > Copyright (c) 1999 - 2018, Intel Corporation. All rights reserved.
> + Copyright (C) 2023 Advanced Micro Devices, Inc. All rights reserved.
> SPDX-License-Identifier: BSD-2-Clause-Patent > **/ >=20 > @@ -52,4 +53,20 @@ > #define IPMI_COMP_CODE_SUBFUNCTION_DISABLED 0xD6 > #define IPMI_COMP_CODE_UNSPECIFIED 0xFF >=20 > +#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. >=20 > Copyright (c) 1999 - 2018, Intel Corporation. All rights reserved.
> + Copyright (C) 2023 Advanced Micro Devices, Inc. All rights reserved.
> SPDX-License-Identifier: BSD-2-Clause-Patent > **/ >=20 > @@ -486,6 +487,11 @@ typedef struct { > // > #define IPMI_APP_GET_SYSTEM_GUID 0x37 >=20 > +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 >=20 > +// > +// 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; >=20 > -// > -// 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; >=20 > // > // Constants and Structure definitions for "Get Channel Info" command t= o > 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. >=20 > Copyright (c) 1999 - 2018, Intel Corporation. All rights reserved.
> + Copyright (C) 2023 Advanced Micro Devices, Inc. All rights reserved.
> SPDX-License-Identifier: BSD-2-Clause-Patent > **/ >=20 > @@ -60,6 +61,7 @@ typedef enum { > IpmiLanReserved3, > IpmiLanDestinationType, > IpmiLanDestinationAddress, > + IpmiLanVlanId =3D 0x14, > IpmiIpv4OrIpv6Support =3D 0x32, > IpmiIpv4OrIpv6AddressEnable, > IpmiIpv6HdrStatTrafficClass, > @@ -103,6 +105,14 @@ typedef enum { > IpmiOem2 > } IPMI_LAN_DEST_TYPE_DEST_TYPE; >=20 > +// > +// 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; >=20 > +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; >=20 > +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 >=20 >=20 >=20 >=20 >=20