Re: [edk2-devel] [PATCH V2 3/3] RedfishPkg/Include: Redfish USB Interface V2 update
Reviewed-by: Nickle Wang Regards, Nickle -Original Message- From: abner.ch...@amd.com Sent: Wednesday, December 28, 2022 1:14 PM To: devel@edk2.groups.io Cc: Nickle Wang ; Igor Kulchytskyy Subject: [PATCH V2 3/3] RedfishPkg/Include: Redfish USB Interface V2 update External email: Use caution opening links or attachments From: Abner Chang Support USB_INTERFACE_DEVICE_DESCRIPTOR_V2 which is updated in Redfish Host Interface spec v1.3. Signed-off-by: Abner Chang Cc: Nickle Wang Cc: Igor Kulchytskyy --- .../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. (C) Copyright 2020 Hewlett Packard Enterprise Development LP + Copyright (C) 2022 Advanced Micro Devices, Inc. All rights + reserved. 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. UINT16IdProduct; ///< 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 /// + UINT16Characteristics; ///< Additional device characteristics. + UINT16CredentialBootstrappingHandle; ///< 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_V2UsbDeviceV2; ///< Device type USB V2 device discriptor. PCI_OR_PCIE_INTERFACE_DEVICE_DESCRIPTOR_V2PciPcieDeviceV2; ///< Device type PCI/PCIe V2 device discriptor. -- 2.37.1.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#97779): https://edk2.groups.io/g/devel/message/97779 Mute This Topic: https://groups.io/mt/95915835/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[edk2-devel] [PATCH 1/1] Platform/RISC-V/PlatformPkg:fix image link error
Edk2OpensbiPlatformWrapperLib Library and RiscVSpecialPlatformLib Library mark the serial number in the figure is opposite to the text description, fix it and adjust the text order. Signed-off-by: Dongdong Zhang --- Platform/RISC-V/PlatformPkg/Readme.md | 14 -- 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/Platform/RISC-V/PlatformPkg/Readme.md b/Platform/RISC-V/PlatformPkg/Readme.md index 5a344a8..d7166ba 100644 --- a/Platform/RISC-V/PlatformPkg/Readme.md +++ b/Platform/RISC-V/PlatformPkg/Readme.md @@ -35,19 +35,21 @@ are from OpenSBI project. edk2 libraries are introduced as the wrapper libraries [Indicated as #2 in the figure](#risc-v-edk2-port-design-diagrams) > ***OpenSbiPlatformLib*** provides the generic RISC-V platform initialization > code. Platform vendor can just utilize this library if they don't have > additional requirements on the platform initialization. -# RiscVSpecialPlatformLib Library -[Indicated as #3 in the figure](#risc-v-edk2-port-design-diagrams) -> The major use case of this library is to facilitate the interfaces for platform vendors to provide the special -platform initialization based on the generic platform initialization library. - # Edk2OpensbiPlatformWrapperLib Library -[Indicated as #4 in the figure](#risc-v-edk2-port-design-diagrams) + +[Indicated as #3 in the figure](#risc-v-edk2-port-design-diagrams) > In order to providing the flexibility to edk2 RISC-V firmware solution, > ***Edk2OpensbiPlatformWrapperLib*** is the wrapper library of > [OpenSbiPlatformLib](#OpenSbiPlatformLib-library) to provide the interfaces > for OEM. The ***platform_ops_address***in the generic platform structure is > replaced with ***Edk2OpensbiplatformOps*** in SEC module. The platform function invoked by OpenSBI core is hooked to ***Edk2OpensbiPlatformWrapperLib***. This gives a change to OEM for implementing platform-specific initialization before and after the generic platform code. OEM can override this library under their platform folder on demand without touching ***RiscVOpensbiLib*** library source files and other common source files. +# RiscVSpecialPlatformLib Library + +[Indicated as #4 in the figure](#risc-v-edk2-port-design-diagrams) +> The major use case of this library is to facilitate the interfaces for platform vendors to provide the special +platform initialization based on the generic platform initialization library. + # Next Phase Address and Privilege Mode [Indicated as #5 in the figure](#risc-v-edk2-port-design-diagrams) > Once OpenSBI finishes the boot initialization, it will jump to the next > phase with the default privilege set to -- 2.17.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#9): https://edk2.groups.io/g/devel/message/9 Mute This Topic: https://groups.io/mt/95916024/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[edk2-devel] [PATCH 0/1] fix image link error
"Edk2OpensbiPlatformWrapperLib" and "RiscVSpecialPlatformLib" mark the serial number in the figure is opposite to the text description, fix it and adjust the text order. Dongdong Zhang (1): Platform/RISC-V/PlatformPkg:fix image link error Platform/RISC-V/PlatformPkg/Readme.md | 14 -- 1 file changed, 8 insertions(+), 6 deletions(-) -- 2.17.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#97778): https://edk2.groups.io/g/devel/message/97778 Mute This Topic: https://groups.io/mt/95916025/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[edk2-devel] [PATCH V2 3/3] RedfishPkg/Include: Redfish USB Interface V2 update
From: Abner Chang Support USB_INTERFACE_DEVICE_DESCRIPTOR_V2 which is updated in Redfish Host Interface spec v1.3. Signed-off-by: Abner Chang Cc: Nickle Wang Cc: Igor Kulchytskyy --- .../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. (C) Copyright 2020 Hewlett Packard Enterprise Development LP + Copyright (C) 2022 Advanced Micro Devices, Inc. All rights reserved. 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. UINT16IdProduct; ///< 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 + /// + UINT16Characteristics; ///< Additional device characteristics. + UINT16CredentialBootstrappingHandle; ///< 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_V2UsbDeviceV2; ///< Device type USB V2 device discriptor. PCI_OR_PCIE_INTERFACE_DEVICE_DESCRIPTOR_V2PciPcieDeviceV2; ///< Device type PCI/PCIe V2 device discriptor. -- 2.37.1.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#97776): https://edk2.groups.io/g/devel/message/97776 Mute This Topic: https://groups.io/mt/95915835/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[edk2-devel] [PATCH V2 2/3] RedfishPkg/Include: Add Redfish IPMI definitions
From: Abner Chang Add the definitions of Redfish Host Interface credential bootstrapping IPMI commands. Signed-off-by: Nickle Wang Cc: Abner Chang Cc: Igor Kulchytskyy --- .../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 000..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 +#include + +#define REDFISH_IPMI_GROUP_EXTENSION 0x52 +#define REDFISH_IPMI_GET_BOOTSTRAP_CREDENTIALS_CMD0x02 +#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 { + UINT8GroupExtensionId; + UINT8DisableBootstrapControl; +} IPMI_BOOTSTRAP_CREDENTIALS_COMMAND_DATA; + +/// +/// The response data of getting bootstrap credential /// typedef +typedef struct { + UINT8CompletionCode; + UINT8GroupExtensionId; + CHAR8Username[USERNAME_MAX_LENGTH]; + CHAR8Password[PASSWORD_MAX_LENGTH]; +} IPMI_BOOTSTRAP_CREDENTIALS_RESULT_RESPONSE; + +#pragma pack() + +#endif -- 2.37.1.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#97775): https://edk2.groups.io/g/devel/message/97775 Mute This Topic: https://groups.io/mt/95915834/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[edk2-devel] [PATCH V2 0/3] IPMI changes for Redfish
From: Abner Chang 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 Cc: Michael D Kinney Cc: Liming Gao Cc: Zhiguang Liu Cc: Nickle Wang Cc: Igor Kulchytskyy Cc: Isaac Oram Cc: Nate DeSimone 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 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#97773): https://edk2.groups.io/g/devel/message/97773 Mute This Topic: https://groups.io/mt/95915832/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[edk2-devel] [PATCH V2 1/3] MdePkg/IndustryStandard: Update IPMI definitions
From: Abner Chang 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 Cc: Michael D Kinney Cc: Liming Gao Cc: Zhiguang Liu Cc: Nickle Wang Cc: Igor Kulchytskyy Cc: Isaac Oram Cc: Nate DeSimone --- MdePkg/Include/IndustryStandard/Ipmi.h| 17 + .../Include/IndustryStandard/IpmiNetFnApp.h | 37 +-- .../IndustryStandard/IpmiNetFnTransport.h | 32 3 files changed, 82 insertions(+), 4 deletions(-) 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. + Copyright (C) 2022 Advanced Micro Devices, Inc. All rights reserved. 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_IPMB0x00 +#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_INTERFACE0x0F #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. + Copyright (C) 2022 Advanced Micro Devices, Inc. All rights reserved. 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_GUIDSystemUuid; +} 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_END0x7F +// +// 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 { UINT8ChannelNo : 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_NUMBERChannelNumber; +} 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. + Copyright (C) 2022 Advanced Micro Devices, Inc. All rights reserved. SPDX-License-Identifier: BSD-2-Clause-Patent **/ @@ -60,6 +61,7 @@ typedef enum { IpmiLanReserved3, IpmiLanDestinationType, IpmiLanDestinationAddress, + IpmiLanVlanId = 0x14,
[edk2-devel] [PATCH 1/3] MdeModulePkg/Include: Add IpmiCommandLib header file
From: Abner Chang Add IpmiCommandLib to MdeModulePkg. This header file is copied from edk2-platforms/Features/Intel/OutOfBandManagement/ IpmiFeaturePkg\Include\Library. Having this header file in edk2 to avoid the dependence of edk2 module with edk2-platfrom. The NULL instance of IpmiCommandLib under MdeModulePkg has to be implemented for the same reason. IpmiCommandLib.h in edk2-platforms should be removed once this patch set is merged. Expect no impacts on edk2-platforms because MdeModulePkg is referred in INF file by all edk2 modules under edk2-platforms that use IpmiCommandLib. Signed-off-by: Abner Chang Cc: Jian J Wang Cc: Liming Gao Cc: Nickle Wang Cc: Igor Kulchytskyy Cc: Isaac Oram Cc: Nate DeSimone --- MdeModulePkg/Include/Library/IpmiCommandLib.h | 683 ++ 1 file changed, 683 insertions(+) create mode 100644 MdeModulePkg/Include/Library/IpmiCommandLib.h diff --git a/MdeModulePkg/Include/Library/IpmiCommandLib.h b/MdeModulePkg/Include/Library/IpmiCommandLib.h new file mode 100644 index 000..cac8123411f --- /dev/null +++ b/MdeModulePkg/Include/Library/IpmiCommandLib.h @@ -0,0 +1,683 @@ +/** @file + This library abstract how to send/receive IPMI command. + +Copyright (c) 2018-2021, Intel Corporation. All rights reserved. +Copyright (C) 2022 Advanced Micro Devices, Inc. All rights reserved. + +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#ifndef IPMI_COMMAND_LIB_H_ +#define IPMI_COMMAND_LIB_H_ + +#include +#include + +// +// IPMI NetFnApp +// + +/** + This function gets the IPMI Device ID. + + @param[out] DeviceId Get device ID response. + + @retval EFI_SUCCESSCommand is sent successly. + @retval EFI_NOT_AVAILABLE_YET Transport interface is not ready yet. + @retval Other Failure. + +**/ +EFI_STATUS +EFIAPI +IpmiGetDeviceId ( + OUT IPMI_GET_DEVICE_ID_RESPONSE *DeviceId + ); + +/** + This function gets the self-test result. + + @param[out] SelfTestResult Self test command response. + + @retval EFI_SUCCESSCommand is sent successly. + @retval EFI_NOT_AVAILABLE_YET Transport interface is not ready yet. + @retval Other Failure. + +**/ +EFI_STATUS +EFIAPI +IpmiGetSelfTestResult ( + OUT IPMI_SELF_TEST_RESULT_RESPONSE *SelfTestResult + ); + +/** + This function resets watchdog timer. + + @param[out] CompletionCode The command completion code. + + @retval EFI_SUCCESSCommand is sent successly. + @retval EFI_NOT_AVAILABLE_YET Transport interface is not ready yet. + @retval Other Failure. + +**/ +EFI_STATUS +EFIAPI +IpmiResetWatchdogTimer ( + OUT UINT8 *CompletionCode + ); + +/** + This function sets watchdog timer. + + @param[in] SetWatchdogTimer Set watchdog timer request. + @param[out] CompletionCode The command completion code. + + @retval EFI_SUCCESSCommand is sent successly. + @retval EFI_NOT_AVAILABLE_YET Transport interface is not ready yet. + @retval Other Failure. + + +**/ +EFI_STATUS +EFIAPI +IpmiSetWatchdogTimer ( + IN IPMI_SET_WATCHDOG_TIMER_REQUEST *SetWatchdogTimer, + OUT UINT8*CompletionCode + ); + +/** + This function gets watchdog timer. + + @param[out] GetWatchdogTimer Get watchdog timer response. + + @retval EFI_SUCCESSCommand is sent successly. + @retval EFI_NOT_AVAILABLE_YET Transport interface is not ready yet. + @retval Other Failure. + +**/ +EFI_STATUS +EFIAPI +IpmiGetWatchdogTimer ( + OUT IPMI_GET_WATCHDOG_TIMER_RESPONSE *GetWatchdogTimer + ); + +/** + This function sets BMC global enables. + + @param[in] SetBmcGlobalEnablesSet BMC global enables command request. + @param[out] CompletionCode The command completion code. + + @retval EFI_SUCCESSCommand is sent successly. + @retval EFI_NOT_AVAILABLE_YET Transport interface is not ready yet. + @retval Other Failure. + +**/ +EFI_STATUS +EFIAPI +IpmiSetBmcGlobalEnables ( + IN IPMI_SET_BMC_GLOBAL_ENABLES_REQUEST *SetBmcGlobalEnables, + OUT UINT8*CompletionCode + ); + +/** + This function gets BMC global enables. + + @param[out] GetBmcGlobalEnables Get BMC global enables command response. + + @retval EFI_SUCCESSCommand is sent successly. + @retval EFI_NOT_AVAILABLE_YET Transport interface is not ready yet. + @retval Other Failure. + +**/ +EFI_STATUS +EFIAPI +IpmiGetBmcGlobalEnables ( + OUT IPMI_GET_BMC_GLOBAL_ENABLES_RESPONSE *GetBmcGlobalEnables + ); + +/** + This function clears message flag. + + @param[in]ClearMessageFlagsRequest Clear message flags command request. + @param[out] CompletionCodeThe command completion code. + + @retval EFI_SUCCESSCommand is sent successly. + @retval EFI_NOT_AVAILABLE_YET Transport interface is not ready yet. + @retval Other Failure. + +**/ +EFI_STATUS +EFIAPI
[edk2-devel] [PATCH 2/3] MdeModulePkg/IpmiCommandLib: Add NULL instance library
From: Abner Chang The NULL instance of IpmiCommandLib library under MdeModulePkg as the default IpmiCommandLib instance used by the modules under edk2. Signed-off-by: Abner Chang Cc: Jian J Wang Cc: Liming Gao Cc: Nickle Wang Cc: Igor Kulchytskyy Cc: Isaac Oram Cc: Nate DeSimone --- .../BaseIpmiCommandLibNull.inf| 34 +++ .../IpmiCommandLibNetFnApp.c | 252 ++ .../IpmiCommandLibNetFnChassis.c | 123 + .../IpmiCommandLibNetFnStorage.c | 248 + .../IpmiCommandLibNetFnTransport.c| 100 +++ 5 files changed, 757 insertions(+) create mode 100644 MdeModulePkg/Library/BaseIpmiCommandLibNull/BaseIpmiCommandLibNull.inf create mode 100644 MdeModulePkg/Library/BaseIpmiCommandLibNull/IpmiCommandLibNetFnApp.c create mode 100644 MdeModulePkg/Library/BaseIpmiCommandLibNull/IpmiCommandLibNetFnChassis.c create mode 100644 MdeModulePkg/Library/BaseIpmiCommandLibNull/IpmiCommandLibNetFnStorage.c create mode 100644 MdeModulePkg/Library/BaseIpmiCommandLibNull/IpmiCommandLibNetFnTransport.c diff --git a/MdeModulePkg/Library/BaseIpmiCommandLibNull/BaseIpmiCommandLibNull.inf b/MdeModulePkg/Library/BaseIpmiCommandLibNull/BaseIpmiCommandLibNull.inf new file mode 100644 index 000..d486539658f --- /dev/null +++ b/MdeModulePkg/Library/BaseIpmiCommandLibNull/BaseIpmiCommandLibNull.inf @@ -0,0 +1,34 @@ +## @file +# NULL instance of IpmiCommandLib +# +# Component description file for IPMI Command Library. +# +# Copyright (c) 2018 - 2021, Intel Corporation. All rights reserved. +# Copyright (C) 2022 Advanced Micro Devices, Inc. All rights reserved. +# +# SPDX-License-Identifier: BSD-2-Clause-Patent +# +## + +[Defines] + INF_VERSION= 0x00010005 + BASE_NAME = BaseIpmiCommandLibNull + FILE_GUID = 63F06EF8-B78A-4E7E-823E-D11A21059669 + MODULE_TYPE= BASE + VERSION_STRING = 1.0 + LIBRARY_CLASS = IpmiCommandLib + +[sources] + IpmiCommandLibNetFnApp.c + IpmiCommandLibNetFnTransport.c + IpmiCommandLibNetFnChassis.c + IpmiCommandLibNetFnStorage.c + +[Packages] + MdePkg/MdePkg.dec + MdeModulePkg/MdeModulePkg.dec + +[LibraryClasses] + BaseMemoryLib + DebugLib + diff --git a/MdeModulePkg/Library/BaseIpmiCommandLibNull/IpmiCommandLibNetFnApp.c b/MdeModulePkg/Library/BaseIpmiCommandLibNull/IpmiCommandLibNetFnApp.c new file mode 100644 index 000..4f0c49b048c --- /dev/null +++ b/MdeModulePkg/Library/BaseIpmiCommandLibNull/IpmiCommandLibNetFnApp.c @@ -0,0 +1,252 @@ +/** @file + IPMI Command - NetFnApp NULL instance library. + + Copyright (c) 2018 - 2021, Intel Corporation. All rights reserved. + Copyright (C) 2022 Advanced Micro Devices, Inc. All rights reserved. + + SPDX-License-Identifier: BSD-2-Clause-Patent +**/ +#include +#include + +/** + This function gets the IPMI Device ID. + + @param[out] DeviceId Get device ID response. + + @retval EFI_UNSUPPORTED Unsupported in the NULL lib. + +**/ +EFI_STATUS +EFIAPI +IpmiGetDeviceId ( + OUT IPMI_GET_DEVICE_ID_RESPONSE *DeviceId + ) +{ + return EFI_UNSUPPORTED; +} + +/** + This function gets the self-test result. + + @param[out] SelfTestResult Self test command response. + + @retval EFI_UNSUPPORTED Unsupported in the NULL lib. + +**/ +EFI_STATUS +EFIAPI +IpmiGetSelfTestResult ( + OUT IPMI_SELF_TEST_RESULT_RESPONSE *SelfTestResult + ) +{ + return EFI_UNSUPPORTED; +} + +/** + This function resets watchdog timer. + + @param[out] CompletionCode The command completion code. + + @retval EFI_UNSUPPORTED Unsupported in the NULL lib. + +**/ +EFI_STATUS +EFIAPI +IpmiResetWatchdogTimer ( + OUT UINT8 *CompletionCode + ) +{ + return EFI_UNSUPPORTED; +} + +/** + This function sets watchdog timer. + + @param[in] SetWatchdogTimer Set watchdog timer request. + @param[out] CompletionCode The command completion code. + + @retval EFI_UNSUPPORTED Unsupported in the NULL lib. + +**/ +EFI_STATUS +EFIAPI +IpmiSetWatchdogTimer ( + IN IPMI_SET_WATCHDOG_TIMER_REQUEST *SetWatchdogTimer, + OUT UINT8*CompletionCode + ) +{ + return EFI_UNSUPPORTED; +} + +/** + This function gets watchdog timer. + + @param[out] GetWatchdogTimer Get watchdog timer response. + + @retval EFI_UNSUPPORTED Unsupported in the NULL lib. + +**/ +EFI_STATUS +EFIAPI +IpmiGetWatchdogTimer ( + OUT IPMI_GET_WATCHDOG_TIMER_RESPONSE *GetWatchdogTimer + ) +{ + return EFI_UNSUPPORTED; +} + +/** + This function sets BMC global enables. + + @param[in] SetBmcGlobalEnablesSet BMC global enables command request. + @param[out] CompletionCode The command completion code. + + @retval EFI_UNSUPPORTED Unsupported in the NULL lib. + +**/ +EFI_STATUS +EFIAPI +IpmiSetBmcGlobalEnables ( + IN IPMI_SET_BMC_GLOBAL_ENABLES_REQUEST *SetBmcGlobalEnables, + OUT UINT8
[edk2-devel] [PATCH 3/3] MdeModulePkg: Add IpmiCommandLib
From: Abner Chang Add IpmiCommandLib to MdeModulePkg DEC/DSC files. Signed-off-by: Abner Chang Cc: Jian J Wang Cc: Liming Gao Cc: Nickle Wang Cc: Igor Kulchytskyy Cc: Isaac Oram Cc: Nate DeSimone --- MdeModulePkg/MdeModulePkg.dec | 4 MdeModulePkg/MdeModulePkg.dsc | 2 ++ 2 files changed, 6 insertions(+) diff --git a/MdeModulePkg/MdeModulePkg.dec b/MdeModulePkg/MdeModulePkg.dec index be5e829ca9c..1c2eff3a319 100644 --- a/MdeModulePkg/MdeModulePkg.dec +++ b/MdeModulePkg/MdeModulePkg.dec @@ -117,6 +117,10 @@ # IpmiLib|Include/Library/IpmiLib.h + ## @libraryclass Provides interfaces to send/receive IPMI command. + # + IpmiCommandLib|Include/Library/IpmiCommandLib.h + ## @libraryclass Provides interfaces for platform to return root bridge information to PciHostBridgeDxe driver. # PciHostBridgeLib|Include/Library/PciHostBridgeLib.h diff --git a/MdeModulePkg/MdeModulePkg.dsc b/MdeModulePkg/MdeModulePkg.dsc index 659482ab737..79f0d0b1fe1 100644 --- a/MdeModulePkg/MdeModulePkg.dsc +++ b/MdeModulePkg/MdeModulePkg.dsc @@ -104,6 +104,7 @@ VariablePolicyHelperLib|MdeModulePkg/Library/VariablePolicyHelperLib/VariablePolicyHelperLib.inf MmUnblockMemoryLib|MdePkg/Library/MmUnblockMemoryLib/MmUnblockMemoryLibNull.inf VariableFlashInfoLib|MdeModulePkg/Library/BaseVariableFlashInfoLib/BaseVariableFlashInfoLib.inf + IpmiCommandLib|MdeModulePkg/Library/BaseIpmiCommandLibNull/BaseIpmiCommandLibNull.inf [LibraryClasses.EBC.PEIM] IoLib|MdePkg/Library/PeiIoLibCpuIo/PeiIoLibCpuIo.inf @@ -333,6 +334,7 @@ MdeModulePkg/Library/DxeIpmiLibIpmiProtocol/DxeIpmiLibIpmiProtocol.inf MdeModulePkg/Library/PeiIpmiLibIpmiPpi/PeiIpmiLibIpmiPpi.inf MdeModulePkg/Library/SmmIpmiLibSmmIpmiProtocol/SmmIpmiLibSmmIpmiProtocol.inf + MdeModulePkg/Library/BaseIpmiCommandLibNull/BaseIpmiCommandLibNull.inf MdeModulePkg/Library/FrameBufferBltLib/FrameBufferBltLib.inf MdeModulePkg/Library/NonDiscoverableDeviceRegistrationLib/NonDiscoverableDeviceRegistrationLib.inf MdeModulePkg/Library/BaseBmpSupportLib/BaseBmpSupportLib.inf -- 2.37.1.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#97770): https://edk2.groups.io/g/devel/message/97770 Mute This Topic: https://groups.io/mt/95915730/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[edk2-devel] [PATCH 0/3] Add NULL IpmiCommandLib instance
From: Abner Chang BZ# 4231 This patch adds a NULL instance of IpmiCommandLib to remove the dependence between edk2 and edk2-platform packages. Signed-off-by: Abner Chang Cc: Jian J Wang Cc: Liming Gao Cc: Nickle Wang Cc: Igor Kulchytskyy Cc: Isaac Oram Cc: Nate DeSimone Abner Chang (3): MdeModulePkg/Include: Add IpmiCommandLib header file MdeModulePkg/IpmiCommandLib: Add NULL instance library MdeModulePkg: Add IpmiCommandLib MdeModulePkg/MdeModulePkg.dec | 4 + MdeModulePkg/MdeModulePkg.dsc | 2 + .../BaseIpmiCommandLibNull.inf| 32 + MdeModulePkg/Include/Library/IpmiCommandLib.h | 683 ++ .../IpmiCommandLibNetFnApp.c | 252 +++ .../IpmiCommandLibNetFnChassis.c | 123 .../IpmiCommandLibNetFnStorage.c | 248 +++ .../IpmiCommandLibNetFnTransport.c| 100 +++ 8 files changed, 1444 insertions(+) create mode 100644 MdeModulePkg/Library/BaseIpmiCommandLibNull/BaseIpmiCommandLibNull.inf create mode 100644 MdeModulePkg/Include/Library/IpmiCommandLib.h create mode 100644 MdeModulePkg/Library/BaseIpmiCommandLibNull/IpmiCommandLibNetFnApp.c create mode 100644 MdeModulePkg/Library/BaseIpmiCommandLibNull/IpmiCommandLibNetFnChassis.c create mode 100644 MdeModulePkg/Library/BaseIpmiCommandLibNull/IpmiCommandLibNetFnStorage.c create mode 100644 MdeModulePkg/Library/BaseIpmiCommandLibNull/IpmiCommandLibNetFnTransport.c -- 2.37.1.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#97769): https://edk2.groups.io/g/devel/message/97769 Mute This Topic: https://groups.io/mt/95915689/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[edk2-devel] [PATCH] Platform/Intel/WhitleyOpenBoardPkg:Add CpuPageTableLib.
Add CpuPageTableLib required by MpInitLib. Cc: Isaac Oram Cc: Nate DeSimone Cc: Chasel Chiu Signed-off-by: Yuanhao Xie --- Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.dsc | 1 + 1 file changed, 1 insertion(+) diff --git a/Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.dsc b/Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.dsc index 36fc4c642..69597a743 100644 --- a/Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.dsc +++ b/Platform/Intel/WhitleyOpenBoardPkg/PlatformPkg.dsc @@ -650,6 +650,7 @@ TcgPhysicalPresenceLib|SecurityPkg/Library/DxeTcgPhysicalPresenceLib/DxeTcgPhysicalPresenceLib.inf BiosIdLib|BoardModulePkg/Library/BiosIdLib/DxeBiosIdLib.inf + CpuPageTableLib|UefiCpuPkg/Library/CpuPageTableLib/CpuPageTableLib.inf MpInitLib|UefiCpuPkg/Library/MpInitLib/DxeMpInitLib.inf TpmMeasurementLib|SecurityPkg/Library/DxeTpmMeasurementLib/DxeTpmMeasurementLib.inf -- 2.36.1.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#97768): https://edk2.groups.io/g/devel/message/97768 Mute This Topic: https://groups.io/mt/95914694/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[edk2-devel] [PATCH] Platform/Intel/Vlv2TbltDevicePkg: Add CpuPageTableLib
Add CpuPageTableLib required by MpInitLib Cc: Zailiang Sun Cc: Yi Qian Cc: Nate DeSimone Signed-off-by: Yuanhao Xie --- Platform/Intel/Vlv2TbltDevicePkg/PlatformPkgX64.dsc | 1 + 1 file changed, 1 insertion(+) diff --git a/Platform/Intel/Vlv2TbltDevicePkg/PlatformPkgX64.dsc b/Platform/Intel/Vlv2TbltDevicePkg/PlatformPkgX64.dsc index 8215a9130..8f61f9f5c 100644 --- a/Platform/Intel/Vlv2TbltDevicePkg/PlatformPkgX64.dsc +++ b/Platform/Intel/Vlv2TbltDevicePkg/PlatformPkgX64.dsc @@ -164,6 +164,7 @@ MtrrLib|UefiCpuPkg/Library/MtrrLib/MtrrLib.inf LocalApicLib|UefiCpuPkg/Library/BaseXApicX2ApicLib/BaseXApicX2ApicLib.inf CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf + CpuPageTableLib|UefiCpuPkg/Library/CpuPageTableLib/CpuPageTableLib.inf MpInitLib|UefiCpuPkg/Library/MpInitLib/DxeMpInitLib.inf CcExitLib|UefiCpuPkg/Library/CcExitLibNull/CcExitLibNull.inf MicrocodeLib|UefiCpuPkg/Library/MicrocodeLib/MicrocodeLib.inf -- 2.36.1.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#97767): https://edk2.groups.io/g/devel/message/97767 Mute This Topic: https://groups.io/mt/95914585/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
Re: [edk2-devel] [PATCH 3/3] RedfishPkg/Include: Redfish USB Interface V2 update
Hi Abner, Could you please also fix the typo in USB_INTERFACE_DEVICE_DESCRIPTOR_V2 structure together? There is typo at line 43: https://github.com/tianocore/edk2/blob/a086f4a63bc0295b0b02f8ee76381c6b437122bf/RedfishPkg/Include/IndustryStandard/RedfishHostInterface.h#L43 UINT8 SecialNumberStr; It should be SerialNumberStr. Thanks, Nickle -Original Message- From: abner.ch...@amd.com Sent: Friday, December 23, 2022 8:34 PM To: devel@edk2.groups.io Cc: Nickle Wang ; Igor Kulchytskyy Subject: [PATCH 3/3] RedfishPkg/Include: Redfish USB Interface V2 update External email: Use caution opening links or attachments From: Abner Chang Support USB_INTERFACE_DEVICE_DESCRIPTOR_V2 which is updated in Redfish Host Interface spec v1.3. Signed-off-by: Abner Chang Cc: Nickle Wang Cc: Igor Kulchytskyy --- .../IndustryStandard/RedfishHostInterface.h | 23 +++ 1 file changed, 23 insertions(+) diff --git a/RedfishPkg/Include/IndustryStandard/RedfishHostInterface.h b/RedfishPkg/Include/IndustryStandard/RedfishHostInterface.h index 49b3ceee39c..5337c3234b2 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. (C) Copyright 2020 Hewlett Packard Enterprise Development LP + Copyright (C) 2022 Advanced Micro Devices, Inc. All rights + reserved. 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) @@ -46,6 +59,12 @@ typedef struct { ///< 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 /// + UINT16Characteristics; ///< Additional device characteristics. + UINT16CredentialBootstrappingHandle; ///< 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_V2UsbDeviceV2; ///< Device type USB V2 device discriptor. PCI_OR_PCIE_INTERFACE_DEVICE_DESCRIPTOR_V2PciPcieDeviceV2; ///< Device type PCI/PCIe V2 device discriptor. -- 2.37.1.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#97766): https://edk2.groups.io/g/devel/message/97766 Mute This Topic: https://groups.io/mt/95843861/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[edk2-devel] [PATCH] S-ACM entry ver 0x200 does not contain requested FMS
From: Dakota Chiang REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4198 After commit 1e1e35bb3b2fceea75ad97968da4b31f059dcb4c, FIT Type 2 ACM entry is not generated as expected with given -I arguments. FMS/FMS value is overridden by GetAcmFms(). This patch detects whether FMS/FMS Mask is already assigned with -I argument. If it's not zero, skip invoking GetAcmFms(). Signed-off-by: Dakota Chiang Cc: Bob Feng Cc: Liming Gao Cc: Jason1 Lin Cc: Rahul R Kumar --- Silicon/Intel/Tools/FitGen/FitGen.c | 11 --- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/Silicon/Intel/Tools/FitGen/FitGen.c b/Silicon/Intel/Tools/FitGen/FitGen.c index 4ba07945a6..16c8b9b026 100644 --- a/Silicon/Intel/Tools/FitGen/FitGen.c +++ b/Silicon/Intel/Tools/FitGen/FitGen.c @@ -3745,9 +3745,14 @@ FitGen ( DumpAcm((ACM_FORMAT *)AcmBuffer); if (gFitTableContext.StartupAcm[Index].Version >= 0x200) { - GetAcmFms((ACM_FORMAT *)AcmBuffer, [Index].FMS, [Index].FMSMask); - printf("ACM FMS:%08x\n", gFitTableContext.StartupAcm[Index].FMS); - printf("ACM FMS Mask:%08x\n", gFitTableContext.StartupAcm[Index].FMSMask); + if ((gFitTableContext.StartupAcm[Index].FMS == 0) && (gFitTableContext.StartupAcm[Index].FMSMask == 0)) { +// +// FMS and FMSMask is not assigned via -I argument. Get it from ACM +// +GetAcmFms((ACM_FORMAT *)AcmBuffer, [Index].FMS, [Index].FMSMask); +printf("ACM FMS:%08x\n", gFitTableContext.StartupAcm[Index].FMS); +printf("ACM FMS Mask:%08x\n", gFitTableContext.StartupAcm[Index].FMSMask); + } } } else { -- 2.38.1.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#97765): https://edk2.groups.io/g/devel/message/97765 Mute This Topic: https://groups.io/mt/95906183/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
Re: [edk2-devel] [PATCH] Platform/Intel/MinPlatformPkg:Add CpuPageTableLib required by MpInitLib.
Thanks for the update! Reviewed-by: Chasel Chiu > -Original Message- > From: Xie, Yuanhao > Sent: Tuesday, December 27, 2022 12:31 AM > To: devel@edk2.groups.io > Cc: Chiu, Chasel ; Desimone, Nathaniel L > ; Oram, Isaac W > ; Gao, Liming ; > Dong, Eric > Subject: [PATCH] Platform/Intel/MinPlatformPkg:Add CpuPageTableLib > required by MpInitLib. > > Add CpuPageTableLib required by MpInitLib. > > Cc: Chasel Chiu > Cc: Nate DeSimone > Cc: Isaac Oram > Cc: Liming Gao > Cc: Eric Dong > Signed-off-by: Yuanhao Xie > --- > Platform/Intel/MinPlatformPkg/Include/Dsc/CoreDxeLib.dsc | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/Platform/Intel/MinPlatformPkg/Include/Dsc/CoreDxeLib.dsc > b/Platform/Intel/MinPlatformPkg/Include/Dsc/CoreDxeLib.dsc > index e48d4b06d..5a6183761 100644 > --- a/Platform/Intel/MinPlatformPkg/Include/Dsc/CoreDxeLib.dsc > +++ b/Platform/Intel/MinPlatformPkg/Include/Dsc/CoreDxeLib.dsc > @@ -27,7 +27,7 @@ > > LockBoxLib|MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxDxeLib.i > nf > > > CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeC > puExceptionHandlerLib.inf > - > + > CpuPageTableLib|UefiCpuPkg/Library/CpuPageTableLib/CpuPageTableLib.in > f >MpInitLib|UefiCpuPkg/Library/MpInitLib/DxeMpInitLib.inf > > FrameBufferBltLib|MdeModulePkg/Library/FrameBufferBltLib/FrameBuffer > BltLib.inf >TimerLib|PcAtChipsetPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.inf > -- > 2.36.1.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#97764): https://edk2.groups.io/g/devel/message/97764 Mute This Topic: https://groups.io/mt/95900312/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[edk2-devel] [PATCH] Platform/Intel/MinPlatformPkg:Add CpuPageTableLib required by MpInitLib.
Add CpuPageTableLib required by MpInitLib. Cc: Chasel Chiu Cc: Nate DeSimone Cc: Isaac Oram Cc: Liming Gao Cc: Eric Dong Signed-off-by: Yuanhao Xie --- Platform/Intel/MinPlatformPkg/Include/Dsc/CoreDxeLib.dsc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Platform/Intel/MinPlatformPkg/Include/Dsc/CoreDxeLib.dsc b/Platform/Intel/MinPlatformPkg/Include/Dsc/CoreDxeLib.dsc index e48d4b06d..5a6183761 100644 --- a/Platform/Intel/MinPlatformPkg/Include/Dsc/CoreDxeLib.dsc +++ b/Platform/Intel/MinPlatformPkg/Include/Dsc/CoreDxeLib.dsc @@ -27,7 +27,7 @@ LockBoxLib|MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxDxeLib.inf CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf - + CpuPageTableLib|UefiCpuPkg/Library/CpuPageTableLib/CpuPageTableLib.inf MpInitLib|UefiCpuPkg/Library/MpInitLib/DxeMpInitLib.inf FrameBufferBltLib|MdeModulePkg/Library/FrameBufferBltLib/FrameBufferBltLib.inf TimerLib|PcAtChipsetPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.inf -- 2.36.1.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#97763): https://edk2.groups.io/g/devel/message/97763 Mute This Topic: https://groups.io/mt/95900312/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-