[AMD Official Use Only - General]

Hi MdePkg/IndustryStandard maintainers,
Could you please help to review this patch set and merge it if you have no 
concern with it?  IPMI maintainer already gave it a reviewed-by.

Thanks
Abner


From: manickavasakamk via groups.io <manickavasakamk=ami....@groups.io>
Sent: Thursday, January 12, 2023 11:02 PM
To: Chang; Chang, Abner <abner.ch...@amd.com>; devel@edk2.groups.io
Subject: Re: [edk2-devel] [PATCH V2 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.

All :

When tried to build latest WhilteyOpenboardPkg using latest edk2-platforms, we 
are seeing build error because of missing IPMI_GET_SYSTEM_UUID_RESPONSE header.

https://github.com/tianocore/edk2-platforms/commit/e66b5daecbb3b8715ae686c0a1f105b72341a122

Please let us know when this patch will be checked in.

Thank you

-Manic


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#98371): https://edk2.groups.io/g/devel/message/98371
Mute This Topic: https://groups.io/mt/95915833/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


--- Begin Message ---
Caution: This message originated from an External Source. Use proper caution 
when opening attachments, clicking links, or responding.


Series Reviewed-by: Isaac Oram <isaac.w.o...@intel.com>

-----Original Message-----
From: abner.ch...@amd.com <abner.ch...@amd.com>
Sent: Thursday, January 5, 2023 6:58 PM
To: devel@edk2.groups.io
Cc: Kinney, Michael D <michael.d.kin...@intel.com>; Gao, Liming 
<gaolim...@byosoft.com.cn>; Liu, Zhiguang <zhiguang....@intel.com>; Nickle Wang 
<nick...@nvidia.com>; Igor Kulchytskyy <ig...@ami.com>; Oram, Isaac W 
<isaac.w.o...@intel.com>; Desimone, Nathaniel L <nathaniel.l.desim...@intel.com>
Subject: [PATCH V4 0/3] IPMI changes for Redfish

From: Abner Chang <abner.ch...@amd.com>

In V4: Updateed copyright to 2023
       Addressd the comment from Isaac on V3 2/3 In V3: Addressd the comments 
on V1 2/3 In V2: Addressd the comments on V1 3/3

This patch updates IPMI related definitions for supporting Redfish Host 
interface Credential bootstrapping spec and building up SMBIOS 42 record for 
the USB NIC host interface exposed by BMC.
The corresponding updates on IpmiFeaturePkg is in the separate pacth for 
edk2-platforms.

This is the part I of upstream, the follow up patche sets are:
- RedfishPlatformCredentialLib contributed by NVidia.
- Relocate IpmiCommandLib.h from edk2-platforms
  to edk2/MdePkg. A NULL instance of IpmiCommandLib is created
  and located under MdePkg. With above, RedfishPkg doesn't have the
  dependence with edk2-platforms. The implementation of IpmiCommandLib
  stays in edk2-platforms without relocation, which can be pulled in
  to platform DSC as needed.
- PlatformHostInterfaceBmcUsbNic would be upstream to edk2-staging
  temporarily because some requirements are necessray to be spec out
  in the Redfish section in UEFI spec.

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> Abner Chang (3):
  MdePkg/IndustryStandard: Update IPMI definitions
  RedfishPkg/Include: Add Redfish IPMI definitions
  RedfishPkg/Include: Redfish USB Interface V2 update

 MdePkg/Include/IndustryStandard/Ipmi.h        | 17 +++++++
 .../Include/IndustryStandard/IpmiNetFnApp.h   | 37 ++++++++++++--
 .../IndustryStandard/IpmiNetFnTransport.h     | 32 ++++++++++++
 .../IndustryStandard/RedfishHostInterface.h   | 25 ++++++++-
 .../RedfishHostInterfaceIpmi.h                | 51 +++++++++++++++++++
 5 files changed, 157 insertions(+), 5 deletions(-)  create mode 100644 
RedfishPkg/Include/IndustryStandard/RedfishHostInterfaceIpmi.h

--
2.37.1.windows.1


--- End Message ---
--- Begin Message ---
Caution: This message originated from an External Source. Use proper caution 
when opening attachments, clicking links, or responding.


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 (#98051): 
https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fedk2.groups.io%2Fg%2Fdevel%2Fmessage%2F98051&data=05%7C01%7Cabner.chang%40amd.com%7C387a6e7136834a2027a608daef91e2b0%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C638085707106708023%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=6VCtqrQvsLKFopSW8D6r5TeMSb3rdebLB6Gi5tSFNkY%3D&reserved=0
Mute This Topic: 
https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgroups.io%2Fmt%2F96087044%2F7039027&data=05%7C01%7Cabner.chang%40amd.com%7C387a6e7136834a2027a608daef91e2b0%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C638085707106708023%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=zogrcJD8UxsLL3fIu19QmNX4hHtj2g9nSle6d%2FS2Prw%3D&reserved=0
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: 
https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fedk2.groups.io%2Fg%2Fdevel%2Funsub&data=05%7C01%7Cabner.chang%40amd.com%7C387a6e7136834a2027a608daef91e2b0%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C638085707106708023%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=hR69KQeXeouA2xGGMTMmAAgtX5l0GfQ2cb9Q5uzswCQ%3D&reserved=0
 [abner.ch...@amd.com]
-=-=-=-=-=-=-=-=-=-=-=-



--- End Message ---

Reply via email to