* [PATCH V2 0/3] IPMI changes for Redfish @ 2022-12-28 5:13 Chang, Abner 2022-12-28 5:13 ` [PATCH V2 1/3] MdePkg/IndustryStandard: Update IPMI definitions Chang, Abner ` (3 more replies) 0 siblings, 4 replies; 12+ messages in thread From: Chang, Abner @ 2022-12-28 5:13 UTC (permalink / raw) To: devel Cc: Michael D Kinney, Liming Gao, Zhiguang Liu, Nickle Wang, Igor Kulchytskyy, Isaac Oram, Nate DeSimone From: Abner Chang <abner.chang@amd.com> 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.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> 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 | 50 +++++++++++++++++++ 5 files changed, 156 insertions(+), 5 deletions(-) create mode 100644 RedfishPkg/Include/IndustryStandard/RedfishHostInterfaceIpmi.h -- 2.37.1.windows.1 ^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH V2 1/3] MdePkg/IndustryStandard: Update IPMI definitions 2022-12-28 5:13 [PATCH V2 0/3] IPMI changes for Redfish Chang, Abner @ 2022-12-28 5:13 ` Chang, Abner 2023-01-12 15:01 ` [edk2-devel] " manickavasakam karpagavinayagam 2022-12-28 5:13 ` [PATCH V2 2/3] RedfishPkg/Include: Add Redfish " Chang, Abner ` (2 subsequent siblings) 3 siblings, 1 reply; 12+ messages in thread From: Chang, Abner @ 2022-12-28 5:13 UTC (permalink / raw) To: devel Cc: Michael D Kinney, Liming Gao, Zhiguang Liu, Nickle Wang, Igor Kulchytskyy, Isaac Oram, Nate DeSimone 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..e16c1281862 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) 2022 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..08f977f2087 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) 2022 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..2eb6cd9b344 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) 2022 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 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [edk2-devel] [PATCH V2 1/3] MdePkg/IndustryStandard: Update IPMI definitions 2022-12-28 5:13 ` [PATCH V2 1/3] MdePkg/IndustryStandard: Update IPMI definitions Chang, Abner @ 2023-01-12 15:01 ` manickavasakam karpagavinayagam 2023-01-12 15:12 ` Chang, Abner 0 siblings, 1 reply; 12+ messages in thread From: manickavasakam karpagavinayagam @ 2023-01-12 15:01 UTC (permalink / raw) To: Chang, Abner, devel [-- Attachment #1: Type: text/plain, Size: 345 bytes --] 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 [-- Attachment #2: Type: text/html, Size: 804 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [edk2-devel] [PATCH V2 1/3] MdePkg/IndustryStandard: Update IPMI definitions 2023-01-12 15:01 ` [edk2-devel] " manickavasakam karpagavinayagam @ 2023-01-12 15:12 ` Chang, Abner 2023-01-14 5:21 ` Chang, Abner 0 siblings, 1 reply; 12+ messages in thread From: Chang, Abner @ 2023-01-12 15:12 UTC (permalink / raw) To: manickavasakam karpagavinayagam, devel@edk2.groups.io Cc: michael.d.kinney@intel.com, Zhiguang Liu, Liming Gao, Oram, Isaac W [-- Attachment #1.1: Type: text/plain, Size: 1000 bytes --] [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.com@groups.io> Sent: Thursday, January 12, 2023 11:02 PM To: Chang; Chang, Abner <Abner.Chang@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 [-- Attachment #1.2: Type: text/html, Size: 4647 bytes --] [-- Attachment #2: Type: message/rfc822, Size: 14953 bytes --] From: "Oram, Isaac W" <isaac.w.oram@intel.com> To: "Chang, Abner" <Abner.Chang@amd.com>, "devel@edk2.groups.io" <devel@edk2.groups.io> Cc: "Kinney, Michael D" <michael.d.kinney@intel.com>, "Gao, Liming" <gaoliming@byosoft.com.cn>, "Liu, Zhiguang" <zhiguang.liu@intel.com>, Nickle Wang <nicklew@nvidia.com>, Igor Kulchytskyy <igork@ami.com>, "Desimone, Nathaniel L" <nathaniel.l.desimone@intel.com> Subject: RE: [PATCH V4 0/3] IPMI changes for Redfish Date: Wed, 11 Jan 2023 23:11:07 +0000 Message-ID: <PH7PR11MB57958F998F4D6F6145ACC453D0FC9@PH7PR11MB5795.namprd11.prod.outlook.com> 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.oram@intel.com> -----Original Message----- From: abner.chang@amd.com <abner.chang@amd.com> Sent: Thursday, January 5, 2023 6:58 PM To: devel@edk2.groups.io Cc: Kinney, Michael D <michael.d.kinney@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>; Liu, Zhiguang <zhiguang.liu@intel.com>; Nickle Wang <nicklew@nvidia.com>; Igor Kulchytskyy <igork@ami.com>; Oram, Isaac W <isaac.w.oram@intel.com>; Desimone, Nathaniel L <nathaniel.l.desimone@intel.com> Subject: [PATCH V4 0/3] IPMI changes for Redfish From: Abner Chang <abner.chang@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.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> 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 [-- Attachment #3: Type: message/rfc822, Size: 18750 bytes --] From: "Chang, Abner via groups.io" <abner.chang=amd.com@groups.io> To: "devel@edk2.groups.io" <devel@edk2.groups.io> Cc: 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> Subject: [edk2-devel] [PATCH V4 1/3] MdePkg/IndustryStandard: Update IPMI definitions Date: Fri, 6 Jan 2023 02:57:53 +0000 Message-ID: <173798E6244C65C5.26636@groups.io> Caution: This message originated from an External Source. Use proper caution when opening attachments, clicking links, or responding. 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://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+owner@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.chang@amd.com] -=-=-=-=-=-=-=-=-=-=-=- ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [edk2-devel] [PATCH V2 1/3] MdePkg/IndustryStandard: Update IPMI definitions 2023-01-12 15:12 ` Chang, Abner @ 2023-01-14 5:21 ` Chang, Abner 0 siblings, 0 replies; 12+ messages in thread From: Chang, Abner @ 2023-01-14 5:21 UTC (permalink / raw) To: michael.d.kinney@intel.com, Zhiguang Liu, Liming Gao, Oram, Isaac W Cc: manickavasakam karpagavinayagam, devel@edk2.groups.io [-- Attachment #1: Type: text/plain, Size: 1610 bytes --] [AMD Official Use Only - General] Here is the PR: https://github.com/tianocore/edk2/pull/3896 Thanks Abner From: Chang, Abner Sent: Thursday, January 12, 2023 11:13 PM To: manickavasakam karpagavinayagam <manickavasakamk@ami.com>; devel@edk2.groups.io Cc: michael.d.kinney@intel.com; Zhiguang Liu <zhiguang.liu@intel.com>; Liming Gao <gaoliming@byosoft.com.cn>; Oram, Isaac W <isaac.w.oram@intel.com> Subject: RE: [edk2-devel] [PATCH V2 1/3] MdePkg/IndustryStandard: Update IPMI definitions [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.com@groups.io<mailto:manickavasakamk=ami.com@groups.io>> Sent: Thursday, January 12, 2023 11:02 PM To: Chang; Chang, Abner <Abner.Chang@amd.com<mailto:Abner.Chang@amd.com>>; devel@edk2.groups.io<mailto: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 [-- Attachment #2: Type: text/html, Size: 6128 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH V2 2/3] RedfishPkg/Include: Add Redfish IPMI definitions 2022-12-28 5:13 [PATCH V2 0/3] IPMI changes for Redfish Chang, Abner 2022-12-28 5:13 ` [PATCH V2 1/3] MdePkg/IndustryStandard: Update IPMI definitions Chang, Abner @ 2022-12-28 5:13 ` Chang, Abner 2022-12-28 5:13 ` [PATCH V2 3/3] RedfishPkg/Include: Redfish USB Interface V2 update Chang, Abner 2022-12-29 17:37 ` [edk2-devel] [PATCH V2 0/3] IPMI changes for Redfish Michael D Kinney 3 siblings, 0 replies; 12+ messages in thread From: Chang, Abner @ 2022-12-28 5:13 UTC (permalink / raw) To: devel; +Cc: Abner Chang, Igor Kulchytskyy From: Abner Chang <abner.chang@amd.com> Add the definitions of Redfish Host Interface credential bootstrapping IPMI commands. Signed-off-by: Nickle Wang <nicklew@nvidia.com> Cc: Abner Chang <abner.chang@amd.com> Cc: Igor Kulchytskyy <igork@ami.com> --- .../RedfishHostInterfaceIpmi.h | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 RedfishPkg/Include/IndustryStandard/RedfishHostInterfaceIpmi.h diff --git a/RedfishPkg/Include/IndustryStandard/RedfishHostInterfaceIpmi.h b/RedfishPkg/Include/IndustryStandard/RedfishHostInterfaceIpmi.h new file mode 100644 index 00000000000..892b744c458 --- /dev/null +++ b/RedfishPkg/Include/IndustryStandard/RedfishHostInterfaceIpmi.h @@ -0,0 +1,50 @@ +/** @file + Redfish Host Interface IPMI command + + Copyright (c) 2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved. + SPDX-License-Identifier: BSD-2-Clause-Patent +**/ + +#ifndef REDFISH_HOST_INTERFACE_IPMI_H_ +#define REDFISH_HOST_INTERFACE_IPMI_H_ + +#include <Uefi.h> +#include <IndustryStandard/IpmiNetFnGroupExtension.h> + +#define REDFISH_IPMI_GROUP_EXTENSION 0x52 +#define REDFISH_IPMI_GET_BOOTSTRAP_CREDENTIALS_CMD 0x02 +#define REDFISH_IPMI_BOOTSTRAP_CREDENTIAL_ENABLE 0xA5 +#define REDFISH_IPMI_BOOTSTRAP_CREDENTIAL_DISABLE 0x00 +#define REDFISH_IPMI_COMP_CODE_BOOTSTRAP_CREDENTIAL_DISABLED 0x80 + +/// +/// Per Redfish Host Interface Specification 1.3, The maximum lenght of +/// username and password is 16 characters long. +// +#define USERNAME_MAX_LENGTH 16 +#define PASSWORD_MAX_LENGTH 16 +#define USERNAME_MAX_SIZE (USERNAME_MAX_LENGTH + 1) // NULL terminator +#define PASSWORD_MAX_SIZE (PASSWORD_MAX_LENGTH + 1) // NULL terminator + +#pragma pack(1) + +/// +/// The definition of IPMI command to get bootstrap account credentials +/// typedef struct { +typedef struct { + UINT8 GroupExtensionId; + UINT8 DisableBootstrapControl; +} IPMI_BOOTSTRAP_CREDENTIALS_COMMAND_DATA; + +/// +/// The response data of getting bootstrap credential /// typedef +typedef struct { + UINT8 CompletionCode; + UINT8 GroupExtensionId; + CHAR8 Username[USERNAME_MAX_LENGTH]; + CHAR8 Password[PASSWORD_MAX_LENGTH]; +} IPMI_BOOTSTRAP_CREDENTIALS_RESULT_RESPONSE; + +#pragma pack() + +#endif -- 2.37.1.windows.1 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH V2 3/3] RedfishPkg/Include: Redfish USB Interface V2 update 2022-12-28 5:13 [PATCH V2 0/3] IPMI changes for Redfish Chang, Abner 2022-12-28 5:13 ` [PATCH V2 1/3] MdePkg/IndustryStandard: Update IPMI definitions Chang, Abner 2022-12-28 5:13 ` [PATCH V2 2/3] RedfishPkg/Include: Add Redfish " Chang, Abner @ 2022-12-28 5:13 ` Chang, Abner 2022-12-28 6:28 ` Nickle Wang 2022-12-29 17:37 ` [edk2-devel] [PATCH V2 0/3] IPMI changes for Redfish Michael D Kinney 3 siblings, 1 reply; 12+ messages in thread From: Chang, Abner @ 2022-12-28 5:13 UTC (permalink / raw) To: devel; +Cc: Nickle Wang, Igor Kulchytskyy From: Abner Chang <abner.chang@amd.com> Support USB_INTERFACE_DEVICE_DESCRIPTOR_V2 which is updated in Redfish Host Interface spec v1.3. Signed-off-by: Abner Chang <abner.chang@amd.com> Cc: Nickle Wang <nicklew@nvidia.com> Cc: Igor Kulchytskyy <igork@ami.com> --- .../IndustryStandard/RedfishHostInterface.h | 25 ++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/RedfishPkg/Include/IndustryStandard/RedfishHostInterface.h b/RedfishPkg/Include/IndustryStandard/RedfishHostInterface.h index 49b3ceee39c..022bd1f36ef 100644 --- a/RedfishPkg/Include/IndustryStandard/RedfishHostInterface.h +++ b/RedfishPkg/Include/IndustryStandard/RedfishHostInterface.h @@ -3,6 +3,7 @@ Copyright (c) 2019, Intel Corporation. All rights reserved.<BR> (C) Copyright 2020 Hewlett Packard Enterprise Development LP<BR> + Copyright (C) 2022 Advanced Micro Devices, Inc. All rights reserved.<BR> SPDX-License-Identifier: BSD-2-Clause-Patent **/ @@ -29,6 +30,18 @@ #define REDFISH_HOST_INTERFACE_HOST_IP_ADDRESS_FORMAT_IP4 0x01 #define REDFISH_HOST_INTERFACE_HOST_IP_ADDRESS_FORMAT_IP6 0x02 +/// +/// Definitions for IP assignment tyeps. +/// +typedef enum { + RedfishHostIpAssignmentUnknown, + RedfishHostIpAssignmentStatic, + RedfishHostIpAssignmentDhcp, + RedfishHostIpAssignmentAutoConfigure, + RedfishHostIpAssignmentHostSelected, + RedfishHostIpAssignmentReserved +} REDFISH_HOST_IP_ASSIGNMENT; + #pragma pack(1) /// /// Structure definitions of Host Interface device type 04h (USB Network Interface V2) @@ -40,12 +53,18 @@ typedef struct { ///< idVendor field of the USB descriptor. UINT16 IdProduct; ///< The Product ID of the device, as read from the ///< idProduct field of the USB descriptor. - UINT8 SecialNumberStr; ///< The string number for the Serial Number of the + UINT8 SerialNumberStr; ///< The string number for the Serial Number of the ///< device. The string data is read from the ///< iSerialNumber.bDescriptorType field of the USB ///< descriptor, and is converted from Unicode to ASCII ///< and is NULL terminated. UINT8 MacAddress[6]; ///< The MAC address of the PCI/PCIe network device. + + /// + /// Below is defined in Redfish Host Interface spec v1.3 + /// + UINT16 Characteristics; ///< Additional device characteristics. + UINT16 CredentialBootstrappingHandle; ///< Credential bootstrapping handle. } USB_INTERFACE_DEVICE_DESCRIPTOR_V2; // @@ -74,6 +93,10 @@ typedef struct { /// /// Define union for the Host Interface Device Descriptor /// +#define USB_INTERFACE_DEVICE_DESCRIPTOR_V2_SIZE_1_3 0x11 ///< Length USB interface device v2 defined in + ///< Redfish host interface spec v1.3 +#define USB_INTERFACE_DEVICE_DESCRIPTOR_V2_SIZE_1_2 0x0d ///< Length USB interface device v2 defined in + ///< Redfish host interface spec v1.2 typedef union { USB_INTERFACE_DEVICE_DESCRIPTOR_V2 UsbDeviceV2; ///< Device type USB V2 device discriptor. PCI_OR_PCIE_INTERFACE_DEVICE_DESCRIPTOR_V2 PciPcieDeviceV2; ///< Device type PCI/PCIe V2 device discriptor. -- 2.37.1.windows.1 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH V2 3/3] RedfishPkg/Include: Redfish USB Interface V2 update 2022-12-28 5:13 ` [PATCH V2 3/3] RedfishPkg/Include: Redfish USB Interface V2 update Chang, Abner @ 2022-12-28 6:28 ` Nickle Wang 2022-12-28 15:32 ` Igor Kulchytskyy 0 siblings, 1 reply; 12+ messages in thread From: Nickle Wang @ 2022-12-28 6:28 UTC (permalink / raw) To: abner.chang@amd.com, devel@edk2.groups.io; +Cc: Igor Kulchytskyy Reviewed-by: Nickle Wang<nicklew@nvidia.com> Regards, Nickle -----Original Message----- From: abner.chang@amd.com <abner.chang@amd.com> Sent: Wednesday, December 28, 2022 1:14 PM To: devel@edk2.groups.io Cc: Nickle Wang <nicklew@nvidia.com>; Igor Kulchytskyy <igork@ami.com> Subject: [PATCH V2 3/3] RedfishPkg/Include: Redfish USB Interface V2 update External email: Use caution opening links or attachments From: Abner Chang <abner.chang@amd.com> Support USB_INTERFACE_DEVICE_DESCRIPTOR_V2 which is updated in Redfish Host Interface spec v1.3. Signed-off-by: Abner Chang <abner.chang@amd.com> Cc: Nickle Wang <nicklew@nvidia.com> Cc: Igor Kulchytskyy <igork@ami.com> --- .../IndustryStandard/RedfishHostInterface.h | 25 ++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/RedfishPkg/Include/IndustryStandard/RedfishHostInterface.h b/RedfishPkg/Include/IndustryStandard/RedfishHostInterface.h index 49b3ceee39c..022bd1f36ef 100644 --- a/RedfishPkg/Include/IndustryStandard/RedfishHostInterface.h +++ b/RedfishPkg/Include/IndustryStandard/RedfishHostInterface.h @@ -3,6 +3,7 @@ Copyright (c) 2019, Intel Corporation. All rights reserved.<BR> (C) Copyright 2020 Hewlett Packard Enterprise Development LP<BR> + Copyright (C) 2022 Advanced Micro Devices, Inc. All rights + reserved.<BR> SPDX-License-Identifier: BSD-2-Clause-Patent **/ @@ -29,6 +30,18 @@ #define REDFISH_HOST_INTERFACE_HOST_IP_ADDRESS_FORMAT_IP4 0x01 #define REDFISH_HOST_INTERFACE_HOST_IP_ADDRESS_FORMAT_IP6 0x02 +/// +/// Definitions for IP assignment tyeps. +/// +typedef enum { + RedfishHostIpAssignmentUnknown, + RedfishHostIpAssignmentStatic, + RedfishHostIpAssignmentDhcp, + RedfishHostIpAssignmentAutoConfigure, + RedfishHostIpAssignmentHostSelected, + RedfishHostIpAssignmentReserved +} REDFISH_HOST_IP_ASSIGNMENT; + #pragma pack(1) /// /// Structure definitions of Host Interface device type 04h (USB Network Interface V2) @@ -40,12 +53,18 @@ typedef struct { ///< idVendor field of the USB descriptor. UINT16 IdProduct; ///< The Product ID of the device, as read from the ///< idProduct field of the USB descriptor. - UINT8 SecialNumberStr; ///< The string number for the Serial Number of the + UINT8 SerialNumberStr; ///< The string number for the Serial Number of the ///< device. The string data is read from the ///< iSerialNumber.bDescriptorType field of the USB ///< descriptor, and is converted from Unicode to ASCII ///< and is NULL terminated. UINT8 MacAddress[6]; ///< The MAC address of the PCI/PCIe network device. + + /// + /// Below is defined in Redfish Host Interface spec v1.3 /// + UINT16 Characteristics; ///< Additional device characteristics. + UINT16 CredentialBootstrappingHandle; ///< Credential bootstrapping handle. } USB_INTERFACE_DEVICE_DESCRIPTOR_V2; // @@ -74,6 +93,10 @@ typedef struct { /// /// Define union for the Host Interface Device Descriptor /// +#define USB_INTERFACE_DEVICE_DESCRIPTOR_V2_SIZE_1_3 0x11 ///< Length USB interface device v2 defined in + ///< Redfish host interface spec v1.3 +#define USB_INTERFACE_DEVICE_DESCRIPTOR_V2_SIZE_1_2 0x0d ///< Length USB interface device v2 defined in + ///< +Redfish host interface spec v1.2 typedef union { USB_INTERFACE_DEVICE_DESCRIPTOR_V2 UsbDeviceV2; ///< Device type USB V2 device discriptor. PCI_OR_PCIE_INTERFACE_DEVICE_DESCRIPTOR_V2 PciPcieDeviceV2; ///< Device type PCI/PCIe V2 device discriptor. -- 2.37.1.windows.1 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH V2 3/3] RedfishPkg/Include: Redfish USB Interface V2 update 2022-12-28 6:28 ` Nickle Wang @ 2022-12-28 15:32 ` Igor Kulchytskyy 0 siblings, 0 replies; 12+ messages in thread From: Igor Kulchytskyy @ 2022-12-28 15:32 UTC (permalink / raw) To: Nickle Wang, abner.chang@amd.com, devel@edk2.groups.io Reviewed-by: Igor Kulchytskyy<igork@ami.com> -----Original Message----- From: Nickle Wang <nicklew@nvidia.com> Sent: Wednesday, December 28, 2022 1:28 AM To: abner.chang@amd.com; devel@edk2.groups.io Cc: Igor Kulchytskyy <igork@ami.com> Subject: [EXTERNAL] RE: [PATCH V2 3/3] RedfishPkg/Include: Redfish USB Interface V2 update **CAUTION: The e-mail below is from an external source. Please exercise caution before opening attachments, clicking links, or following guidance.** Reviewed-by: Nickle Wang<nicklew@nvidia.com> Regards, Nickle -----Original Message----- From: abner.chang@amd.com <abner.chang@amd.com> Sent: Wednesday, December 28, 2022 1:14 PM To: devel@edk2.groups.io Cc: Nickle Wang <nicklew@nvidia.com>; Igor Kulchytskyy <igork@ami.com> Subject: [PATCH V2 3/3] RedfishPkg/Include: Redfish USB Interface V2 update External email: Use caution opening links or attachments From: Abner Chang <abner.chang@amd.com> Support USB_INTERFACE_DEVICE_DESCRIPTOR_V2 which is updated in Redfish Host Interface spec v1.3. Signed-off-by: Abner Chang <abner.chang@amd.com> Cc: Nickle Wang <nicklew@nvidia.com> Cc: Igor Kulchytskyy <igork@ami.com> --- .../IndustryStandard/RedfishHostInterface.h | 25 ++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/RedfishPkg/Include/IndustryStandard/RedfishHostInterface.h b/RedfishPkg/Include/IndustryStandard/RedfishHostInterface.h index 49b3ceee39c..022bd1f36ef 100644 --- a/RedfishPkg/Include/IndustryStandard/RedfishHostInterface.h +++ b/RedfishPkg/Include/IndustryStandard/RedfishHostInterface.h @@ -3,6 +3,7 @@ Copyright (c) 2019, Intel Corporation. All rights reserved.<BR> (C) Copyright 2020 Hewlett Packard Enterprise Development LP<BR> + Copyright (C) 2022 Advanced Micro Devices, Inc. All rights + reserved.<BR> SPDX-License-Identifier: BSD-2-Clause-Patent **/ @@ -29,6 +30,18 @@ #define REDFISH_HOST_INTERFACE_HOST_IP_ADDRESS_FORMAT_IP4 0x01 #define REDFISH_HOST_INTERFACE_HOST_IP_ADDRESS_FORMAT_IP6 0x02 +/// +/// Definitions for IP assignment tyeps. +/// +typedef enum { + RedfishHostIpAssignmentUnknown, + RedfishHostIpAssignmentStatic, + RedfishHostIpAssignmentDhcp, + RedfishHostIpAssignmentAutoConfigure, + RedfishHostIpAssignmentHostSelected, + RedfishHostIpAssignmentReserved +} REDFISH_HOST_IP_ASSIGNMENT; + #pragma pack(1) /// /// Structure definitions of Host Interface device type 04h (USB Network Interface V2) @@ -40,12 +53,18 @@ typedef struct { ///< idVendor field of the USB descriptor. UINT16 IdProduct; ///< The Product ID of the device, as read from the ///< idProduct field of the USB descriptor. - UINT8 SecialNumberStr; ///< The string number for the Serial Number of the + UINT8 SerialNumberStr; ///< The string number for the Serial Number of the ///< device. The string data is read from the ///< iSerialNumber.bDescriptorType field of the USB ///< descriptor, and is converted from Unicode to ASCII ///< and is NULL terminated. UINT8 MacAddress[6]; ///< The MAC address of the PCI/PCIe network device. + + /// + /// Below is defined in Redfish Host Interface spec v1.3 /// + UINT16 Characteristics; ///< Additional device characteristics. + UINT16 CredentialBootstrappingHandle; ///< Credential bootstrapping handle. } USB_INTERFACE_DEVICE_DESCRIPTOR_V2; // @@ -74,6 +93,10 @@ typedef struct { /// /// Define union for the Host Interface Device Descriptor /// +#define USB_INTERFACE_DEVICE_DESCRIPTOR_V2_SIZE_1_3 0x11 ///< Length USB interface device v2 defined in + ///< Redfish host interface spec v1.3 +#define USB_INTERFACE_DEVICE_DESCRIPTOR_V2_SIZE_1_2 0x0d ///< Length USB interface device v2 defined in + ///< +Redfish host interface spec v1.2 typedef union { USB_INTERFACE_DEVICE_DESCRIPTOR_V2 UsbDeviceV2; ///< Device type USB V2 device discriptor. PCI_OR_PCIE_INTERFACE_DEVICE_DESCRIPTOR_V2 PciPcieDeviceV2; ///< Device type PCI/PCIe V2 device discriptor. -- 2.37.1.windows.1 -The information contained in this message may be confidential and proprietary to American Megatrends (AMI). This communication is intended to be read only by the individual or entity to whom it is addressed or by their designee. If the reader of this message is not the intended recipient, you are on notice that any distribution of this message, in any form, is strictly prohibited. Please promptly notify the sender by reply e-mail or by telephone at 770-246-8600, and then delete or destroy all copies of the transmission. ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [edk2-devel] [PATCH V2 0/3] IPMI changes for Redfish 2022-12-28 5:13 [PATCH V2 0/3] IPMI changes for Redfish Chang, Abner ` (2 preceding siblings ...) 2022-12-28 5:13 ` [PATCH V2 3/3] RedfishPkg/Include: Redfish USB Interface V2 update Chang, Abner @ 2022-12-29 17:37 ` Michael D Kinney 2022-12-30 4:10 ` Chang, Abner 2023-01-08 15:18 ` Chang, Abner 3 siblings, 2 replies; 12+ messages in thread From: Michael D Kinney @ 2022-12-29 17:37 UTC (permalink / raw) To: devel@edk2.groups.io, abner.chang@amd.com, Kinney, Michael D Cc: Gao, Liming, Liu, Zhiguang, Nickle Wang, Igor Kulchytskyy, Oram, Isaac W, Desimone, Nathaniel L, Kinney, Michael D Hi Abner, Can you provide an overview of the RedFish features that are required to interact with HW interfaces such as USB and IPMI and network services? I am wondering if these can be abstracted through dynamic interfaces such as PPI/Protocol instead of static interfaces such as library classes. It may help provide more options on where the Device/Platform specific sources are hosted. Thanks, Mike > -----Original Message----- > From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Chang, Abner via groups.io > Sent: Tuesday, December 27, 2022 9:14 PM > To: devel@edk2.groups.io > Cc: Kinney, Michael D <michael.d.kinney@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>; Liu, Zhiguang > <zhiguang.liu@intel.com>; Nickle Wang <nicklew@nvidia.com>; Igor Kulchytskyy <igork@ami.com>; Oram, Isaac W > <isaac.w.oram@intel.com>; Desimone, Nathaniel L <nathaniel.l.desimone@intel.com> > Subject: [edk2-devel] [PATCH V2 0/3] IPMI changes for Redfish > > From: Abner Chang <abner.chang@amd.com> > > 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.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> > > 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 | 50 +++++++++++++++++++ > 5 files changed, 156 insertions(+), 5 deletions(-) > create mode 100644 RedfishPkg/Include/IndustryStandard/RedfishHostInterfaceIpmi.h > > -- > 2.37.1.windows.1 > > > > > ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [edk2-devel] [PATCH V2 0/3] IPMI changes for Redfish 2022-12-29 17:37 ` [edk2-devel] [PATCH V2 0/3] IPMI changes for Redfish Michael D Kinney @ 2022-12-30 4:10 ` Chang, Abner 2023-01-08 15:18 ` Chang, Abner 1 sibling, 0 replies; 12+ messages in thread From: Chang, Abner @ 2022-12-30 4:10 UTC (permalink / raw) To: Kinney, Michael D, devel@edk2.groups.io Cc: Gao, Liming, Liu, Zhiguang, Nickle Wang, Igor Kulchytskyy, Oram, Isaac W, Desimone, Nathaniel L [AMD Official Use Only - General] Sure, I am glad to provide the overview of edk2 Redfish feature. Abner > -----Original Message----- > From: Kinney, Michael D <michael.d.kinney@intel.com> > Sent: Friday, December 30, 2022 1:37 AM > To: devel@edk2.groups.io; Chang, Abner <Abner.Chang@amd.com>; Kinney, > Michael D <michael.d.kinney@intel.com> > Cc: Gao, Liming <gaoliming@byosoft.com.cn>; Liu, Zhiguang > <zhiguang.liu@intel.com>; Nickle Wang <nicklew@nvidia.com>; Igor > Kulchytskyy <igork@ami.com>; Oram, Isaac W <isaac.w.oram@intel.com>; > Desimone, Nathaniel L <nathaniel.l.desimone@intel.com>; Kinney, Michael > D <michael.d.kinney@intel.com> > Subject: RE: [edk2-devel] [PATCH V2 0/3] IPMI changes for Redfish > > Caution: This message originated from an External Source. Use proper > caution when opening attachments, clicking links, or responding. > > > Hi Abner, > > Can you provide an overview of the RedFish features that are required to > interact with HW interfaces such as USB and IPMI and network services? > > I am wondering if these can be abstracted through dynamic interfaces such > as PPI/Protocol instead of static interfaces such as library classes. It may help > provide more options on where the Device/Platform specific sources are > hosted. > > Thanks, > > Mike > > > -----Original Message----- > > From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Chang, > > Abner via groups.io > > Sent: Tuesday, December 27, 2022 9:14 PM > > To: devel@edk2.groups.io > > Cc: Kinney, Michael D <michael.d.kinney@intel.com>; Gao, Liming > > <gaoliming@byosoft.com.cn>; Liu, Zhiguang <zhiguang.liu@intel.com>; > > Nickle Wang <nicklew@nvidia.com>; Igor Kulchytskyy <igork@ami.com>; > > Oram, Isaac W <isaac.w.oram@intel.com>; Desimone, Nathaniel L > > <nathaniel.l.desimone@intel.com> > > Subject: [edk2-devel] [PATCH V2 0/3] IPMI changes for Redfish > > > > From: Abner Chang <abner.chang@amd.com> > > > > 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.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> > > > > 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 | 50 +++++++++++++++++++ > > 5 files changed, 156 insertions(+), 5 deletions(-) create mode > > 100644 RedfishPkg/Include/IndustryStandard/RedfishHostInterfaceIpmi.h > > > > -- > > 2.37.1.windows.1 > > > > > > > > > > ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [edk2-devel] [PATCH V2 0/3] IPMI changes for Redfish 2022-12-29 17:37 ` [edk2-devel] [PATCH V2 0/3] IPMI changes for Redfish Michael D Kinney 2022-12-30 4:10 ` Chang, Abner @ 2023-01-08 15:18 ` Chang, Abner 1 sibling, 0 replies; 12+ messages in thread From: Chang, Abner @ 2023-01-08 15:18 UTC (permalink / raw) To: Kinney, Michael D, devel@edk2.groups.io Cc: Gao, Liming, Liu, Zhiguang, Nickle Wang, Igor Kulchytskyy, Oram, Isaac W, Desimone, Nathaniel L [AMD Official Use Only - General] Hi Mike and all, Please check here: https://github.com/changab/edk2-staging/tree/RedfishReadme/RedfishPkg#platform-components for the overview of Redfish-Network-USBNIC-IPMI. Thanks Abner > -----Original Message----- > From: Kinney, Michael D <michael.d.kinney@intel.com> > Sent: Friday, December 30, 2022 1:37 AM > To: devel@edk2.groups.io; Chang, Abner <Abner.Chang@amd.com>; Kinney, > Michael D <michael.d.kinney@intel.com> > Cc: Gao, Liming <gaoliming@byosoft.com.cn>; Liu, Zhiguang > <zhiguang.liu@intel.com>; Nickle Wang <nicklew@nvidia.com>; Igor > Kulchytskyy <igork@ami.com>; Oram, Isaac W <isaac.w.oram@intel.com>; > Desimone, Nathaniel L <nathaniel.l.desimone@intel.com>; Kinney, Michael > D <michael.d.kinney@intel.com> > Subject: RE: [edk2-devel] [PATCH V2 0/3] IPMI changes for Redfish > > Caution: This message originated from an External Source. Use proper > caution when opening attachments, clicking links, or responding. > > > Hi Abner, > > Can you provide an overview of the RedFish features that are required to > interact with HW interfaces such as USB and IPMI and network services? > > I am wondering if these can be abstracted through dynamic interfaces such > as PPI/Protocol instead of static interfaces such as library classes. It may help > provide more options on where the Device/Platform specific sources are > hosted. > > Thanks, > > Mike > > > -----Original Message----- > > From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Chang, > > Abner via groups.io > > Sent: Tuesday, December 27, 2022 9:14 PM > > To: devel@edk2.groups.io > > Cc: Kinney, Michael D <michael.d.kinney@intel.com>; Gao, Liming > > <gaoliming@byosoft.com.cn>; Liu, Zhiguang <zhiguang.liu@intel.com>; > > Nickle Wang <nicklew@nvidia.com>; Igor Kulchytskyy <igork@ami.com>; > > Oram, Isaac W <isaac.w.oram@intel.com>; Desimone, Nathaniel L > > <nathaniel.l.desimone@intel.com> > > Subject: [edk2-devel] [PATCH V2 0/3] IPMI changes for Redfish > > > > From: Abner Chang <abner.chang@amd.com> > > > > 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.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> > > > > 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 | 50 +++++++++++++++++++ > > 5 files changed, 156 insertions(+), 5 deletions(-) create mode > > 100644 RedfishPkg/Include/IndustryStandard/RedfishHostInterfaceIpmi.h > > > > -- > > 2.37.1.windows.1 > > > > > > > > > > ^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2023-01-14 5:21 UTC | newest] Thread overview: 12+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2022-12-28 5:13 [PATCH V2 0/3] IPMI changes for Redfish Chang, Abner 2022-12-28 5:13 ` [PATCH V2 1/3] MdePkg/IndustryStandard: Update IPMI definitions Chang, Abner 2023-01-12 15:01 ` [edk2-devel] " manickavasakam karpagavinayagam 2023-01-12 15:12 ` Chang, Abner 2023-01-14 5:21 ` Chang, Abner 2022-12-28 5:13 ` [PATCH V2 2/3] RedfishPkg/Include: Add Redfish " Chang, Abner 2022-12-28 5:13 ` [PATCH V2 3/3] RedfishPkg/Include: Redfish USB Interface V2 update Chang, Abner 2022-12-28 6:28 ` Nickle Wang 2022-12-28 15:32 ` Igor Kulchytskyy 2022-12-29 17:37 ` [edk2-devel] [PATCH V2 0/3] IPMI changes for Redfish Michael D Kinney 2022-12-30 4:10 ` Chang, Abner 2023-01-08 15:18 ` Chang, Abner
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox