public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "gaoliming" <gaoliming@byosoft.com.cn>
To: <devel@edk2.groups.io>, <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
Date: Wed, 18 Jan 2023 13:13:14 +0800	[thread overview]
Message-ID: <00fa01d92afb$91163590$b342a0b0$@byosoft.com.cn> (raw)
In-Reply-To: <20230106025756.1184-2-abner.chang@amd.com>

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
> 
> 
> 
> 
> 




  reply	other threads:[~2023-01-18  5:13 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-06  2:57 [PATCH V4 0/3] IPMI changes for Redfish Chang, Abner
2023-01-06  2:57 ` [PATCH V4 1/3] MdePkg/IndustryStandard: Update IPMI definitions Chang, Abner
2023-01-18  5:13   ` gaoliming [this message]
2023-01-18  6:06     ` [edk2-devel] " Chang, Abner
2023-01-19  1:07       ` 回复: " gaoliming
2023-01-19  1:15         ` Chang, Abner
2023-01-19  3:31         ` Chang, Abner
2023-01-06  2:57 ` [PATCH V4 2/3] RedfishPkg/Include: Add Redfish " Chang, Abner
2023-01-06  2:57 ` [PATCH V4 3/3] RedfishPkg/Include: Redfish USB Interface V2 update Chang, Abner
2023-01-11 23:11 ` [PATCH V4 0/3] IPMI changes for Redfish Isaac Oram

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='00fa01d92afb$91163590$b342a0b0$@byosoft.com.cn' \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox