[edk2-devel] [PATCH V4 1/3] MdePkg/IndustryStandard: Update IPMI definitions

Chang, Abner via groups.io posted 3 patches 1 year, 10 months ago
[edk2-devel] [PATCH V4 1/3] MdePkg/IndustryStandard: Update IPMI definitions
Posted by Chang, Abner via groups.io 1 year, 10 months ago
From: Abner Chang <abner.chang@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.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>
---
 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 (#98051): https://edk2.groups.io/g/devel/message/98051
Mute This Topic: https://groups.io/mt/96087044/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
回复: [edk2-devel] [PATCH V4 1/3] MdePkg/IndustryStandard: Update IPMI definitions
Posted by gaoliming via groups.io 1 year, 10 months ago
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.kinney@intel.com>; Liming Gao
> <gaoliming@byosoft.com.cn>; Zhiguang Liu <zhiguang.liu@intel.com>; Nickle
> Wang <nicklew@nvidia.com>; Igor Kulchytskyy <igork@ami.com>; Isaac
> Oram <isaac.w.oram@intel.com>; Nate DeSimone
> <nathaniel.l.desimone@intel.com>
> 主题: [edk2-devel] [PATCH V4 1/3] MdePkg/IndustryStandard: Update IPMI
> definitions
> 
> From: Abner Chang <abner.chang@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.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>
> ---
>  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/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
Re: [edk2-devel] [PATCH V4 1/3] MdePkg/IndustryStandard: Update IPMI definitions
Posted by Chang, Abner via groups.io 1 year, 10 months ago
[AMD Official Use Only - General]

This is the duplicate one, there is another above.

Btw Liming, please let me push these two patch sets after you giving Reviewed-by to this one. I will have to rebase them before merging the change.
Thanks
Abner

> -----Original Message-----
> From: gaoliming <gaoliming@byosoft.com.cn>
> Sent: Wednesday, January 18, 2023 1:13 PM
> To: devel@edk2.groups.io; Chang, Abner <Abner.Chang@amd.com>
> Cc: 'Michael D Kinney' <michael.d.kinney@intel.com>; 'Zhiguang Liu'
> <zhiguang.liu@intel.com>; '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: 回复: [edk2-devel] [PATCH V4 1/3] MdePkg/IndustryStandard:
> Update IPMI definitions
> 
> Caution: This message originated from an External Source. Use proper
> caution when opening attachments, clicking links, or responding.
> 
> 
> 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.kinney@intel.com>; Liming Gao
> > <gaoliming@byosoft.com.cn>; Zhiguang Liu <zhiguang.liu@intel.com>;
> > Nickle Wang <nicklew@nvidia.com>; Igor Kulchytskyy <igork@ami.com>;
> > Isaac Oram <isaac.w.oram@intel.com>; Nate DeSimone
> > <nathaniel.l.desimone@intel.com>
> > 主题: [edk2-devel] [PATCH V4 1/3] MdePkg/IndustryStandard: Update
> IPMI
> > definitions
> >
> > From: Abner Chang <abner.chang@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.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>
> > ---
> >  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 (#98765): https://edk2.groups.io/g/devel/message/98765
Mute This Topic: https://groups.io/mt/96348845/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-


回复: [edk2-devel] [PATCH V4 1/3] MdePkg/IndustryStandard: Update IPMI definitions
Posted by gaoliming via groups.io 1 year, 10 months ago
Abner:
  Thanks for your confirmation. I suggest you mention this change in the commit message. 

  Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>

Thanks
Liming
> -----邮件原件-----
> 发件人: devel@edk2.groups.io <devel@edk2.groups.io> 代表 Chang, Abner
> via groups.io
> 发送时间: 2023年1月18日 14:06
> 收件人: gaoliming <gaoliming@byosoft.com.cn>; devel@edk2.groups.io
> 抄送: 'Michael D Kinney' <michael.d.kinney@intel.com>; 'Zhiguang Liu'
> <zhiguang.liu@intel.com>; 'Nickle Wang' <nicklew@nvidia.com>; 'Igor
> Kulchytskyy' <igork@ami.com>; 'Isaac Oram' <isaac.w.oram@intel.com>;
> 'Nate DeSimone' <nathaniel.l.desimone@intel.com>
> 主题: Re: [edk2-devel] [PATCH V4 1/3] MdePkg/IndustryStandard: Update
> IPMI definitions
> 
> [AMD Official Use Only - General]
> 
> This is the duplicate one, there is another above.
> 
> Btw Liming, please let me push these two patch sets after you giving
> Reviewed-by to this one. I will have to rebase them before merging the
> change.
> Thanks
> Abner
> 
> > -----Original Message-----
> > From: gaoliming <gaoliming@byosoft.com.cn>
> > Sent: Wednesday, January 18, 2023 1:13 PM
> > To: devel@edk2.groups.io; Chang, Abner <Abner.Chang@amd.com>
> > Cc: 'Michael D Kinney' <michael.d.kinney@intel.com>; 'Zhiguang Liu'
> > <zhiguang.liu@intel.com>; '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: 回复: [edk2-devel] [PATCH V4 1/3] MdePkg/IndustryStandard:
> > Update IPMI definitions
> >
> > Caution: This message originated from an External Source. Use proper
> > caution when opening attachments, clicking links, or responding.
> >
> >
> > 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.kinney@intel.com>; Liming Gao
> > > <gaoliming@byosoft.com.cn>; Zhiguang Liu <zhiguang.liu@intel.com>;
> > > Nickle Wang <nicklew@nvidia.com>; Igor Kulchytskyy <igork@ami.com>;
> > > Isaac Oram <isaac.w.oram@intel.com>; Nate DeSimone
> > > <nathaniel.l.desimone@intel.com>
> > > 主题: [edk2-devel] [PATCH V4 1/3] MdePkg/IndustryStandard: Update
> > IPMI
> > > definitions
> > >
> > > From: Abner Chang <abner.chang@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.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>
> > > ---
> > >  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 (#98836): https://edk2.groups.io/g/devel/message/98836
Mute This Topic: https://groups.io/mt/96368746/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
Re: [edk2-devel] [PATCH V4 1/3] MdePkg/IndustryStandard: Update IPMI definitions
Posted by Chang, Abner via groups.io 1 year, 10 months ago
[AMD Official Use Only - General]

Merged.

> -----Original Message-----
> From: gaoliming <gaoliming@byosoft.com.cn>
> Sent: Thursday, January 19, 2023 9:08 AM
> To: devel@edk2.groups.io; Chang, Abner <Abner.Chang@amd.com>
> Cc: 'Michael D Kinney' <michael.d.kinney@intel.com>; 'Zhiguang Liu'
> <zhiguang.liu@intel.com>; '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: 回复: [edk2-devel] [PATCH V4 1/3] MdePkg/IndustryStandard:
> Update IPMI definitions
> 
> Caution: This message originated from an External Source. Use proper
> caution when opening attachments, clicking links, or responding.
> 
> 
> Abner:
>   Thanks for your confirmation. I suggest you mention this change in the
> commit message.
> 
>   Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
> 
> Thanks
> Liming
> > -----邮件原件-----
> > 发件人: devel@edk2.groups.io <devel@edk2.groups.io> 代表 Chang,
> Abner via
> > groups.io
> > 发送时间: 2023年1月18日 14:06
> > 收件人: gaoliming <gaoliming@byosoft.com.cn>; devel@edk2.groups.io
> > 抄送: 'Michael D Kinney' <michael.d.kinney@intel.com>; 'Zhiguang Liu'
> > <zhiguang.liu@intel.com>; 'Nickle Wang' <nicklew@nvidia.com>; 'Igor
> > Kulchytskyy' <igork@ami.com>; 'Isaac Oram' <isaac.w.oram@intel.com>;
> > 'Nate DeSimone' <nathaniel.l.desimone@intel.com>
> > 主题: Re: [edk2-devel] [PATCH V4 1/3] MdePkg/IndustryStandard: Update
> > IPMI definitions
> >
> > [AMD Official Use Only - General]
> >
> > This is the duplicate one, there is another above.
> >
> > Btw Liming, please let me push these two patch sets after you giving
> > Reviewed-by to this one. I will have to rebase them before merging the
> > change.
> > Thanks
> > Abner
> >
> > > -----Original Message-----
> > > From: gaoliming <gaoliming@byosoft.com.cn>
> > > Sent: Wednesday, January 18, 2023 1:13 PM
> > > To: devel@edk2.groups.io; Chang, Abner <Abner.Chang@amd.com>
> > > Cc: 'Michael D Kinney' <michael.d.kinney@intel.com>; 'Zhiguang Liu'
> > > <zhiguang.liu@intel.com>; '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: 回复: [edk2-devel] [PATCH V4 1/3] MdePkg/IndustryStandard:
> > > Update IPMI definitions
> > >
> > > Caution: This message originated from an External Source. Use proper
> > > caution when opening attachments, clicking links, or responding.
> > >
> > >
> > > 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.kinney@intel.com>; Liming Gao
> > > > <gaoliming@byosoft.com.cn>; Zhiguang Liu <zhiguang.liu@intel.com>;
> > > > Nickle Wang <nicklew@nvidia.com>; Igor Kulchytskyy
> > > > <igork@ami.com>; Isaac Oram <isaac.w.oram@intel.com>; Nate
> > > > DeSimone <nathaniel.l.desimone@intel.com>
> > > > 主题: [edk2-devel] [PATCH V4 1/3] MdePkg/IndustryStandard: Update
> > > IPMI
> > > > definitions
> > > >
> > > > From: Abner Chang <abner.chang@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.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>
> > > > ---
> > > >  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 (#98856): https://edk2.groups.io/g/devel/message/98856
Mute This Topic: https://groups.io/mt/96370953/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-


Re: [edk2-devel] [PATCH V4 1/3] MdePkg/IndustryStandard: Update IPMI definitions
Posted by Chang, Abner via groups.io 1 year, 10 months ago
[AMD Official Use Only - General]


> -----Original Message-----
> From: gaoliming <gaoliming@byosoft.com.cn>
> Sent: Thursday, January 19, 2023 9:08 AM
> To: devel@edk2.groups.io; Chang, Abner <Abner.Chang@amd.com>
> Cc: 'Michael D Kinney' <michael.d.kinney@intel.com>; 'Zhiguang Liu'
> <zhiguang.liu@intel.com>; '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: 回复: [edk2-devel] [PATCH V4 1/3] MdePkg/IndustryStandard:
> Update IPMI definitions
> 
> Caution: This message originated from an External Source. Use proper
> caution when opening attachments, clicking links, or responding.
> 
> 
> Abner:
>   Thanks for your confirmation. I suggest you mention this change in the
> commit message.
No problem, I will.
I will also create two PR for these two patch sets.

Thanks
Abner

> 
>   Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
> 
> Thanks
> Liming
> > -----邮件原件-----
> > 发件人: devel@edk2.groups.io <devel@edk2.groups.io> 代表 Chang,
> Abner via
> > groups.io
> > 发送时间: 2023年1月18日 14:06
> > 收件人: gaoliming <gaoliming@byosoft.com.cn>; devel@edk2.groups.io
> > 抄送: 'Michael D Kinney' <michael.d.kinney@intel.com>; 'Zhiguang Liu'
> > <zhiguang.liu@intel.com>; 'Nickle Wang' <nicklew@nvidia.com>; 'Igor
> > Kulchytskyy' <igork@ami.com>; 'Isaac Oram' <isaac.w.oram@intel.com>;
> > 'Nate DeSimone' <nathaniel.l.desimone@intel.com>
> > 主题: Re: [edk2-devel] [PATCH V4 1/3] MdePkg/IndustryStandard: Update
> > IPMI definitions
> >
> > [AMD Official Use Only - General]
> >
> > This is the duplicate one, there is another above.
> >
> > Btw Liming, please let me push these two patch sets after you giving
> > Reviewed-by to this one. I will have to rebase them before merging the
> > change.
> > Thanks
> > Abner
> >
> > > -----Original Message-----
> > > From: gaoliming <gaoliming@byosoft.com.cn>
> > > Sent: Wednesday, January 18, 2023 1:13 PM
> > > To: devel@edk2.groups.io; Chang, Abner <Abner.Chang@amd.com>
> > > Cc: 'Michael D Kinney' <michael.d.kinney@intel.com>; 'Zhiguang Liu'
> > > <zhiguang.liu@intel.com>; '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: 回复: [edk2-devel] [PATCH V4 1/3] MdePkg/IndustryStandard:
> > > Update IPMI definitions
> > >
> > > Caution: This message originated from an External Source. Use proper
> > > caution when opening attachments, clicking links, or responding.
> > >
> > >
> > > 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.kinney@intel.com>; Liming Gao
> > > > <gaoliming@byosoft.com.cn>; Zhiguang Liu <zhiguang.liu@intel.com>;
> > > > Nickle Wang <nicklew@nvidia.com>; Igor Kulchytskyy
> > > > <igork@ami.com>; Isaac Oram <isaac.w.oram@intel.com>; Nate
> > > > DeSimone <nathaniel.l.desimone@intel.com>
> > > > 主题: [edk2-devel] [PATCH V4 1/3] MdePkg/IndustryStandard: Update
> > > IPMI
> > > > definitions
> > > >
> > > > From: Abner Chang <abner.chang@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.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>
> > > > ---
> > > >  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 (#98838): https://edk2.groups.io/g/devel/message/98838
Mute This Topic: https://groups.io/mt/96368911/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-