[AMD Official Use Only - General]
HI Abner,
Moving the IPMI related PCD’s will cause additional package dependencies.
Suppose if someone wants to implement SPMI table using DynamicTablesPkg (and using this PCD);
then it will cause dependencies on ManageabilityPkg which is not accepted.
Thanks
AbduL
From: Chang, Abner <Abner.Chang@amd.com>
Sent: Tuesday, April 23, 2024 7:22 AM
To: Sean Brogan <spbrogan@outlook.com>; devel@edk2.groups.io; Attar, AbdulLateef (Abdul Lateef) <AbdulLateef.Attar@amd.com>; Liming Gao <gaoliming@byosoft.com.cn>; Michael D Kinney <michael.d.kinney@intel.com>; Zhiguang Liu <zhiguang.liu@intel.com>
Cc: Chris Fernald <chris.fernald@outlook.com>
Subject: RE: [edk2-devel] [PATCH RESEND v1] MdePkg: Adds a PCD to define IPMI interface type
[AMD Official Use Only - General]
Hi Sean,
I was struggling when introduce IPMI KCS base IO PCD in Mde, although it is a industry value but seems it is fine to have it in ManageabilityPkg. How do you think if we relocate those IPMI PCDs back to ManageabilityPkg?
Thanks
Abner
From: Sean Brogan <spbrogan@outlook.com>
Sent: Tuesday, April 23, 2024 4:18 AM
To: devel@edk2.groups.io; Attar, AbdulLateef (Abdul Lateef) <AbdulLateef.Attar@amd.com>; Liming Gao <gaoliming@byosoft.com.cn>;
Michael D Kinney <michael.d.kinney@intel.com>; Zhiguang Liu <zhiguang.liu@intel.com>
Cc: Chang, Abner <Abner.Chang@amd.com>; Chris Fernald <chris.fernald@outlook.com>
Subject: Re: [edk2-devel] [PATCH RESEND v1] MdePkg: Adds a PCD to define IPMI interface type
Caution: This message originated from an External Source. Use proper caution when opening attachments, clicking links, or responding. |
This seems like a bad design to require the ipmi interface type at such a high level in the code tree. UEFI provides plenty protocol and library abstractions for IPMI so I would really prefer not to leak this type of information into a PCD defined in MdePkg.
Happy to discuss IPMI support and I would really like to see edk2,
edk2-platforms/Features/ManageabilityPkg at master · tianocore/edk2-platforms (github.com),
microsoft/mu_feature_ipmi: Project Mu - Feature Repo- Firmware support for IPMI (github.com), and commercial vendors find some sort of alignment going forward as no one wins with the mess that is in
the industry now.
Thanks
Sean
On 4/22/2024 3:50 AM, Abdul Lateef Attar via groups.io wrote:
Gentle reminder, review please.
On 30-03-2024 10:52, Abdul Lateef Attar wrote:Define IPMI interface type as per specification version 2.0,
section C1-1.1.
Cc: 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>
Signed-off-by: Abdul Lateef Attar <AbdulLateef.Attar@amd.com>
---
MdePkg/MdePkg.dec | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/MdePkg/MdePkg.dec b/MdePkg/MdePkg.dec
index 0c18e1decd..396d960dca 100644
--- a/MdePkg/MdePkg.dec
+++ b/MdePkg/MdePkg.dec
@@ -9,7 +9,7 @@
# (C) Copyright 2016 - 2021 Hewlett Packard Enterprise Development LP<BR>
# Copyright (c) 2022, Loongson Technology Corporation Limited. All rights reserved.<BR>
# Copyright (c) 2021 - 2022, Arm Limited. All rights reserved.<BR>
-# Copyright (C) 2023 Advanced Micro Devices, Inc. All rights reserved.<BR>
+# Copyright (C) 2023 - 2024, Advanced Micro Devices, Inc. All rights reserved.<BR>
# Copyright (c) 2023, Ampere Computing LLC. All rights reserved.<BR>
#
# SPDX-License-Identifier: BSD-2-Clause-Patent
@@ -2401,6 +2401,15 @@
# @Prompt Time-out for a response, internal
gEfiMdePkgTokenSpaceGuid.PcdIpmiSsifResponseRetryIntervalMicrosecond|60000|UINT32|0x00000036
+ ## Indicates IPMI Interface Type
+ # The IPMI specification defines the following interface types: (section C1-1.1)
+ # 0 - Unknown
+ # 1 - KCS : Keyboard Controller Style
+ # 2 - SMIC : Server Management Interface Chip
+ # 3 - BT : Block Transfer
+ # 4 - SSIF : SMBus System Interface
+ gEfiMdePkgTokenSpaceGuid.PcdIpmiInterfaceType|0|UINT8|0x00000038
+
[PcdsFixedAtBuild.AARCH64, PcdsPatchableInModule.AARCH64]
## GUID identifying the Rng algorithm implemented by CPU instruction.
# @Prompt CPU Rng algorithm's GUID.