Re: [edk2-devel] [PATCH V2 3/3] RedfishPkg/Include: Redfish USB Interface V2 update

2022-12-27 Thread Nickle Wang via groups.io
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

2022-12-27 Thread Dongdong Zhang
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

2022-12-27 Thread Dongdong Zhang
"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

2022-12-27 Thread Chang, Abner via groups.io
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

2022-12-27 Thread Chang, Abner via groups.io
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

2022-12-27 Thread Chang, Abner via groups.io
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

2022-12-27 Thread Chang, Abner via groups.io
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

2022-12-27 Thread Chang, Abner via groups.io
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

2022-12-27 Thread Chang, Abner via groups.io
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

2022-12-27 Thread Chang, Abner via groups.io
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

2022-12-27 Thread Chang, Abner via groups.io
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.

2022-12-27 Thread Yuanhao Xie
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

2022-12-27 Thread Yuanhao Xie
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

2022-12-27 Thread Nickle Wang via groups.io
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

2022-12-27 Thread dakota . chiang
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.

2022-12-27 Thread Chiu, Chasel


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.

2022-12-27 Thread Yuanhao Xie
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]
-=-=-=-=-=-=-=-=-=-=-=-