From: "PierreGondois" <pierre.gondois@arm.com>
To: devel@edk2.groups.io
Cc: Pierre Gondois <pierre.gondois@arm.com>,
Sami Mujawar <sami.mujawar@arm.com>,
Pierre Gondois <Pierre.Gondois@arm.com>,
Yeo Reum Yun <YeoReum.Yun@arm.com>,
Sunil V L <sunilvl@ventanamicro.com>,
AbdulLateef Attar <AbdulLateef.Attar@amd.com>,
Jeshua Smith <jeshuas@nvidia.com>,
Jeff Brasen <jbrasen@nvidia.com>,
Girish Mahadevan <gmahadevan@nvidia.com>,
Leif Lindholm <quic_llindhol@quicinc.com>,
Meenakshi Aggarwal <meenakshi.aggarwal@nxp.com>
Subject: [edk2-devel] [PATCH 12/16] DynamicTablesPkg & ArmVirtPkg: Move Power Mgmt Profile Info Object
Date: Thu, 21 Mar 2024 16:53:15 +0100 [thread overview]
Message-ID: <20240321155319.701355-13-pierre.gondois@arm.com> (raw)
In-Reply-To: <20240321155319.701355-1-pierre.gondois@arm.com>
From: Sami Mujawar <sami.mujawar@arm.com>
Move PowerManagementProfileInfo Object from Arm Namespace to the
Arch Common namespace.
The following updates are also done to reflect the changes introduced
by the move:
- Update the FADT Generator to migrate to use the Power Management
Profile Info object CM_ARCH_COMMON_POWER_MANAGEMENT_PROFILE_INFO
and EArchCommonObjPowerManagementProfileInfo.
- Update the Configuration manager object parser to parse Arch
Common namespace objects and update the parsing of the Power
Management Profile information object from Arm namespace to
the Arch Common namespace.
- Update the Dynamic Plat Repo TokenFixer map
- Update ArmVirtPkg/Kvmtool Guest firmware configuration manager.
Cc: Pierre Gondois <Pierre.Gondois@arm.com>
Cc: Yeo Reum Yun <YeoReum.Yun@arm.com>
Cc: AbdulLateef Attar <AbdulLateef.Attar@amd.com>
Cc: Jeshua Smith <jeshuas@nvidia.com>
Cc: Jeff Brasen <jbrasen@nvidia.com>
Cc: Girish Mahadevan <gmahadevan@nvidia.com>
Cc: Leif Lindholm <quic_llindhol@quicinc.com>
Cc: Meenakshi Aggarwal <meenakshi.aggarwal@nxp.com>
Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
Signed-off-by: Pierre Gondois <pierre.gondois@arm.com>
---
.../KvmtoolCfgMgrDxe/ConfigurationManager.c | 136 +++++++++---------
.../KvmtoolCfgMgrDxe/ConfigurationManager.h | 20 +--
.../Include/ArchCommonNameSpaceObjects.h | 53 +++++++
.../Include/ArmNameSpaceObjects.h | 135 ++++++-----------
.../Include/Library/SsdtSerialPortFixupLib.h | 16 +--
.../Acpi/Arm/AcpiDbg2LibArm/Dbg2Generator.c | 20 +--
.../Acpi/Arm/AcpiFadtLibArm/FadtGenerator.c | 14 +-
.../Acpi/Arm/AcpiSpcrLibArm/SpcrGenerator.c | 18 +--
.../SsdtSerialPortGenerator.c | 24 ++--
.../DynamicPlatRepoLib/CmObjectTokenFixer.c | 90 ++++++------
.../SsdtSerialPortFixupLib.c | 46 +++---
.../ConfigurationManagerObjectParser.c | 18 +--
.../Serial/ArmSerialPortParser.c | 79 +++++-----
.../Serial/ArmSerialPortParser.h | 8 +-
DynamicTablesPkg/Readme.md | 94 ++++++------
15 files changed, 386 insertions(+), 385 deletions(-)
diff --git a/ArmVirtPkg/KvmtoolCfgMgrDxe/ConfigurationManager.c b/ArmVirtPkg/KvmtoolCfgMgrDxe/ConfigurationManager.c
index 4a76583f969c..724054440644 100644
--- a/ArmVirtPkg/KvmtoolCfgMgrDxe/ConfigurationManager.c
+++ b/ArmVirtPkg/KvmtoolCfgMgrDxe/ConfigurationManager.c
@@ -761,74 +761,7 @@ GetArchCommonNameSpaceObject (
// First check among the static objects.
//
switch (GET_CM_OBJECT_ID (CmObjectId)) {
- default:
- //
- // No match found among the static objects.
- // Check the dynamic objects.
- //
- Status = DynamicPlatRepoGetObject (
- PlatformRepo->DynamicPlatformRepo,
- CmObjectId,
- Token,
- CmObject
- );
- break;
- } // switch
-
- if (Status == EFI_NOT_FOUND) {
- DEBUG ((
- DEBUG_INFO,
- "INFO: CmObjectId " FMT_CM_OBJECT_ID ". Status = %r\n",
- CmObjectId,
- Status
- ));
- } else {
- ASSERT_EFI_ERROR (Status);
- }
-
- return Status;
-}
-
-/**
- Return an ARM namespace object.
-
- @param [in] This Pointer to the Configuration Manager Protocol.
- @param [in] CmObjectId The Configuration Manager Object ID.
- @param [in] Token An optional token identifying the object. If
- unused this must be CM_NULL_TOKEN.
- @param [in, out] CmObject Pointer to the Configuration Manager Object
- descriptor describing the requested Object.
-
- @retval EFI_SUCCESS Success.
- @retval EFI_INVALID_PARAMETER A parameter is invalid.
- @retval EFI_NOT_FOUND The required object information is not found.
-**/
-EFI_STATUS
-EFIAPI
-GetArmNameSpaceObject (
- IN CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL *CONST This,
- IN CONST CM_OBJECT_ID CmObjectId,
- IN CONST CM_OBJECT_TOKEN Token OPTIONAL,
- IN OUT CM_OBJ_DESCRIPTOR *CONST CmObject
- )
-{
- EFI_STATUS Status;
- EDKII_PLATFORM_REPOSITORY_INFO *PlatformRepo;
-
- if ((This == NULL) || (CmObject == NULL)) {
- ASSERT (This != NULL);
- ASSERT (CmObject != NULL);
- return EFI_INVALID_PARAMETER;
- }
-
- Status = EFI_NOT_FOUND;
- PlatformRepo = This->PlatRepoInfo;
-
- //
- // First check among the static objects.
- //
- switch (GET_CM_OBJECT_ID (CmObjectId)) {
- case EArmObjPowerManagementProfileInfo:
+ case EArchCommonObjPowerManagementProfileInfo:
Status = HandleCmObject (
CmObjectId,
&PlatformRepo->PmProfileInfo,
@@ -838,6 +771,73 @@ GetArmNameSpaceObject (
);
break;
+ default:
+ //
+ // No match found among the static objects.
+ // Check the dynamic objects.
+ //
+ Status = DynamicPlatRepoGetObject (
+ PlatformRepo->DynamicPlatformRepo,
+ CmObjectId,
+ Token,
+ CmObject
+ );
+ break;
+ } // switch
+
+ if (Status == EFI_NOT_FOUND) {
+ DEBUG ((
+ DEBUG_INFO,
+ "INFO: CmObjectId " FMT_CM_OBJECT_ID ". Status = %r\n",
+ CmObjectId,
+ Status
+ ));
+ } else {
+ ASSERT_EFI_ERROR (Status);
+ }
+
+ return Status;
+}
+
+/**
+ Return an ARM namespace object.
+
+ @param [in] This Pointer to the Configuration Manager Protocol.
+ @param [in] CmObjectId The Configuration Manager Object ID.
+ @param [in] Token An optional token identifying the object. If
+ unused this must be CM_NULL_TOKEN.
+ @param [in, out] CmObject Pointer to the Configuration Manager Object
+ descriptor describing the requested Object.
+
+ @retval EFI_SUCCESS Success.
+ @retval EFI_INVALID_PARAMETER A parameter is invalid.
+ @retval EFI_NOT_FOUND The required object information is not found.
+**/
+EFI_STATUS
+EFIAPI
+GetArmNameSpaceObject (
+ IN CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL *CONST This,
+ IN CONST CM_OBJECT_ID CmObjectId,
+ IN CONST CM_OBJECT_TOKEN Token OPTIONAL,
+ IN OUT CM_OBJ_DESCRIPTOR *CONST CmObject
+ )
+{
+ EFI_STATUS Status;
+ EDKII_PLATFORM_REPOSITORY_INFO *PlatformRepo;
+
+ if ((This == NULL) || (CmObject == NULL)) {
+ ASSERT (This != NULL);
+ ASSERT (CmObject != NULL);
+ return EFI_INVALID_PARAMETER;
+ }
+
+ Status = EFI_NOT_FOUND;
+ PlatformRepo = This->PlatRepoInfo;
+
+ //
+ // First check among the static objects.
+ //
+ switch (GET_CM_OBJECT_ID (CmObjectId)) {
case EArmObjItsGroup:
Status = HandleCmObject (
CmObjectId,
diff --git a/ArmVirtPkg/KvmtoolCfgMgrDxe/ConfigurationManager.h b/ArmVirtPkg/KvmtoolCfgMgrDxe/ConfigurationManager.h
index 3373948bc4eb..4fb12db73b81 100644
--- a/ArmVirtPkg/KvmtoolCfgMgrDxe/ConfigurationManager.h
+++ b/ArmVirtPkg/KvmtoolCfgMgrDxe/ConfigurationManager.h
@@ -73,53 +73,53 @@ typedef struct PlatformRepositoryInfo {
///
/// Configuration Manager Information.
///
- CM_STD_OBJ_CONFIGURATION_MANAGER_INFO CmInfo;
+ CM_STD_OBJ_CONFIGURATION_MANAGER_INFO CmInfo;
///
/// List of ACPI tables
///
- CM_STD_OBJ_ACPI_TABLE_INFO CmAcpiTableList[PLAT_ACPI_TABLE_COUNT];
+ CM_STD_OBJ_ACPI_TABLE_INFO CmAcpiTableList[PLAT_ACPI_TABLE_COUNT];
///
/// Power management profile information
///
- CM_ARM_POWER_MANAGEMENT_PROFILE_INFO PmProfileInfo;
+ CM_ARCH_COMMON_POWER_MANAGEMENT_PROFILE_INFO PmProfileInfo;
///
/// ITS Group node
///
- CM_ARM_ITS_GROUP_NODE ItsGroupInfo;
+ CM_ARM_ITS_GROUP_NODE ItsGroupInfo;
///
/// ITS Identifier array
///
- CM_ARM_ITS_IDENTIFIER ItsIdentifierArray[1];
+ CM_ARM_ITS_IDENTIFIER ItsIdentifierArray[1];
///
/// PCI Root complex node
///
- CM_ARM_ROOT_COMPLEX_NODE RootComplexInfo;
+ CM_ARM_ROOT_COMPLEX_NODE RootComplexInfo;
///
/// Array of DeviceID mapping
///
- CM_ARM_ID_MAPPING DeviceIdMapping[1];
+ CM_ARM_ID_MAPPING DeviceIdMapping[1];
///
/// Dynamic platform repository.
/// CmObj created by parsing the Kvmtool device tree are stored here.
///
- DYNAMIC_PLATFORM_REPOSITORY_INFO *DynamicPlatformRepo;
+ DYNAMIC_PLATFORM_REPOSITORY_INFO *DynamicPlatformRepo;
///
/// Base address of the FDT.
///
- VOID *FdtBase;
+ VOID *FdtBase;
///
/// A handle to the FDT HwInfoParser.
///
- HW_INFO_PARSER_HANDLE FdtParserHandle;
+ HW_INFO_PARSER_HANDLE FdtParserHandle;
} EDKII_PLATFORM_REPOSITORY_INFO;
#endif // CONFIGURATION_MANAGER_H_
diff --git a/DynamicTablesPkg/Include/ArchCommonNameSpaceObjects.h b/DynamicTablesPkg/Include/ArchCommonNameSpaceObjects.h
index e4205d6ba6bc..4eabb4d38b40 100644
--- a/DynamicTablesPkg/Include/ArchCommonNameSpaceObjects.h
+++ b/DynamicTablesPkg/Include/ArchCommonNameSpaceObjects.h
@@ -21,7 +21,60 @@
*/
typedef enum ArchCommonObjectID {
EArchCommonObjReserved, ///< 0 - Reserved
+ EArchCommonObjPowerManagementProfileInfo, ///< 1 - Power Management Profile Info
+ EArchCommonObjSerialPortInfo, ///< 2 - Generic Serial Port Info
+ EArchCommonObjConsolePortInfo, ///< 3 - Serial Console Port Info
+ EArchCommonObjSerialDebugPortInfo, ///< 4 - Serial Debug Port Info
EArchCommonObjMax
} EARCH_COMMON_OBJECT_ID;
+#pragma pack(1)
+
+/** A structure that describes the
+ Power Management Profile Information for the Platform.
+
+ ID: EArchCommonObjPowerManagementProfileInfo
+*/
+typedef struct CmArchCommonPowerManagementProfileInfo {
+ /** This is the Preferred_PM_Profile field of the FADT Table
+ described in the ACPI Specification
+ */
+ UINT8 PowerManagementProfile;
+} CM_ARCH_COMMON_POWER_MANAGEMENT_PROFILE_INFO;
+
+/** A structure that describes the
+ Serial Port information for the Platform.
+
+ ID: EArchCommonObjConsolePortInfo or
+ EArchCommonObjSerialDebugPortInfo or
+ EArchCommonObjSerialPortInfo
+*/
+typedef struct EArchCommonSerialPortInfo {
+ /// The physical base address for the serial port
+ UINT64 BaseAddress;
+
+ /** The serial port interrupt.
+ 0 indicates that the serial port does not
+ have an interrupt wired.
+ */
+ UINT32 Interrupt;
+
+ /// The serial port baud rate
+ UINT64 BaudRate;
+
+ /// The serial port clock
+ UINT32 Clock;
+
+ /// Serial Port subtype
+ UINT16 PortSubtype;
+
+ /// The Base address length
+ UINT64 BaseAddressLength;
+
+ /// The access size
+ UINT8 AccessSize;
+} CM_ARCH_COMMON_SERIAL_PORT_INFO;
+
+#pragma pack()
+
#endif // ARCH_COMMON_NAMESPACE_OBJECTS_H_
diff --git a/DynamicTablesPkg/Include/ArmNameSpaceObjects.h b/DynamicTablesPkg/Include/ArmNameSpaceObjects.h
index f7e1a0933f7b..4878eb60e3cb 100644
--- a/DynamicTablesPkg/Include/ArmNameSpaceObjects.h
+++ b/DynamicTablesPkg/Include/ArmNameSpaceObjects.h
@@ -30,53 +30,49 @@
typedef enum ArmObjectID {
EArmObjReserved, ///< 0 - Reserved
EArmObjBootArchInfo, ///< 1 - Boot Architecture Info
- EArmObjPowerManagementProfileInfo, ///< 2 - Power Management Profile Info
- EArmObjGicCInfo, ///< 3 - GIC CPU Interface Info
- EArmObjGicDInfo, ///< 4 - GIC Distributor Info
- EArmObjGicMsiFrameInfo, ///< 5 - GIC MSI Frame Info
- EArmObjGicRedistributorInfo, ///< 6 - GIC Redistributor Info
- EArmObjGicItsInfo, ///< 7 - GIC ITS Info
- EArmObjSerialConsolePortInfo, ///< 8 - Serial Console Port Info
- EArmObjSerialDebugPortInfo, ///< 9 - Serial Debug Port Info
- EArmObjGenericTimerInfo, ///< 10 - Generic Timer Info
- EArmObjPlatformGTBlockInfo, ///< 11 - Platform GT Block Info
- EArmObjGTBlockTimerFrameInfo, ///< 12 - Generic Timer Block Frame Info
- EArmObjPlatformGenericWatchdogInfo, ///< 13 - Platform Generic Watchdog
- EArmObjPciConfigSpaceInfo, ///< 14 - PCI Configuration Space Info
- EArmObjHypervisorVendorIdentity, ///< 15 - Hypervisor Vendor Id
- EArmObjFixedFeatureFlags, ///< 16 - Fixed feature flags for FADT
- EArmObjItsGroup, ///< 17 - ITS Group
- EArmObjNamedComponent, ///< 18 - Named Component
- EArmObjRootComplex, ///< 19 - Root Complex
- EArmObjSmmuV1SmmuV2, ///< 20 - SMMUv1 or SMMUv2
- EArmObjSmmuV3, ///< 21 - SMMUv3
- EArmObjPmcg, ///< 22 - PMCG
- EArmObjGicItsIdentifierArray, ///< 23 - GIC ITS Identifier Array
- EArmObjIdMappingArray, ///< 24 - ID Mapping Array
- EArmObjSmmuInterruptArray, ///< 25 - SMMU Interrupt Array
- EArmObjProcHierarchyInfo, ///< 26 - Processor Hierarchy Info
- EArmObjCacheInfo, ///< 27 - Cache Info
- EArmObjCmRef, ///< 28 - CM Object Reference
- EArmObjMemoryAffinityInfo, ///< 29 - Memory Affinity Info
- EArmObjDeviceHandleAcpi, ///< 30 - Device Handle Acpi
- EArmObjDeviceHandlePci, ///< 31 - Device Handle Pci
- EArmObjGenericInitiatorAffinityInfo, ///< 32 - Generic Initiator Affinity
- EArmObjSerialPortInfo, ///< 33 - Generic Serial Port Info
- EArmObjCmn600Info, ///< 34 - CMN-600 Info
- EArmObjLpiInfo, ///< 35 - Lpi Info
- EArmObjPciAddressMapInfo, ///< 36 - Pci Address Map Info
- EArmObjPciInterruptMapInfo, ///< 37 - Pci Interrupt Map Info
- EArmObjRmr, ///< 38 - Reserved Memory Range Node
- EArmObjMemoryRangeDescriptor, ///< 39 - Memory Range Descriptor
- EArmObjCpcInfo, ///< 40 - Continuous Performance Control Info
- EArmObjPccSubspaceType0Info, ///< 41 - Pcc Subspace Type 0 Info
- EArmObjPccSubspaceType1Info, ///< 42 - Pcc Subspace Type 2 Info
- EArmObjPccSubspaceType2Info, ///< 43 - Pcc Subspace Type 2 Info
- EArmObjPccSubspaceType3Info, ///< 44 - Pcc Subspace Type 3 Info
- EArmObjPccSubspaceType4Info, ///< 45 - Pcc Subspace Type 4 Info
- EArmObjPccSubspaceType5Info, ///< 46 - Pcc Subspace Type 5 Info
- EArmObjEtInfo, ///< 47 - Embedded Trace Extension/Module Info
- EArmObjPsdInfo, ///< 48 - P-State Dependency (PSD) Info
+ EArmObjGicCInfo, ///< 2 - GIC CPU Interface Info
+ EArmObjGicDInfo, ///< 3 - GIC Distributor Info
+ EArmObjGicMsiFrameInfo, ///< 4 - GIC MSI Frame Info
+ EArmObjGicRedistributorInfo, ///< 5 - GIC Redistributor Info
+ EArmObjGicItsInfo, ///< 6 - GIC ITS Info
+ EArmObjGenericTimerInfo, ///< 7 - Generic Timer Info
+ EArmObjPlatformGTBlockInfo, ///< 8 - Platform GT Block Info
+ EArmObjGTBlockTimerFrameInfo, ///< 9 - Generic Timer Block Frame Info
+ EArmObjPlatformGenericWatchdogInfo, ///< 10 - Platform Generic Watchdog
+ EArmObjPciConfigSpaceInfo, ///< 11 - PCI Configuration Space Info
+ EArmObjHypervisorVendorIdentity, ///< 12 - Hypervisor Vendor Id
+ EArmObjFixedFeatureFlags, ///< 13 - Fixed feature flags for FADT
+ EArmObjItsGroup, ///< 14 - ITS Group
+ EArmObjNamedComponent, ///< 15 - Named Component
+ EArmObjRootComplex, ///< 16 - Root Complex
+ EArmObjSmmuV1SmmuV2, ///< 17 - SMMUv1 or SMMUv2
+ EArmObjSmmuV3, ///< 18 - SMMUv3
+ EArmObjPmcg, ///< 19 - PMCG
+ EArmObjGicItsIdentifierArray, ///< 20 - GIC ITS Identifier Array
+ EArmObjIdMappingArray, ///< 21 - ID Mapping Array
+ EArmObjSmmuInterruptArray, ///< 22 - SMMU Interrupt Array
+ EArmObjProcHierarchyInfo, ///< 23 - Processor Hierarchy Info
+ EArmObjCacheInfo, ///< 24 - Cache Info
+ EArmObjCmRef, ///< 25 - CM Object Reference
+ EArmObjMemoryAffinityInfo, ///< 26 - Memory Affinity Info
+ EArmObjDeviceHandleAcpi, ///< 27 - Device Handle Acpi
+ EArmObjDeviceHandlePci, ///< 28 - Device Handle Pci
+ EArmObjGenericInitiatorAffinityInfo, ///< 29 - Generic Initiator Affinity
+ EArmObjCmn600Info, ///< 30 - CMN-600 Info
+ EArmObjLpiInfo, ///< 31 - Lpi Info
+ EArmObjPciAddressMapInfo, ///< 32 - Pci Address Map Info
+ EArmObjPciInterruptMapInfo, ///< 33 - Pci Interrupt Map Info
+ EArmObjRmr, ///< 34 - Reserved Memory Range Node
+ EArmObjMemoryRangeDescriptor, ///< 35 - Memory Range Descriptor
+ EArmObjCpcInfo, ///< 36 - Continuous Performance Control Info
+ EArmObjPccSubspaceType0Info, ///< 37 - Pcc Subspace Type 0 Info
+ EArmObjPccSubspaceType1Info, ///< 38 - Pcc Subspace Type 2 Info
+ EArmObjPccSubspaceType2Info, ///< 39 - Pcc Subspace Type 2 Info
+ EArmObjPccSubspaceType3Info, ///< 40 - Pcc Subspace Type 3 Info
+ EArmObjPccSubspaceType4Info, ///< 41 - Pcc Subspace Type 4 Info
+ EArmObjPccSubspaceType5Info, ///< 42 - Pcc Subspace Type 5 Info
+ EArmObjEtInfo, ///< 43 - Embedded Trace Extension/Module Info
+ EArmObjPsdInfo, ///< 44 - P-State Dependency (PSD) Info
EArmObjMax
} EARM_OBJECT_ID;
@@ -92,18 +88,6 @@ typedef struct CmArmBootArchInfo {
UINT16 BootArchFlags;
} CM_ARM_BOOT_ARCH_INFO;
-/** A structure that describes the
- Power Management Profile Information for the Platform.
-
- ID: EArmObjPowerManagementProfileInfo
-*/
-typedef struct CmArmPowerManagementProfileInfo {
- /** This is the Preferred_PM_Profile field of the FADT Table
- described in the ACPI Specification
- */
- UINT8 PowerManagementProfile;
-} CM_ARM_POWER_MANAGEMENT_PROFILE_INFO;
-
/** A structure that describes the
GIC CPU Interface for the Platform.
@@ -310,39 +294,6 @@ typedef struct CmArmGicItsInfo {
UINT32 ProximityDomain;
} CM_ARM_GIC_ITS_INFO;
-/** A structure that describes the
- Serial Port information for the Platform.
-
- ID: EArmObjSerialConsolePortInfo or
- EArmObjSerialDebugPortInfo or
- EArmObjSerialPortInfo
-*/
-typedef struct CmArmSerialPortInfo {
- /// The physical base address for the serial port
- UINT64 BaseAddress;
-
- /** The serial port interrupt.
- 0 indicates that the serial port does not
- have an interrupt wired.
- */
- UINT32 Interrupt;
-
- /// The serial port baud rate
- UINT64 BaudRate;
-
- /// The serial port clock
- UINT32 Clock;
-
- /// Serial Port subtype
- UINT16 PortSubtype;
-
- /// The Base address length
- UINT64 BaseAddressLength;
-
- /// The access size
- UINT8 AccessSize;
-} CM_ARM_SERIAL_PORT_INFO;
-
/** A structure that describes the
Generic Timer information for the Platform.
diff --git a/DynamicTablesPkg/Include/Library/SsdtSerialPortFixupLib.h b/DynamicTablesPkg/Include/Library/SsdtSerialPortFixupLib.h
index 4835f314c4f1..ac7b39f552de 100644
--- a/DynamicTablesPkg/Include/Library/SsdtSerialPortFixupLib.h
+++ b/DynamicTablesPkg/Include/Library/SsdtSerialPortFixupLib.h
@@ -29,11 +29,11 @@
EFI_STATUS
EFIAPI
BuildSsdtSerialPortTable (
- IN CONST CM_STD_OBJ_ACPI_TABLE_INFO *AcpiTableInfo,
- IN CONST CM_ARM_SERIAL_PORT_INFO *SerialPortInfo,
- IN CONST CHAR8 *Name,
- IN CONST UINT64 Uid,
- OUT EFI_ACPI_DESCRIPTION_HEADER **Table
+ IN CONST CM_STD_OBJ_ACPI_TABLE_INFO *AcpiTableInfo,
+ IN CONST CM_ARCH_COMMON_SERIAL_PORT_INFO *SerialPortInfo,
+ IN CONST CHAR8 *Name,
+ IN CONST UINT64 Uid,
+ OUT EFI_ACPI_DESCRIPTION_HEADER **Table
);
/** Free an SSDT table previously created by
@@ -52,7 +52,7 @@ FreeSsdtSerialPortTable (
/** Validate the Serial Port Information.
- @param [in] SerialPortInfoTable Table of CM_ARM_SERIAL_PORT_INFO.
+ @param [in] SerialPortInfoTable Table of CM_ARCH_COMMON_SERIAL_PORT_INFO.
@param [in] SerialPortCount Count of SerialPort in the table.
@retval EFI_SUCCESS Success.
@@ -61,8 +61,8 @@ FreeSsdtSerialPortTable (
EFI_STATUS
EFIAPI
ValidateSerialPortInfo (
- IN CONST CM_ARM_SERIAL_PORT_INFO *SerialPortInfoTable,
- IN UINT32 SerialPortCount
+ IN CONST CM_ARCH_COMMON_SERIAL_PORT_INFO *SerialPortInfoTable,
+ IN UINT32 SerialPortCount
);
#endif // SSDT_SERIAL_PORT_LIB_H_
diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiDbg2LibArm/Dbg2Generator.c b/DynamicTablesPkg/Library/Acpi/Arm/AcpiDbg2LibArm/Dbg2Generator.c
index f6dfb3d94c10..fbf2ba37331d 100644
--- a/DynamicTablesPkg/Library/Acpi/Arm/AcpiDbg2LibArm/Dbg2Generator.c
+++ b/DynamicTablesPkg/Library/Acpi/Arm/AcpiDbg2LibArm/Dbg2Generator.c
@@ -33,7 +33,7 @@
Requirements:
The following Configuration Manager Object(s) are required by
this Generator:
- - EArmObjSerialDebugPortInfo
+ - EArchCommonObjSerialDebugPortInfo
*/
#pragma pack(1)
@@ -181,9 +181,9 @@ DBG2_TABLE AcpiDbg2 = {
debug port information from the Configuration Manager
*/
GET_OBJECT_LIST (
- EObjNameSpaceArm,
- EArmObjSerialDebugPortInfo,
- CM_ARM_SERIAL_PORT_INFO
+ EObjNameSpaceArchCommon,
+ EArchCommonObjSerialDebugPortInfo,
+ CM_ARCH_COMMON_SERIAL_PORT_INFO
);
/** Initialize the PL011/SBSA UART with the parameters obtained from
@@ -198,7 +198,7 @@ GET_OBJECT_LIST (
STATIC
EFI_STATUS
SetupDebugUart (
- IN CONST CM_ARM_SERIAL_PORT_INFO *CONST SerialPortInfo
+ IN CONST CM_ARCH_COMMON_SERIAL_PORT_INFO *CONST SerialPortInfo
)
{
EFI_STATUS Status;
@@ -329,10 +329,10 @@ BuildDbg2TableEx (
OUT UINTN *CONST TableCount
)
{
- EFI_STATUS Status;
- CM_ARM_SERIAL_PORT_INFO *SerialPortInfo;
- UINT32 SerialPortCount;
- EFI_ACPI_DESCRIPTION_HEADER **TableList;
+ EFI_STATUS Status;
+ CM_ARCH_COMMON_SERIAL_PORT_INFO *SerialPortInfo;
+ UINT32 SerialPortCount;
+ EFI_ACPI_DESCRIPTION_HEADER **TableList;
ASSERT (This != NULL);
ASSERT (AcpiTableInfo != NULL);
@@ -358,7 +358,7 @@ BuildDbg2TableEx (
*Table = NULL;
- Status = GetEArmObjSerialDebugPortInfo (
+ Status = GetEArchCommonObjSerialDebugPortInfo (
CfgMgrProtocol,
CM_NULL_TOKEN,
&SerialPortInfo,
diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiFadtLibArm/FadtGenerator.c b/DynamicTablesPkg/Library/Acpi/Arm/AcpiFadtLibArm/FadtGenerator.c
index 57aaaf85e64a..ea8c821d1155 100644
--- a/DynamicTablesPkg/Library/Acpi/Arm/AcpiFadtLibArm/FadtGenerator.c
+++ b/DynamicTablesPkg/Library/Acpi/Arm/AcpiFadtLibArm/FadtGenerator.c
@@ -25,7 +25,7 @@
Requirements:
The following Configuration Manager Object(s) are required by
this Generator:
- - EArmObjPowerManagementProfileInfo
+ - EArchCommonObjPowerManagementProfileInfo
- EArmObjBootArchInfo
- EArmObjHypervisorVendorIdentity (OPTIONAL)
*/
@@ -202,9 +202,9 @@ EFI_ACPI_6_5_FIXED_ACPI_DESCRIPTION_TABLE AcpiFadt = {
Management Profile Information from the Configuration Manager.
*/
GET_OBJECT_LIST (
- EObjNameSpaceArm,
- EArmObjPowerManagementProfileInfo,
- CM_ARM_POWER_MANAGEMENT_PROFILE_INFO
+ EObjNameSpaceArchCommon,
+ EArchCommonObjPowerManagementProfileInfo,
+ CM_ARCH_COMMON_POWER_MANAGEMENT_PROFILE_INFO
);
/** This macro expands to a function that retrieves the Boot
@@ -253,13 +253,13 @@ FadtAddPmProfileInfo (
IN CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL *CONST CfgMgrProtocol
)
{
- EFI_STATUS Status;
- CM_ARM_POWER_MANAGEMENT_PROFILE_INFO *PmProfile;
+ EFI_STATUS Status;
+ CM_ARCH_COMMON_POWER_MANAGEMENT_PROFILE_INFO *PmProfile;
ASSERT (CfgMgrProtocol != NULL);
// Get the Power Management Profile from the Platform Configuration Manager
- Status = GetEArmObjPowerManagementProfileInfo (
+ Status = GetEArchCommonObjPowerManagementProfileInfo (
CfgMgrProtocol,
CM_NULL_TOKEN,
&PmProfile,
diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSpcrLibArm/SpcrGenerator.c b/DynamicTablesPkg/Library/Acpi/Arm/AcpiSpcrLibArm/SpcrGenerator.c
index 59cbacbfbbde..6f027f3bf941 100644
--- a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSpcrLibArm/SpcrGenerator.c
+++ b/DynamicTablesPkg/Library/Acpi/Arm/AcpiSpcrLibArm/SpcrGenerator.c
@@ -33,7 +33,7 @@
Requirements:
The following Configuration Manager Object(s) are required by
this Generator:
- - EArmObjSerialConsolePortInfo
+ - EArchCommonObjConsolePortInfo
NOTE: This implementation ignores the possibility that the Serial settings may
be modified from the UEFI Shell. A more complex handler would be needed
@@ -98,9 +98,9 @@ EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE AcpiSpcr = {
Port Information from the Configuration Manager.
*/
GET_OBJECT_LIST (
- EObjNameSpaceArm,
- EArmObjSerialConsolePortInfo,
- CM_ARM_SERIAL_PORT_INFO
+ EObjNameSpaceArchCommon,
+ EArchCommonObjConsolePortInfo,
+ CM_ARCH_COMMON_SERIAL_PORT_INFO
)
/** Free any resources allocated for constructing the tables.
@@ -200,10 +200,10 @@ BuildSpcrTableEx (
OUT UINTN *CONST TableCount
)
{
- EFI_STATUS Status;
- CM_ARM_SERIAL_PORT_INFO *SerialPortInfo;
- UINT32 SerialPortCount;
- EFI_ACPI_DESCRIPTION_HEADER **TableList;
+ EFI_STATUS Status;
+ CM_ARCH_COMMON_SERIAL_PORT_INFO *SerialPortInfo;
+ UINT32 SerialPortCount;
+ EFI_ACPI_DESCRIPTION_HEADER **TableList;
ASSERT (This != NULL);
ASSERT (AcpiTableInfo != NULL);
@@ -229,7 +229,7 @@ BuildSpcrTableEx (
*Table = NULL;
- Status = GetEArmObjSerialConsolePortInfo (
+ Status = GetEArchCommonObjConsolePortInfo (
CfgMgrProtocol,
CM_NULL_TOKEN,
&SerialPortInfo,
diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtSerialPortLibArm/SsdtSerialPortGenerator.c b/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtSerialPortLibArm/SsdtSerialPortGenerator.c
index b850320eede7..671ba057400a 100644
--- a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtSerialPortLibArm/SsdtSerialPortGenerator.c
+++ b/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtSerialPortLibArm/SsdtSerialPortGenerator.c
@@ -29,16 +29,16 @@
Requirements:
The following Configuration Manager Object(s) are required by
this Generator:
- - EArmObjSerialPortInfo
+ - EArchCommonObjSerialPortInfo
*/
/** This macro expands to a function that retrieves the Serial-port
information from the Configuration Manager.
*/
GET_OBJECT_LIST (
- EObjNameSpaceArm,
- EArmObjSerialPortInfo,
- CM_ARM_SERIAL_PORT_INFO
+ EObjNameSpaceArchCommon,
+ EArchCommonObjSerialPortInfo,
+ CM_ARCH_COMMON_SERIAL_PORT_INFO
);
/** Starting value for the UID to represent the serial ports.
@@ -167,13 +167,13 @@ BuildSsdtSerialPortTableEx (
OUT UINTN *CONST TableCount
)
{
- EFI_STATUS Status;
- CM_ARM_SERIAL_PORT_INFO *SerialPortInfo;
- UINT32 SerialPortCount;
- UINTN Index;
- CHAR8 NewName[AML_NAME_SEG_SIZE + 1];
- UINT64 Uid;
- EFI_ACPI_DESCRIPTION_HEADER **TableList;
+ EFI_STATUS Status;
+ CM_ARCH_COMMON_SERIAL_PORT_INFO *SerialPortInfo;
+ UINT32 SerialPortCount;
+ UINTN Index;
+ CHAR8 NewName[AML_NAME_SEG_SIZE + 1];
+ UINT64 Uid;
+ EFI_ACPI_DESCRIPTION_HEADER **TableList;
ASSERT (This != NULL);
ASSERT (AcpiTableInfo != NULL);
@@ -185,7 +185,7 @@ BuildSsdtSerialPortTableEx (
*Table = NULL;
- Status = GetEArmObjSerialPortInfo (
+ Status = GetEArchCommonObjSerialPortInfo (
CfgMgrProtocol,
CM_NULL_TOKEN,
&SerialPortInfo,
diff --git a/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/CmObjectTokenFixer.c b/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/CmObjectTokenFixer.c
index 833fa2d6a24b..412bf41647ae 100644
--- a/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/CmObjectTokenFixer.c
+++ b/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/CmObjectTokenFixer.c
@@ -145,53 +145,49 @@ CONST
CM_OBJECT_TOKEN_FIXER TokenFixer[EArmObjMax] = {
NULL, ///< 0 - Reserved
NULL, ///< 1 - Boot Architecture Info
- NULL, ///< 2 - Power Management Profile Info
- NULL, ///< 3 - GIC CPU Interface Info
- NULL, ///< 4 - GIC Distributor Info
- NULL, ///< 5 - GIC MSI Frame Info
- NULL, ///< 6 - GIC Redistributor Info
- NULL, ///< 7 - GIC ITS Info
- NULL, ///< 8 - Serial Console Port Info
- NULL, ///< 9 - Serial Debug Port Info
- NULL, ///< 10 - Generic Timer Info
- NULL, ///< 11 - Platform GT Block Info
- NULL, ///< 12 - Generic Timer Block Frame Info
- NULL, ///< 13 - Platform Generic Watchdog
- NULL, ///< 14 - PCI Configuration Space Info
- NULL, ///< 15 - Hypervisor Vendor Id
- NULL, ///< 16 - Fixed feature flags for FADT
- TokenFixerItsGroup, ///< 17 - ITS Group
- TokenFixerNamedComponentNode, ///< 18 - Named Component
- TokenFixerRootComplexNode, ///< 19 - Root Complex
- TokenFixerNotImplemented, ///< 20 - SMMUv1 or SMMUv2
- TokenFixerSmmuV3Node, ///< 21 - SMMUv3
- TokenFixerNotImplemented, ///< 22 - PMCG
- NULL, ///< 23 - GIC ITS Identifier Array
- NULL, ///< 24 - ID Mapping Array
- NULL, ///< 25 - SMMU Interrupt Array
- TokenFixerNotImplemented, ///< 26 - Processor Hierarchy Info
- TokenFixerNotImplemented, ///< 27 - Cache Info
- NULL, ///< 28 - CM Object Reference
- NULL, ///< 29 - Memory Affinity Info
- NULL, ///< 30 - Device Handle Acpi
- NULL, ///< 31 - Device Handle Pci
- NULL, ///< 32 - Generic Initiator Affinity
- NULL, ///< 33 - Generic Serial Port Info
- NULL, ///< 34 - CMN-600 Info
- NULL, ///< 35 - Lpi Info
- NULL, ///< 36 - Pci Address Map Info
- NULL, ///< 37 - Pci Interrupt Map Info
- NULL, ///< 38 - Reserved Memory Range Node
- NULL, ///< 39 - Memory Range Descriptor
- NULL, ///< 40 - Continuous Performance Control Info
- NULL, ///< 41 - Pcc Subspace Type 0 Info
- NULL, ///< 42 - Pcc Subspace Type 2 Info
- NULL, ///< 43 - Pcc Subspace Type 2 Info
- NULL, ///< 44 - Pcc Subspace Type 3 Info
- NULL, ///< 45 - Pcc Subspace Type 4 Info
- NULL, ///< 46 - Pcc Subspace Type 5 Info
- NULL, ///< 47 - Embedded Trace Extension/Module Info
- NULL ///< 48 - P-State Dependency (PSD) Info
+ NULL, ///< 2 - GIC CPU Interface Info
+ NULL, ///< 3 - GIC Distributor Info
+ NULL, ///< 4 - GIC MSI Frame Info
+ NULL, ///< 5 - GIC Redistributor Info
+ NULL, ///< 6 - GIC ITS Info
+ NULL, ///< 7 - Generic Timer Info
+ NULL, ///< 8 - Platform GT Block Info
+ NULL, ///< 9 - Generic Timer Block Frame Info
+ NULL, ///< 10 - Platform Generic Watchdog
+ NULL, ///< 11 - PCI Configuration Space Info
+ NULL, ///< 12 - Hypervisor Vendor Id
+ NULL, ///< 13 - Fixed feature flags for FADT
+ TokenFixerItsGroup, ///< 14 - ITS Group
+ TokenFixerNamedComponentNode, ///< 15 - Named Component
+ TokenFixerRootComplexNode, ///< 16 - Root Complex
+ TokenFixerNotImplemented, ///< 17 - SMMUv1 or SMMUv2
+ TokenFixerSmmuV3Node, ///< 18 - SMMUv3
+ TokenFixerNotImplemented, ///< 19 - PMCG
+ NULL, ///< 20 - GIC ITS Identifier Array
+ NULL, ///< 21 - ID Mapping Array
+ NULL, ///< 22 - SMMU Interrupt Array
+ TokenFixerNotImplemented, ///< 23 - Processor Hierarchy Info
+ TokenFixerNotImplemented, ///< 24 - Cache Info
+ NULL, ///< 25 - Memory Affinity Info
+ NULL, ///< 26 - Memory Affinity Info
+ NULL, ///< 27 - Device Handle Acpi
+ NULL, ///< 28 - Device Handle Pci
+ NULL, ///< 29 - Generic Initiator Affinity
+ NULL, ///< 30 - CMN-600 Info
+ NULL, ///< 31 - Lpi Info
+ NULL, ///< 32 - Pci Address Map Info
+ NULL, ///< 33 - Pci Interrupt Map Info
+ NULL, ///< 34 - Reserved Memory Range Node
+ NULL, ///< 35 - Memory Range Descriptor
+ NULL, ///< 36 - Continuous Performance Control Info
+ NULL, ///< 37 - Pcc Subspace Type 0 Info
+ NULL, ///< 38 - Pcc Subspace Type 2 Info
+ NULL, ///< 39 - Pcc Subspace Type 2 Info
+ NULL, ///< 40 - Pcc Subspace Type 3 Info
+ NULL, ///< 41 - Pcc Subspace Type 4 Info
+ NULL, ///< 42 - Pcc Subspace Type 5 Info
+ NULL, ///< 43 - Embedded Trace Extension/Module Info
+ NULL ///< 44 - P-State Dependency (PSD) Info
};
/** CmObj token fixer.
diff --git a/DynamicTablesPkg/Library/Common/SsdtSerialPortFixupLib/SsdtSerialPortFixupLib.c b/DynamicTablesPkg/Library/Common/SsdtSerialPortFixupLib/SsdtSerialPortFixupLib.c
index b1a628e419f0..eda2aa999ea6 100644
--- a/DynamicTablesPkg/Library/Common/SsdtSerialPortFixupLib/SsdtSerialPortFixupLib.c
+++ b/DynamicTablesPkg/Library/Common/SsdtSerialPortFixupLib/SsdtSerialPortFixupLib.c
@@ -46,7 +46,7 @@ extern CHAR8 ssdtserialporttemplate_aml_code[];
/** Validate the Serial Port Information.
- @param [in] SerialPortInfoTable Table of CM_ARM_SERIAL_PORT_INFO.
+ @param [in] SerialPortInfoTable Table of CM_ARCH_COMMON_SERIAL_PORT_INFO.
@param [in] SerialPortCount Count of SerialPort in the table.
@retval EFI_SUCCESS Success.
@@ -55,12 +55,12 @@ extern CHAR8 ssdtserialporttemplate_aml_code[];
EFI_STATUS
EFIAPI
ValidateSerialPortInfo (
- IN CONST CM_ARM_SERIAL_PORT_INFO *SerialPortInfoTable,
- IN UINT32 SerialPortCount
+ IN CONST CM_ARCH_COMMON_SERIAL_PORT_INFO *SerialPortInfoTable,
+ IN UINT32 SerialPortCount
)
{
- UINT32 Index;
- CONST CM_ARM_SERIAL_PORT_INFO *SerialPortInfo;
+ UINT32 Index;
+ CONST CM_ARCH_COMMON_SERIAL_PORT_INFO *SerialPortInfo;
if ((SerialPortInfoTable == NULL) ||
(SerialPortCount == 0))
@@ -163,9 +163,9 @@ STATIC
EFI_STATUS
EFIAPI
FixupIds (
- IN AML_ROOT_NODE_HANDLE RootNodeHandle,
- IN CONST UINT64 Uid,
- IN CONST CM_ARM_SERIAL_PORT_INFO *SerialPortInfo
+ IN AML_ROOT_NODE_HANDLE RootNodeHandle,
+ IN CONST UINT64 Uid,
+ IN CONST CM_ARCH_COMMON_SERIAL_PORT_INFO *SerialPortInfo
)
{
EFI_STATUS Status;
@@ -290,8 +290,8 @@ STATIC
EFI_STATUS
EFIAPI
FixupCrs (
- IN AML_ROOT_NODE_HANDLE RootNodeHandle,
- IN CONST CM_ARM_SERIAL_PORT_INFO *SerialPortInfo
+ IN AML_ROOT_NODE_HANDLE RootNodeHandle,
+ IN CONST CM_ARCH_COMMON_SERIAL_PORT_INFO *SerialPortInfo
)
{
EFI_STATUS Status;
@@ -366,9 +366,9 @@ STATIC
EFI_STATUS
EFIAPI
FixupName (
- IN AML_ROOT_NODE_HANDLE RootNodeHandle,
- IN CONST CM_ARM_SERIAL_PORT_INFO *SerialPortInfo,
- IN CONST CHAR8 *Name
+ IN AML_ROOT_NODE_HANDLE RootNodeHandle,
+ IN CONST CM_ARCH_COMMON_SERIAL_PORT_INFO *SerialPortInfo,
+ IN CONST CHAR8 *Name
)
{
EFI_STATUS Status;
@@ -410,11 +410,11 @@ STATIC
EFI_STATUS
EFIAPI
FixupSerialPortInfo (
- IN AML_ROOT_NODE_HANDLE RootNodeHandle,
- IN CONST CM_ARM_SERIAL_PORT_INFO *SerialPortInfo,
- IN CONST CHAR8 *Name,
- IN CONST UINT64 Uid,
- OUT EFI_ACPI_DESCRIPTION_HEADER **Table
+ IN AML_ROOT_NODE_HANDLE RootNodeHandle,
+ IN CONST CM_ARCH_COMMON_SERIAL_PORT_INFO *SerialPortInfo,
+ IN CONST CHAR8 *Name,
+ IN CONST UINT64 Uid,
+ OUT EFI_ACPI_DESCRIPTION_HEADER **Table
)
{
EFI_STATUS Status;
@@ -480,11 +480,11 @@ FreeSsdtSerialPortTable (
EFI_STATUS
EFIAPI
BuildSsdtSerialPortTable (
- IN CONST CM_STD_OBJ_ACPI_TABLE_INFO *AcpiTableInfo,
- IN CONST CM_ARM_SERIAL_PORT_INFO *SerialPortInfo,
- IN CONST CHAR8 *Name,
- IN CONST UINT64 Uid,
- OUT EFI_ACPI_DESCRIPTION_HEADER **Table
+ IN CONST CM_STD_OBJ_ACPI_TABLE_INFO *AcpiTableInfo,
+ IN CONST CM_ARCH_COMMON_SERIAL_PORT_INFO *SerialPortInfo,
+ IN CONST CHAR8 *Name,
+ IN CONST UINT64 Uid,
+ OUT EFI_ACPI_DESCRIPTION_HEADER **Table
)
{
EFI_STATUS Status;
diff --git a/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c b/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c
index 6896463b2848..334d2a026596 100644
--- a/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c
+++ b/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c
@@ -57,9 +57,9 @@ STATIC CONST CM_OBJ_PARSER CmArmBootArchInfoParser[] = {
{ "BootArchFlags", 2, "0x%x", NULL }
};
-/** A parser for EArmObjPowerManagementProfileInfo.
+/** A parser for EArchCommonObjPowerManagementProfileInfo.
*/
-STATIC CONST CM_OBJ_PARSER CmArmPowerManagementProfileInfoParser[] = {
+STATIC CONST CM_OBJ_PARSER CmArchCommonPowerManagementProfileInfoParser[] = {
{ "PowerManagementProfile", 1, "0x%x", NULL }
};
@@ -122,10 +122,10 @@ STATIC CONST CM_OBJ_PARSER CmArmGicItsInfoParser[] = {
{ "ProximityDomain", 4, "0x%x", NULL }
};
-/** A parser for EArmObjSerialConsolePortInfo,
- EArmObjSerialDebugPortInfo and EArmObjSerialPortInfo.
+/** A parser for EArchCommonObjConsolePortInfo,
+ EArchCommonObjSerialDebugPortInfo and EArchCommonObjSerialPortInfo.
*/
-STATIC CONST CM_OBJ_PARSER CmArmSerialPortInfoParser[] = {
+STATIC CONST CM_OBJ_PARSER CmArchCommonSerialPortInfoParser[] = {
{ "BaseAddress", 8, "0x%llx", NULL },
{ "Interrupt", 4, "0x%x", NULL },
{ "BaudRate", 8, "0x%llx", NULL },
@@ -671,6 +671,10 @@ STATIC CONST CM_OBJ_PARSER CmArmPsdInfoParser[] = {
*/
STATIC CONST CM_OBJ_PARSER_ARRAY ArchCommonNamespaceObjectParser[] = {
CM_PARSER_ADD_OBJECT_RESERVED (EArchCommonObjReserved),
+ CM_PARSER_ADD_OBJECT (EArchCommonObjPowerManagementProfileInfo,CmArchCommonPowerManagementProfileInfoParser),
+ CM_PARSER_ADD_OBJECT (EArchCommonObjSerialPortInfo, CmArchCommonSerialPortInfoParser),
+ CM_PARSER_ADD_OBJECT (EArchCommonObjConsolePortInfo, CmArchCommonSerialPortInfoParser),
+ CM_PARSER_ADD_OBJECT (EArchCommonObjSerialDebugPortInfo, CmArchCommonSerialPortInfoParser),
CM_PARSER_ADD_OBJECT_RESERVED (EArchCommonObjMax)
};
@@ -679,14 +683,11 @@ STATIC CONST CM_OBJ_PARSER_ARRAY ArchCommonNamespaceObjectParser[] = {
STATIC CONST CM_OBJ_PARSER_ARRAY ArmNamespaceObjectParser[] = {
CM_PARSER_ADD_OBJECT_RESERVED (EArmObjReserved),
CM_PARSER_ADD_OBJECT (EArmObjBootArchInfo, CmArmBootArchInfoParser),
- CM_PARSER_ADD_OBJECT (EArmObjPowerManagementProfileInfo, CmArmPowerManagementProfileInfoParser),
CM_PARSER_ADD_OBJECT (EArmObjGicCInfo, CmArmGicCInfoParser),
CM_PARSER_ADD_OBJECT (EArmObjGicDInfo, CmArmGicDInfoParser),
CM_PARSER_ADD_OBJECT (EArmObjGicMsiFrameInfo, CmArmGicMsiFrameInfoParser),
CM_PARSER_ADD_OBJECT (EArmObjGicRedistributorInfo, CmArmGicRedistInfoParser),
CM_PARSER_ADD_OBJECT (EArmObjGicItsInfo, CmArmGicItsInfoParser),
- CM_PARSER_ADD_OBJECT (EArmObjSerialConsolePortInfo, CmArmSerialPortInfoParser),
- CM_PARSER_ADD_OBJECT (EArmObjSerialDebugPortInfo, CmArmSerialPortInfoParser),
CM_PARSER_ADD_OBJECT (EArmObjGenericTimerInfo, CmArmGenericTimerInfoParser),
CM_PARSER_ADD_OBJECT (EArmObjPlatformGTBlockInfo, CmArmGTBlockInfoParser),
CM_PARSER_ADD_OBJECT (EArmObjGTBlockTimerFrameInfo, CmArmGTBlockTimerFrameInfoParser),
@@ -710,7 +711,6 @@ STATIC CONST CM_OBJ_PARSER_ARRAY ArmNamespaceObjectParser[] = {
CM_PARSER_ADD_OBJECT (EArmObjDeviceHandleAcpi, CmArmDeviceHandleAcpiParser),
CM_PARSER_ADD_OBJECT (EArmObjDeviceHandlePci, CmArmDeviceHandlePciParser),
CM_PARSER_ADD_OBJECT (EArmObjGenericInitiatorAffinityInfo,CmArmGenericInitiatorAffinityInfoParser),
- CM_PARSER_ADD_OBJECT (EArmObjSerialPortInfo, CmArmSerialPortInfoParser),
CM_PARSER_ADD_OBJECT (EArmObjCmn600Info, CmArmCmn600InfoParser),
CM_PARSER_ADD_OBJECT (EArmObjLpiInfo, CmArmLpiInfoParser),
CM_PARSER_ADD_OBJECT (EArmObjPciAddressMapInfo, CmArmPciAddressMapInfoParser),
diff --git a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Serial/ArmSerialPortParser.c b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Serial/ArmSerialPortParser.c
index 732b482eebe3..f17ad2e842e2 100644
--- a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Serial/ArmSerialPortParser.c
+++ b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Serial/ArmSerialPortParser.c
@@ -71,7 +71,7 @@ CONST COMPATIBILITY_INFO SerialSbsaCompatibleInfo = {
@param [in] Fdt Pointer to a Flattened Device Tree (Fdt).
@param [in] SerialPortNode Offset of a serial-port node.
- @param [in] SerialPortInfo The CM_ARM_SERIAL_PORT_INFO to populate.
+ @param [in] SerialPortInfo The CM_ARCH_COMMON_SERIAL_PORT_INFO to populate.
@retval EFI_SUCCESS The function completed successfully.
@retval EFI_ABORTED An error occurred.
@@ -82,9 +82,9 @@ STATIC
EFI_STATUS
EFIAPI
SerialPortNodeParser (
- IN CONST VOID *Fdt,
- IN INT32 SerialPortNode,
- IN CM_ARM_SERIAL_PORT_INFO *SerialPortInfo
+ IN CONST VOID *Fdt,
+ IN INT32 SerialPortNode,
+ IN CM_ARCH_COMMON_SERIAL_PORT_INFO *SerialPortInfo
)
{
EFI_STATUS Status;
@@ -313,7 +313,7 @@ GetSerialConsoleNode (
return EFI_SUCCESS;
}
-/** CM_ARM_SERIAL_PORT_INFO dispatcher function (for a generic serial-port).
+/** CM_ARCH_COMMON_SERIAL_PORT_INFO dispatcher function (for a generic serial-port).
@param [in] FdtParserHandle A handle to the parser instance.
@param [in] GenericSerialInfo Pointer to a serial port info list.
@@ -331,9 +331,9 @@ EFI_STATUS
EFIAPI
ArmSerialPortInfoDispatch (
IN CONST FDT_HW_INFO_PARSER_HANDLE FdtParserHandle,
- IN CM_ARM_SERIAL_PORT_INFO *GenericSerialInfo,
+ IN CM_ARCH_COMMON_SERIAL_PORT_INFO *GenericSerialInfo,
IN INT32 NodeCount,
- IN EARM_OBJECT_ID SerialObjectId
+ IN EARCH_COMMON_OBJECT_ID SerialObjectId
)
{
EFI_STATUS Status;
@@ -344,9 +344,9 @@ ArmSerialPortInfoDispatch (
return EFI_INVALID_PARAMETER;
}
- if ((SerialObjectId != EArmObjSerialPortInfo) &&
- (SerialObjectId != EArmObjSerialDebugPortInfo) &&
- (SerialObjectId != EArmObjSerialConsolePortInfo))
+ if ((SerialObjectId != EArchCommonObjSerialPortInfo) &&
+ (SerialObjectId != EArchCommonObjSerialDebugPortInfo) &&
+ (SerialObjectId != EArchCommonObjConsolePortInfo))
{
ASSERT (0);
return EFI_INVALID_PARAMETER;
@@ -354,10 +354,10 @@ ArmSerialPortInfoDispatch (
// Dispatch the Generic Serial ports
Status = CreateCmObjDesc (
- CREATE_CM_ARM_OBJECT_ID (SerialObjectId),
+ CREATE_CM_ARCH_COMMON_OBJECT_ID (SerialObjectId),
NodeCount,
GenericSerialInfo,
- sizeof (CM_ARM_SERIAL_PORT_INFO) * NodeCount,
+ sizeof (CM_ARCH_COMMON_SERIAL_PORT_INFO) * NodeCount,
&NewCmObjDesc
);
if (EFI_ERROR (Status)) {
@@ -372,19 +372,19 @@ ArmSerialPortInfoDispatch (
return Status;
}
-/** CM_ARM_SERIAL_PORT_INFO parser function (for debug/console serial-port).
+/** CM_ARCH_COMMON_SERIAL_PORT_INFO parser function (for debug/console serial-port).
This parser expects FdtBranch to be the debug serial-port node.
At most one CmObj is created.
The following structure is populated:
- typedef struct CmArmSerialPortInfo {
+ typedef struct EArchCommonSerialPortInfo {
UINT64 BaseAddress; // {Populated}
UINT32 Interrupt; // {Populated}
UINT64 BaudRate; // {default}
UINT32 Clock; // {Populated}
UINT16 PortSubtype; // {Populated}
UINT64 BaseAddressLength // {Populated}
- } CM_ARM_SERIAL_PORT_INFO;
+ } CM_ARCH_COMMON_SERIAL_PORT_INFO;
A parser parses a Device Tree to populate a specific CmObj type. None,
one or many CmObj can be created by the parser.
@@ -396,7 +396,8 @@ ArmSerialPortInfoDispatch (
@param [in] FdtParserHandle A handle to the parser instance.
@param [in] FdtBranch When searching for DT node name, restrict
the search to this Device Tree branch.
- @param [in] SerialObjectId ArmNamespace Object ID for the serial port.
+ @param [in] SerialObjectId ArchCommon Namespace Object ID for the serial
+ port.
@retval EFI_SUCCESS The function completed successfully.
@retval EFI_ABORTED An error occurred.
@@ -410,14 +411,14 @@ EFIAPI
ArmSerialPortInfoParser (
IN CONST FDT_HW_INFO_PARSER_HANDLE FdtParserHandle,
IN INT32 FdtBranch,
- IN EARM_OBJECT_ID SerialObjectId
+ IN EARCH_COMMON_OBJECT_ID SerialObjectId
)
{
- EFI_STATUS Status;
- CM_ARM_SERIAL_PORT_INFO SerialInfo;
+ EFI_STATUS Status;
+ CM_ARCH_COMMON_SERIAL_PORT_INFO SerialInfo;
- if ((SerialObjectId != EArmObjSerialDebugPortInfo) &&
- (SerialObjectId != EArmObjSerialConsolePortInfo))
+ if ((SerialObjectId != EArchCommonObjSerialDebugPortInfo) &&
+ (SerialObjectId != EArchCommonObjConsolePortInfo))
{
ASSERT (0);
return EFI_INVALID_PARAMETER;
@@ -447,11 +448,11 @@ ArmSerialPortInfoParser (
/** SerialPort dispatcher.
- This disptacher populates the CM_ARM_SERIAL_PORT_INFO structure for
+ This disptacher populates the CM_ARCH_COMMON_SERIAL_PORT_INFO structure for
the following CM_OBJ_ID:
- - EArmObjSerialConsolePortInfo
- - EArmObjSerialDebugPortInfo
- - EArmObjSerialPortInfo
+ - EArchCommonObjConsolePortInfo
+ - EArchCommonObjSerialDebugPortInfo
+ - EArchCommonObjSerialPortInfo
A parser parses a Device Tree to populate a specific CmObj type. None,
one or many CmObj can be created by the parser.
@@ -477,16 +478,16 @@ SerialPortDispatcher (
IN INT32 FdtBranch
)
{
- EFI_STATUS Status;
- INT32 SerialConsoleNode;
- INT32 SerialDebugNode;
- INT32 SerialNode;
- UINT32 Index;
- UINT32 SerialNodeCount;
- UINT32 SerialNodesRemaining;
- CM_ARM_SERIAL_PORT_INFO *GenericSerialInfo;
- UINT32 GenericSerialIndex;
- VOID *Fdt;
+ EFI_STATUS Status;
+ INT32 SerialConsoleNode;
+ INT32 SerialDebugNode;
+ INT32 SerialNode;
+ UINT32 Index;
+ UINT32 SerialNodeCount;
+ UINT32 SerialNodesRemaining;
+ CM_ARCH_COMMON_SERIAL_PORT_INFO *GenericSerialInfo;
+ UINT32 GenericSerialIndex;
+ VOID *Fdt;
if (FdtParserHandle == NULL) {
ASSERT (0);
@@ -531,7 +532,7 @@ SerialPortDispatcher (
Status = ArmSerialPortInfoParser (
FdtParserHandle,
SerialConsoleNode,
- EArmObjSerialConsolePortInfo
+ EArchCommonObjConsolePortInfo
);
if (EFI_ERROR (Status)) {
ASSERT (0);
@@ -550,7 +551,7 @@ SerialPortDispatcher (
SerialNodesRemaining--;
GenericSerialInfo = AllocateZeroPool (
SerialNodesRemaining *
- sizeof (CM_ARM_SERIAL_PORT_INFO)
+ sizeof (CM_ARCH_COMMON_SERIAL_PORT_INFO)
);
if (GenericSerialInfo == NULL) {
ASSERT (0);
@@ -589,7 +590,7 @@ SerialPortDispatcher (
Status = ArmSerialPortInfoParser (
FdtParserHandle,
SerialDebugNode,
- EArmObjSerialDebugPortInfo
+ EArchCommonObjSerialDebugPortInfo
);
if (EFI_ERROR (Status)) {
ASSERT (0);
@@ -620,7 +621,7 @@ SerialPortDispatcher (
FdtParserHandle,
GenericSerialInfo,
GenericSerialIndex,
- EArmObjSerialPortInfo
+ EArchCommonObjSerialPortInfo
);
}
diff --git a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Serial/ArmSerialPortParser.h b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Serial/ArmSerialPortParser.h
index de08e57e6c57..037c409d450a 100644
--- a/DynamicTablesPkg/Library/FdtHwInfoParserLib/Serial/ArmSerialPortParser.h
+++ b/DynamicTablesPkg/Library/FdtHwInfoParserLib/Serial/ArmSerialPortParser.h
@@ -14,11 +14,11 @@
/** SerialPort dispatcher.
- This disptacher populates the CM_ARM_SERIAL_PORT_INFO structure for
+ This disptacher populates the CM_ARCH_COMMON_SERIAL_PORT_INFO structure for
the following CM_OBJ_ID:
- - EArmObjSerialConsolePortInfo
- - EArmObjSerialDebugPortInfo
- - EArmObjSerialPortInfo
+ - EArchCommonObjConsolePortInfo
+ - EArchCommonObjSerialDebugPortInfo
+ - EArchCommonObjSerialPortInfo
A parser parses a Device Tree to populate a specific CmObj type. None,
one or many CmObj can be created by the parser.
diff --git a/DynamicTablesPkg/Readme.md b/DynamicTablesPkg/Readme.md
index 8d30bf560b3d..90f03f00e7d3 100644
--- a/DynamicTablesPkg/Readme.md
+++ b/DynamicTablesPkg/Readme.md
@@ -442,53 +442,49 @@ The CM_OBJECT_ID type is used to identify the Configuration Manager
| ---: | :-------------------------- | :--- |
| 0 | Reserved | |
| 1 | Boot Architecture Info | |
-| 2 | Power Management Profile Info | Move to Arch Common NS |
-| 3 | GICC Info | |
-| 4 | GICD Info | |
-| 5 | GIC MSI Frame Info | |
-| 6 | GIC Redistributor Info | |
-| 7 | GIC ITS Info | |
-| 8 | Serial Console Port Info | Move to Arch Common NS |
-| 9 | Serial Debug Port Info | Move to Arch Common NS |
-| 10 | Generic Timer Info | |
-| 11 | Platform GT Block Info | |
-| 12 | Generic Timer Block Frame Info | |
-| 13 | Platform Generic Watchdog | |
-| 14 | PCI Configuration Space Info | Move to Arch Common NS |
-| 15 | Hypervisor Vendor Id | Move to Arch Common NS |
-| 16 | Fixed feature flags for FADT | Move to Arch Common NS |
-| 17 | ITS Group | |
-| 18 | Named Component | |
-| 19 | Root Complex | |
-| 20 | SMMUv1 or SMMUv2 | |
-| 21 | SMMUv3 | |
-| 22 | PMCG | |
-| 23 | GIC ITS Identifier Array | |
-| 24 | ID Mapping Array | |
-| 25 | SMMU Interrupt Array | |
-| 26 | Processor Hierarchy Info | Move to Arch Common NS |
-| 27 | Cache Info | Move to Arch Common NS |
-| 28 | CM Object Reference | Move to Arch Common NS |
-| 29 | Memory Affinity Info | Move to Arch Common NS |
-| 30 | Device Handle Acpi | Move to Arch Common NS |
-| 31 | Device Handle PCI | Move to Arch Common NS |
-| 32 | Generic Initiator Affinity Info | Move to Arch Common NS |
-| 33 | Serial Port Info | Move to Arch Common NS |
-| 34 | CMN 600 Info | |
-| 35 | Low Power Idle State Info | Move to Arch Common NS |
-| 36 | PCI Address Map Info | Move to Arch Common NS |
-| 37 | PCI Interrupt Map Info | Move to Arch Common NS |
-| 38 | Reserved Memory Range Node | |
-| 39 | Memory Range Descriptor | |
-| 40 | Continuous Performance Control Info | Move to Arch Common NS |
-| 41 | Pcc Subspace Type 0 Info | Move to Arch Common NS |
-| 42 | Pcc Subspace Type 1 Info | Move to Arch Common NS |
-| 43 | Pcc Subspace Type 2 Info | Move to Arch Common NS |
-| 44 | Pcc Subspace Type 3 Info | Move to Arch Common NS |
-| 45 | Pcc Subspace Type 4 Info | Move to Arch Common NS |
-| 46 | Pcc Subspace Type 5 Info | Move to Arch Common NS |
-| 47 | Embedded Trace Extension/Module Info | |
-| 48 | P-State Dependency (PSD) Info | Move to Arch Common NS |
+| 2 | GICC Info | |
+| 3 | GICD Info | |
+| 4 | GIC MSI Frame Info | |
+| 5 | GIC Redistributor Info | |
+| 6 | GIC ITS Info | |
+| 7 | Generic Timer Info | |
+| 8 | Platform GT Block Info | |
+| 9 | Generic Timer Block Frame Info | |
+| 10 | Platform Generic Watchdog | |
+| 11 | PCI Configuration Space Info | Move to Arch Common NS |
+| 12 | Hypervisor Vendor Id | Move to Arch Common NS |
+| 13 | Fixed feature flags for FADT | Move to Arch Common NS |
+| 14 | ITS Group | |
+| 15 | Named Component | |
+| 16 | Root Complex | |
+| 17 | SMMUv1 or SMMUv2 | |
+| 18 | SMMUv3 | |
+| 19 | PMCG | |
+| 20 | GIC ITS Identifier Array | |
+| 21 | ID Mapping Array | |
+| 22 | SMMU Interrupt Array | |
+| 23 | Processor Hierarchy Info | Move to Arch Common NS |
+| 24 | Cache Info | Move to Arch Common NS |
+| 25 | CM Object Reference | Move to Arch Common NS |
+| 26 | Memory Affinity Info | Move to Arch Common NS |
+| 27 | Device Handle Acpi | Move to Arch Common NS |
+| 28 | Device Handle PCI | Move to Arch Common NS |
+| 29 | Generic Initiator Affinity Info | Move to Arch Common NS |
+| 30 | CMN 600 Info | |
+| 31 | Low Power Idle State Info | Move to Arch Common NS |
+| 32 | PCI Address Map Info | Move to Arch Common NS |
+| 33 | PCI Interrupt Map Info | Move to Arch Common NS |
+| 34 | Reserved Memory Range Node | |
+| 35 | Memory Range Descriptor | |
+| 36 | Continuous Performance Control Info | Move to Arch Common NS |
+| 37 | Pcc Subspace Type 0 Info | Move to Arch Common NS |
+| 38 | Pcc Subspace Type 1 Info | Move to Arch Common NS |
+| 39 | Pcc Subspace Type 2 Info | Move to Arch Common NS |
+| 40 | Pcc Subspace Type 3 Info | Move to Arch Common NS |
+| 41 | Pcc Subspace Type 4 Info | Move to Arch Common NS |
+| 42 | Pcc Subspace Type 5 Info | Move to Arch Common NS |
+| 43 | Embedded Trace Extension/Module Info | |
+| 44 | P-State Dependency (PSD) Info | Move to Arch Common NS |
| `*` | All other values are reserved. | |
#### Object ID's in the Arch Common Namespace:
@@ -496,4 +492,8 @@ The CM_OBJECT_ID type is used to identify the Configuration Manager
| ID | Description | Comments |
| ---: | :-------------------------- | :--- |
| 0 | Reserved | |
+| 1 | Power Management Profile Info | |
+| 2 | Serial Port Info | |
+| 3 | Serial Console Port Info | |
+| 4 | Serial Debug Port Info | |
| `*` | All other values are reserved. | |
--
2.25.1
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#116973): https://edk2.groups.io/g/devel/message/116973
Mute This Topic: https://groups.io/mt/105067987/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-
next prev parent reply other threads:[~2024-03-21 15:54 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-03-21 15:53 [edk2-devel] [PATCH 00/16] DynamicTablesPkg: Move objects to Arch Common NameSpace (first) PierreGondois
2024-03-21 15:53 ` [edk2-devel] [PATCH 01/16] DynamicTablesPkg/SsdtCpuTopology: Update function's parameter description PierreGondois
2024-03-21 15:53 ` [edk2-devel] [PATCH 02/16] DynamicTablesPkg: Replace ProcNodeIdInfo with EArmObjReserved29 PierreGondois
2024-03-21 15:53 ` [edk2-devel] [PATCH 03/16] DynamicTablesPkg: Introduce ObjectId to validate CmObject Parser Array PierreGondois
2024-03-21 15:53 ` [edk2-devel] [PATCH 04/16] DynamicTablesPkg: Introduce an Arch Common Namespace header file PierreGondois
2024-03-21 15:53 ` [edk2-devel] [PATCH 05/16] DynamicTablesPkg: Add support for ArchCommon objects in CmObjParser PierreGondois
2024-03-21 15:53 ` [edk2-devel] [PATCH 06/16] DynamicTablesPkg: TokenFixer: Return Non Arm NS objs as unsupported PierreGondois
2024-03-21 15:53 ` [edk2-devel] [PATCH 07/16] DynamicTablesPkg: Update DynamicPlatRepo for Arch Common namespace PierreGondois
2024-03-21 15:53 ` [edk2-devel] [PATCH 08/16] DynamicTablesPkg: Update documentation for CM_OBJECT_ID PierreGondois
2024-03-21 15:53 ` [edk2-devel] [PATCH 09/16] DynamicTablesPkg: Drop Cpu Info object ID from Arm Namespace PierreGondois
2024-03-21 15:53 ` [edk2-devel] [PATCH 10/16] DynamicTablesPkg: Drop Reserved29 " PierreGondois
2024-03-21 15:53 ` [edk2-devel] [PATCH 11/16] ArmVirtPkg: Kvmtool: Update ConfigMgr to support ArchCommon PierreGondois
2024-03-21 15:53 ` PierreGondois [this message]
2024-03-21 15:53 ` [edk2-devel] [PATCH 13/16] DynamicTablesPkg: Move Hypervisor Vendor Id to Arch Common PierreGondois
2024-03-21 15:53 ` [edk2-devel] [PATCH 14/16] DynamicTablesPkg: Move FADT Fixed Features Flags " PierreGondois
2024-03-21 15:53 ` [edk2-devel] [PATCH 15/16] DynamicTablesPkg: Move Cm Reference object " PierreGondois
2024-03-21 15:53 ` [edk2-devel] [PATCH 16/16] DynamicTablesPkg & ArmVirtPkg: Move Pci Config Space Info PierreGondois
2024-04-04 10:02 ` [edk2-devel] [PATCH 00/16] DynamicTablesPkg: Move objects to Arch Common NameSpace (first) Sunil V L
2024-06-07 14:19 ` Sami Mujawar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240321155319.701355-13-pierre.gondois@arm.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox