DynamicTablesPkg: Move Serial Port Info Objects to Arch Common

Move Serial port info objects like the generic serial port info,
Serial console port info and Serial debug port info from Arm
Namespace to the Arch Common namespace.
 i.e.
    EArmObjSerialPortInfo      -> EArchCommonObjSerialPortInfo
    EArmObjConsolePortInfo     -> EArchCommonObjConsolePortInfo
    EArmObjSerialDebugPortInfo -> EArchCommonObjSerialDebugPortInfo
    CM_ARM_SERIAL_PORT_INFO    -> CM_ARCH_COMMON_SERIAL_PORT_INFO

Correspondingly also update the following modules to reflect the
changes introduced by the move:
 - DBG2 Generator
 - SPCR Generator
 - SSDT Serial Port Fixup Lib
 - SSDT Serial Port Generator
 - FdtHwInfoParserLib/ArmSerialPortParser
 - ConfigurationManagerObjectParser
 - Dynamic Plat Repo TokenFixer map.

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>
Reviewed-by: Sunil V L <sunilvl@ventanamicro.com>
This commit is contained in:
Sami Mujawar 2024-03-06 10:08:09 +00:00 committed by mergify[bot]
parent 1775c9d51c
commit e5d8bd476c
12 changed files with 264 additions and 267 deletions

View File

@ -22,6 +22,9 @@
typedef enum ArchCommonObjectID { typedef enum ArchCommonObjectID {
EArchCommonObjReserved, ///< 0 - Reserved EArchCommonObjReserved, ///< 0 - Reserved
EArchCommonObjPowerManagementProfileInfo, ///< 1 - Power Management Profile Info 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 EArchCommonObjMax
} EARCH_COMMON_OBJECT_ID; } EARCH_COMMON_OBJECT_ID;
@ -39,6 +42,38 @@ typedef struct CmArchCommonPowerManagementProfileInfo {
UINT8 PowerManagementProfile; UINT8 PowerManagementProfile;
} CM_ARCH_COMMON_POWER_MANAGEMENT_PROFILE_INFO; } 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() #pragma pack()

View File

@ -35,47 +35,44 @@ typedef enum ArmObjectID {
EArmObjGicMsiFrameInfo, ///< 4 - GIC MSI Frame Info EArmObjGicMsiFrameInfo, ///< 4 - GIC MSI Frame Info
EArmObjGicRedistributorInfo, ///< 5 - GIC Redistributor Info EArmObjGicRedistributorInfo, ///< 5 - GIC Redistributor Info
EArmObjGicItsInfo, ///< 6 - GIC ITS Info EArmObjGicItsInfo, ///< 6 - GIC ITS Info
EArmObjSerialConsolePortInfo, ///< 7 - Serial Console Port Info EArmObjGenericTimerInfo, ///< 7 - Generic Timer Info
EArmObjSerialDebugPortInfo, ///< 8 - Serial Debug Port Info EArmObjPlatformGTBlockInfo, ///< 8 - Platform GT Block Info
EArmObjGenericTimerInfo, ///< 9 - Generic Timer Info EArmObjGTBlockTimerFrameInfo, ///< 9 - Generic Timer Block Frame Info
EArmObjPlatformGTBlockInfo, ///< 10 - Platform GT Block Info EArmObjPlatformGenericWatchdogInfo, ///< 10 - Platform Generic Watchdog
EArmObjGTBlockTimerFrameInfo, ///< 11 - Generic Timer Block Frame Info EArmObjPciConfigSpaceInfo, ///< 11 - PCI Configuration Space Info
EArmObjPlatformGenericWatchdogInfo, ///< 12 - Platform Generic Watchdog EArmObjHypervisorVendorIdentity, ///< 12 - Hypervisor Vendor Id
EArmObjPciConfigSpaceInfo, ///< 13 - PCI Configuration Space Info EArmObjFixedFeatureFlags, ///< 13 - Fixed feature flags for FADT
EArmObjHypervisorVendorIdentity, ///< 14 - Hypervisor Vendor Id EArmObjItsGroup, ///< 14 - ITS Group
EArmObjFixedFeatureFlags, ///< 15 - Fixed feature flags for FADT EArmObjNamedComponent, ///< 15 - Named Component
EArmObjItsGroup, ///< 16 - ITS Group EArmObjRootComplex, ///< 16 - Root Complex
EArmObjNamedComponent, ///< 17 - Named Component EArmObjSmmuV1SmmuV2, ///< 17 - SMMUv1 or SMMUv2
EArmObjRootComplex, ///< 18 - Root Complex EArmObjSmmuV3, ///< 18 - SMMUv3
EArmObjSmmuV1SmmuV2, ///< 19 - SMMUv1 or SMMUv2 EArmObjPmcg, ///< 19 - PMCG
EArmObjSmmuV3, ///< 20 - SMMUv3 EArmObjGicItsIdentifierArray, ///< 20 - GIC ITS Identifier Array
EArmObjPmcg, ///< 21 - PMCG EArmObjIdMappingArray, ///< 21 - ID Mapping Array
EArmObjGicItsIdentifierArray, ///< 22 - GIC ITS Identifier Array EArmObjSmmuInterruptArray, ///< 22 - SMMU Interrupt Array
EArmObjIdMappingArray, ///< 23 - ID Mapping Array EArmObjProcHierarchyInfo, ///< 23 - Processor Hierarchy Info
EArmObjSmmuInterruptArray, ///< 24 - SMMU Interrupt Array EArmObjCacheInfo, ///< 24 - Cache Info
EArmObjProcHierarchyInfo, ///< 25 - Processor Hierarchy Info EArmObjCmRef, ///< 25 - CM Object Reference
EArmObjCacheInfo, ///< 26 - Cache Info EArmObjMemoryAffinityInfo, ///< 26 - Memory Affinity Info
EArmObjCmRef, ///< 27 - CM Object Reference EArmObjDeviceHandleAcpi, ///< 27 - Device Handle Acpi
EArmObjMemoryAffinityInfo, ///< 28 - Memory Affinity Info EArmObjDeviceHandlePci, ///< 28 - Device Handle Pci
EArmObjDeviceHandleAcpi, ///< 29 - Device Handle Acpi EArmObjGenericInitiatorAffinityInfo, ///< 29 - Generic Initiator Affinity
EArmObjDeviceHandlePci, ///< 30 - Device Handle Pci EArmObjCmn600Info, ///< 30 - CMN-600 Info
EArmObjGenericInitiatorAffinityInfo, ///< 31 - Generic Initiator Affinity EArmObjLpiInfo, ///< 31 - Lpi Info
EArmObjSerialPortInfo, ///< 32 - Generic Serial Port Info EArmObjPciAddressMapInfo, ///< 32 - Pci Address Map Info
EArmObjCmn600Info, ///< 33 - CMN-600 Info EArmObjPciInterruptMapInfo, ///< 33 - Pci Interrupt Map Info
EArmObjLpiInfo, ///< 34 - Lpi Info EArmObjRmr, ///< 34 - Reserved Memory Range Node
EArmObjPciAddressMapInfo, ///< 35 - Pci Address Map Info EArmObjMemoryRangeDescriptor, ///< 35 - Memory Range Descriptor
EArmObjPciInterruptMapInfo, ///< 36 - Pci Interrupt Map Info EArmObjCpcInfo, ///< 36 - Continuous Performance Control Info
EArmObjRmr, ///< 37 - Reserved Memory Range Node EArmObjPccSubspaceType0Info, ///< 37 - Pcc Subspace Type 0 Info
EArmObjMemoryRangeDescriptor, ///< 38 - Memory Range Descriptor EArmObjPccSubspaceType1Info, ///< 38 - Pcc Subspace Type 2 Info
EArmObjCpcInfo, ///< 39 - Continuous Performance Control Info EArmObjPccSubspaceType2Info, ///< 39 - Pcc Subspace Type 2 Info
EArmObjPccSubspaceType0Info, ///< 40 - Pcc Subspace Type 0 Info EArmObjPccSubspaceType3Info, ///< 40 - Pcc Subspace Type 3 Info
EArmObjPccSubspaceType1Info, ///< 41 - Pcc Subspace Type 2 Info EArmObjPccSubspaceType4Info, ///< 41 - Pcc Subspace Type 4 Info
EArmObjPccSubspaceType2Info, ///< 42 - Pcc Subspace Type 2 Info EArmObjPccSubspaceType5Info, ///< 42 - Pcc Subspace Type 5 Info
EArmObjPccSubspaceType3Info, ///< 43 - Pcc Subspace Type 3 Info EArmObjEtInfo, ///< 43 - Embedded Trace Extension/Module Info
EArmObjPccSubspaceType4Info, ///< 44 - Pcc Subspace Type 4 Info EArmObjPsdInfo, ///< 44 - P-State Dependency (PSD) Info
EArmObjPccSubspaceType5Info, ///< 45 - Pcc Subspace Type 5 Info
EArmObjEtInfo, ///< 46 - Embedded Trace Extension/Module Info
EArmObjPsdInfo, ///< 47 - P-State Dependency (PSD) Info
EArmObjMax EArmObjMax
} EARM_OBJECT_ID; } EARM_OBJECT_ID;
@ -297,39 +294,6 @@ typedef struct CmArmGicItsInfo {
UINT32 ProximityDomain; UINT32 ProximityDomain;
} CM_ARM_GIC_ITS_INFO; } 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 /** A structure that describes the
Generic Timer information for the Platform. Generic Timer information for the Platform.

View File

@ -30,7 +30,7 @@ EFI_STATUS
EFIAPI EFIAPI
BuildSsdtSerialPortTable ( BuildSsdtSerialPortTable (
IN CONST CM_STD_OBJ_ACPI_TABLE_INFO *AcpiTableInfo, IN CONST CM_STD_OBJ_ACPI_TABLE_INFO *AcpiTableInfo,
IN CONST CM_ARM_SERIAL_PORT_INFO *SerialPortInfo, IN CONST CM_ARCH_COMMON_SERIAL_PORT_INFO *SerialPortInfo,
IN CONST CHAR8 *Name, IN CONST CHAR8 *Name,
IN CONST UINT64 Uid, IN CONST UINT64 Uid,
OUT EFI_ACPI_DESCRIPTION_HEADER **Table OUT EFI_ACPI_DESCRIPTION_HEADER **Table
@ -52,7 +52,7 @@ FreeSsdtSerialPortTable (
/** Validate the Serial Port Information. /** 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. @param [in] SerialPortCount Count of SerialPort in the table.
@retval EFI_SUCCESS Success. @retval EFI_SUCCESS Success.
@ -61,7 +61,7 @@ FreeSsdtSerialPortTable (
EFI_STATUS EFI_STATUS
EFIAPI EFIAPI
ValidateSerialPortInfo ( ValidateSerialPortInfo (
IN CONST CM_ARM_SERIAL_PORT_INFO *SerialPortInfoTable, IN CONST CM_ARCH_COMMON_SERIAL_PORT_INFO *SerialPortInfoTable,
IN UINT32 SerialPortCount IN UINT32 SerialPortCount
); );

View File

@ -33,7 +33,7 @@
Requirements: Requirements:
The following Configuration Manager Object(s) are required by The following Configuration Manager Object(s) are required by
this Generator: this Generator:
- EArmObjSerialDebugPortInfo - EArchCommonObjSerialDebugPortInfo
*/ */
#pragma pack(1) #pragma pack(1)
@ -181,9 +181,9 @@ DBG2_TABLE AcpiDbg2 = {
debug port information from the Configuration Manager debug port information from the Configuration Manager
*/ */
GET_OBJECT_LIST ( GET_OBJECT_LIST (
EObjNameSpaceArm, EObjNameSpaceArchCommon,
EArmObjSerialDebugPortInfo, EArchCommonObjSerialDebugPortInfo,
CM_ARM_SERIAL_PORT_INFO CM_ARCH_COMMON_SERIAL_PORT_INFO
); );
/** Initialize the PL011/SBSA UART with the parameters obtained from /** Initialize the PL011/SBSA UART with the parameters obtained from
@ -198,7 +198,7 @@ GET_OBJECT_LIST (
STATIC STATIC
EFI_STATUS EFI_STATUS
SetupDebugUart ( SetupDebugUart (
IN CONST CM_ARM_SERIAL_PORT_INFO *CONST SerialPortInfo IN CONST CM_ARCH_COMMON_SERIAL_PORT_INFO *CONST SerialPortInfo
) )
{ {
EFI_STATUS Status; EFI_STATUS Status;
@ -330,7 +330,7 @@ BuildDbg2TableEx (
) )
{ {
EFI_STATUS Status; EFI_STATUS Status;
CM_ARM_SERIAL_PORT_INFO *SerialPortInfo; CM_ARCH_COMMON_SERIAL_PORT_INFO *SerialPortInfo;
UINT32 SerialPortCount; UINT32 SerialPortCount;
EFI_ACPI_DESCRIPTION_HEADER **TableList; EFI_ACPI_DESCRIPTION_HEADER **TableList;
@ -358,7 +358,7 @@ BuildDbg2TableEx (
*Table = NULL; *Table = NULL;
Status = GetEArmObjSerialDebugPortInfo ( Status = GetEArchCommonObjSerialDebugPortInfo (
CfgMgrProtocol, CfgMgrProtocol,
CM_NULL_TOKEN, CM_NULL_TOKEN,
&SerialPortInfo, &SerialPortInfo,

View File

@ -33,7 +33,7 @@
Requirements: Requirements:
The following Configuration Manager Object(s) are required by The following Configuration Manager Object(s) are required by
this Generator: this Generator:
- EArmObjSerialConsolePortInfo - EArchCommonObjConsolePortInfo
NOTE: This implementation ignores the possibility that the Serial settings may NOTE: This implementation ignores the possibility that the Serial settings may
be modified from the UEFI Shell. A more complex handler would be needed 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. Port Information from the Configuration Manager.
*/ */
GET_OBJECT_LIST ( GET_OBJECT_LIST (
EObjNameSpaceArm, EObjNameSpaceArchCommon,
EArmObjSerialConsolePortInfo, EArchCommonObjConsolePortInfo,
CM_ARM_SERIAL_PORT_INFO CM_ARCH_COMMON_SERIAL_PORT_INFO
) )
/** Free any resources allocated for constructing the tables. /** Free any resources allocated for constructing the tables.
@ -201,7 +201,7 @@ BuildSpcrTableEx (
) )
{ {
EFI_STATUS Status; EFI_STATUS Status;
CM_ARM_SERIAL_PORT_INFO *SerialPortInfo; CM_ARCH_COMMON_SERIAL_PORT_INFO *SerialPortInfo;
UINT32 SerialPortCount; UINT32 SerialPortCount;
EFI_ACPI_DESCRIPTION_HEADER **TableList; EFI_ACPI_DESCRIPTION_HEADER **TableList;
@ -229,7 +229,7 @@ BuildSpcrTableEx (
*Table = NULL; *Table = NULL;
Status = GetEArmObjSerialConsolePortInfo ( Status = GetEArchCommonObjConsolePortInfo (
CfgMgrProtocol, CfgMgrProtocol,
CM_NULL_TOKEN, CM_NULL_TOKEN,
&SerialPortInfo, &SerialPortInfo,

View File

@ -29,16 +29,16 @@
Requirements: Requirements:
The following Configuration Manager Object(s) are required by The following Configuration Manager Object(s) are required by
this Generator: this Generator:
- EArmObjSerialPortInfo - EArchCommonObjSerialPortInfo
*/ */
/** This macro expands to a function that retrieves the Serial-port /** This macro expands to a function that retrieves the Serial-port
information from the Configuration Manager. information from the Configuration Manager.
*/ */
GET_OBJECT_LIST ( GET_OBJECT_LIST (
EObjNameSpaceArm, EObjNameSpaceArchCommon,
EArmObjSerialPortInfo, EArchCommonObjSerialPortInfo,
CM_ARM_SERIAL_PORT_INFO CM_ARCH_COMMON_SERIAL_PORT_INFO
); );
/** Starting value for the UID to represent the serial ports. /** Starting value for the UID to represent the serial ports.
@ -168,7 +168,7 @@ BuildSsdtSerialPortTableEx (
) )
{ {
EFI_STATUS Status; EFI_STATUS Status;
CM_ARM_SERIAL_PORT_INFO *SerialPortInfo; CM_ARCH_COMMON_SERIAL_PORT_INFO *SerialPortInfo;
UINT32 SerialPortCount; UINT32 SerialPortCount;
UINTN Index; UINTN Index;
CHAR8 NewName[AML_NAME_SEG_SIZE + 1]; CHAR8 NewName[AML_NAME_SEG_SIZE + 1];
@ -185,7 +185,7 @@ BuildSsdtSerialPortTableEx (
*Table = NULL; *Table = NULL;
Status = GetEArmObjSerialPortInfo ( Status = GetEArchCommonObjSerialPortInfo (
CfgMgrProtocol, CfgMgrProtocol,
CM_NULL_TOKEN, CM_NULL_TOKEN,
&SerialPortInfo, &SerialPortInfo,

View File

@ -150,47 +150,44 @@ CM_OBJECT_TOKEN_FIXER TokenFixer[EArmObjMax] = {
NULL, ///< 4 - GIC MSI Frame Info NULL, ///< 4 - GIC MSI Frame Info
NULL, ///< 5 - GIC Redistributor Info NULL, ///< 5 - GIC Redistributor Info
NULL, ///< 6 - GIC ITS Info NULL, ///< 6 - GIC ITS Info
NULL, ///< 7 - Serial Console Port Info NULL, ///< 7 - Generic Timer Info
NULL, ///< 8 - Serial Debug Port Info NULL, ///< 8 - Platform GT Block Info
NULL, ///< 9 - Generic Timer Info NULL, ///< 9 - Generic Timer Block Frame Info
NULL, ///< 10 - Platform GT Block Info NULL, ///< 10 - Platform Generic Watchdog
NULL, ///< 11 - Generic Timer Block Frame Info NULL, ///< 11 - PCI Configuration Space Info
NULL, ///< 12 - Platform Generic Watchdog NULL, ///< 12 - Hypervisor Vendor Id
NULL, ///< 13 - PCI Configuration Space Info NULL, ///< 13 - Fixed feature flags for FADT
NULL, ///< 14 - Hypervisor Vendor Id TokenFixerItsGroup, ///< 14 - ITS Group
NULL, ///< 15 - Fixed feature flags for FADT TokenFixerNamedComponentNode, ///< 15 - Named Component
TokenFixerItsGroup, ///< 16 - ITS Group TokenFixerRootComplexNode, ///< 16 - Root Complex
TokenFixerNamedComponentNode, ///< 17 - Named Component TokenFixerNotImplemented, ///< 17 - SMMUv1 or SMMUv2
TokenFixerRootComplexNode, ///< 18 - Root Complex TokenFixerSmmuV3Node, ///< 18 - SMMUv3
TokenFixerNotImplemented, ///< 19 - SMMUv1 or SMMUv2 TokenFixerNotImplemented, ///< 19 - PMCG
TokenFixerSmmuV3Node, ///< 20 - SMMUv3 NULL, ///< 20 - GIC ITS Identifier Array
TokenFixerNotImplemented, ///< 21 - PMCG NULL, ///< 21 - ID Mapping Array
NULL, ///< 22 - GIC ITS Identifier Array NULL, ///< 22 - SMMU Interrupt Array
NULL, ///< 23 - ID Mapping Array TokenFixerNotImplemented, ///< 23 - Processor Hierarchy Info
NULL, ///< 24 - SMMU Interrupt Array TokenFixerNotImplemented, ///< 24 - Cache Info
TokenFixerNotImplemented, ///< 25 - Processor Hierarchy Info NULL, ///< 25 - Memory Affinity Info
TokenFixerNotImplemented, ///< 26 - Cache Info NULL, ///< 26 - Memory Affinity Info
NULL, ///< 27 - CM Object Reference NULL, ///< 27 - Device Handle Acpi
NULL, ///< 28 - Memory Affinity Info NULL, ///< 28 - Device Handle Pci
NULL, ///< 29 - Device Handle Acpi NULL, ///< 29 - Generic Initiator Affinity
NULL, ///< 30 - Device Handle Pci NULL, ///< 30 - CMN-600 Info
NULL, ///< 31 - Generic Initiator Affinity NULL, ///< 31 - Lpi Info
NULL, ///< 32 - Generic Serial Port Info NULL, ///< 32 - Pci Address Map Info
NULL, ///< 33 - CMN-600 Info NULL, ///< 33 - Pci Interrupt Map Info
NULL, ///< 34 - Lpi Info NULL, ///< 34 - Reserved Memory Range Node
NULL, ///< 35 - Pci Address Map Info NULL, ///< 35 - Memory Range Descriptor
NULL, ///< 36 - Pci Interrupt Map Info NULL, ///< 36 - Continuous Performance Control Info
NULL, ///< 37 - Reserved Memory Range Node NULL, ///< 37 - Pcc Subspace Type 0 Info
NULL, ///< 38 - Memory Range Descriptor NULL, ///< 38 - Pcc Subspace Type 2 Info
NULL, ///< 39 - Continuous Performance Control Info NULL, ///< 39 - Pcc Subspace Type 2 Info
NULL, ///< 40 - Pcc Subspace Type 0 Info NULL, ///< 40 - Pcc Subspace Type 3 Info
NULL, ///< 41 - Pcc Subspace Type 2 Info NULL, ///< 41 - Pcc Subspace Type 4 Info
NULL, ///< 42 - Pcc Subspace Type 2 Info NULL, ///< 42 - Pcc Subspace Type 5 Info
NULL, ///< 43 - Pcc Subspace Type 3 Info NULL, ///< 43 - Embedded Trace Extension/Module Info
NULL, ///< 44 - Pcc Subspace Type 4 Info NULL ///< 44 - P-State Dependency (PSD) Info
NULL, ///< 45 - Pcc Subspace Type 5 Info
NULL, ///< 46 - Embedded Trace Extension/Module Info
NULL ///< 47 - P-State Dependency (PSD) Info
}; };
/** CmObj token fixer. /** CmObj token fixer.

View File

@ -46,7 +46,7 @@ extern CHAR8 ssdtserialporttemplate_aml_code[];
/** Validate the Serial Port Information. /** 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. @param [in] SerialPortCount Count of SerialPort in the table.
@retval EFI_SUCCESS Success. @retval EFI_SUCCESS Success.
@ -55,12 +55,12 @@ extern CHAR8 ssdtserialporttemplate_aml_code[];
EFI_STATUS EFI_STATUS
EFIAPI EFIAPI
ValidateSerialPortInfo ( ValidateSerialPortInfo (
IN CONST CM_ARM_SERIAL_PORT_INFO *SerialPortInfoTable, IN CONST CM_ARCH_COMMON_SERIAL_PORT_INFO *SerialPortInfoTable,
IN UINT32 SerialPortCount IN UINT32 SerialPortCount
) )
{ {
UINT32 Index; UINT32 Index;
CONST CM_ARM_SERIAL_PORT_INFO *SerialPortInfo; CONST CM_ARCH_COMMON_SERIAL_PORT_INFO *SerialPortInfo;
if ((SerialPortInfoTable == NULL) || if ((SerialPortInfoTable == NULL) ||
(SerialPortCount == 0)) (SerialPortCount == 0))
@ -165,7 +165,7 @@ EFIAPI
FixupIds ( FixupIds (
IN AML_ROOT_NODE_HANDLE RootNodeHandle, IN AML_ROOT_NODE_HANDLE RootNodeHandle,
IN CONST UINT64 Uid, IN CONST UINT64 Uid,
IN CONST CM_ARM_SERIAL_PORT_INFO *SerialPortInfo IN CONST CM_ARCH_COMMON_SERIAL_PORT_INFO *SerialPortInfo
) )
{ {
EFI_STATUS Status; EFI_STATUS Status;
@ -291,7 +291,7 @@ EFI_STATUS
EFIAPI EFIAPI
FixupCrs ( FixupCrs (
IN AML_ROOT_NODE_HANDLE RootNodeHandle, IN AML_ROOT_NODE_HANDLE RootNodeHandle,
IN CONST CM_ARM_SERIAL_PORT_INFO *SerialPortInfo IN CONST CM_ARCH_COMMON_SERIAL_PORT_INFO *SerialPortInfo
) )
{ {
EFI_STATUS Status; EFI_STATUS Status;
@ -367,7 +367,7 @@ EFI_STATUS
EFIAPI EFIAPI
FixupName ( FixupName (
IN AML_ROOT_NODE_HANDLE RootNodeHandle, IN AML_ROOT_NODE_HANDLE RootNodeHandle,
IN CONST CM_ARM_SERIAL_PORT_INFO *SerialPortInfo, IN CONST CM_ARCH_COMMON_SERIAL_PORT_INFO *SerialPortInfo,
IN CONST CHAR8 *Name IN CONST CHAR8 *Name
) )
{ {
@ -411,7 +411,7 @@ EFI_STATUS
EFIAPI EFIAPI
FixupSerialPortInfo ( FixupSerialPortInfo (
IN AML_ROOT_NODE_HANDLE RootNodeHandle, IN AML_ROOT_NODE_HANDLE RootNodeHandle,
IN CONST CM_ARM_SERIAL_PORT_INFO *SerialPortInfo, IN CONST CM_ARCH_COMMON_SERIAL_PORT_INFO *SerialPortInfo,
IN CONST CHAR8 *Name, IN CONST CHAR8 *Name,
IN CONST UINT64 Uid, IN CONST UINT64 Uid,
OUT EFI_ACPI_DESCRIPTION_HEADER **Table OUT EFI_ACPI_DESCRIPTION_HEADER **Table
@ -481,7 +481,7 @@ EFI_STATUS
EFIAPI EFIAPI
BuildSsdtSerialPortTable ( BuildSsdtSerialPortTable (
IN CONST CM_STD_OBJ_ACPI_TABLE_INFO *AcpiTableInfo, IN CONST CM_STD_OBJ_ACPI_TABLE_INFO *AcpiTableInfo,
IN CONST CM_ARM_SERIAL_PORT_INFO *SerialPortInfo, IN CONST CM_ARCH_COMMON_SERIAL_PORT_INFO *SerialPortInfo,
IN CONST CHAR8 *Name, IN CONST CHAR8 *Name,
IN CONST UINT64 Uid, IN CONST UINT64 Uid,
OUT EFI_ACPI_DESCRIPTION_HEADER **Table OUT EFI_ACPI_DESCRIPTION_HEADER **Table

View File

@ -122,10 +122,10 @@ STATIC CONST CM_OBJ_PARSER CmArmGicItsInfoParser[] = {
{ "ProximityDomain", 4, "0x%x", NULL } { "ProximityDomain", 4, "0x%x", NULL }
}; };
/** A parser for EArmObjSerialConsolePortInfo, /** A parser for EArchCommonObjConsolePortInfo,
EArmObjSerialDebugPortInfo and EArmObjSerialPortInfo. EArchCommonObjSerialDebugPortInfo and EArchCommonObjSerialPortInfo.
*/ */
STATIC CONST CM_OBJ_PARSER CmArmSerialPortInfoParser[] = { STATIC CONST CM_OBJ_PARSER CmArchCommonSerialPortInfoParser[] = {
{ "BaseAddress", 8, "0x%llx", NULL }, { "BaseAddress", 8, "0x%llx", NULL },
{ "Interrupt", 4, "0x%x", NULL }, { "Interrupt", 4, "0x%x", NULL },
{ "BaudRate", 8, "0x%llx", NULL }, { "BaudRate", 8, "0x%llx", NULL },
@ -672,6 +672,9 @@ STATIC CONST CM_OBJ_PARSER CmArmPsdInfoParser[] = {
STATIC CONST CM_OBJ_PARSER_ARRAY ArchCommonNamespaceObjectParser[] = { STATIC CONST CM_OBJ_PARSER_ARRAY ArchCommonNamespaceObjectParser[] = {
CM_PARSER_ADD_OBJECT_RESERVED (EArchCommonObjReserved), CM_PARSER_ADD_OBJECT_RESERVED (EArchCommonObjReserved),
CM_PARSER_ADD_OBJECT (EArchCommonObjPowerManagementProfileInfo,CmArchCommonPowerManagementProfileInfoParser), 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) CM_PARSER_ADD_OBJECT_RESERVED (EArchCommonObjMax)
}; };
@ -685,8 +688,6 @@ STATIC CONST CM_OBJ_PARSER_ARRAY ArmNamespaceObjectParser[] = {
CM_PARSER_ADD_OBJECT (EArmObjGicMsiFrameInfo, CmArmGicMsiFrameInfoParser), CM_PARSER_ADD_OBJECT (EArmObjGicMsiFrameInfo, CmArmGicMsiFrameInfoParser),
CM_PARSER_ADD_OBJECT (EArmObjGicRedistributorInfo, CmArmGicRedistInfoParser), CM_PARSER_ADD_OBJECT (EArmObjGicRedistributorInfo, CmArmGicRedistInfoParser),
CM_PARSER_ADD_OBJECT (EArmObjGicItsInfo, CmArmGicItsInfoParser), 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 (EArmObjGenericTimerInfo, CmArmGenericTimerInfoParser),
CM_PARSER_ADD_OBJECT (EArmObjPlatformGTBlockInfo, CmArmGTBlockInfoParser), CM_PARSER_ADD_OBJECT (EArmObjPlatformGTBlockInfo, CmArmGTBlockInfoParser),
CM_PARSER_ADD_OBJECT (EArmObjGTBlockTimerFrameInfo, CmArmGTBlockTimerFrameInfoParser), 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 (EArmObjDeviceHandleAcpi, CmArmDeviceHandleAcpiParser),
CM_PARSER_ADD_OBJECT (EArmObjDeviceHandlePci, CmArmDeviceHandlePciParser), CM_PARSER_ADD_OBJECT (EArmObjDeviceHandlePci, CmArmDeviceHandlePciParser),
CM_PARSER_ADD_OBJECT (EArmObjGenericInitiatorAffinityInfo,CmArmGenericInitiatorAffinityInfoParser), CM_PARSER_ADD_OBJECT (EArmObjGenericInitiatorAffinityInfo,CmArmGenericInitiatorAffinityInfoParser),
CM_PARSER_ADD_OBJECT (EArmObjSerialPortInfo, CmArmSerialPortInfoParser),
CM_PARSER_ADD_OBJECT (EArmObjCmn600Info, CmArmCmn600InfoParser), CM_PARSER_ADD_OBJECT (EArmObjCmn600Info, CmArmCmn600InfoParser),
CM_PARSER_ADD_OBJECT (EArmObjLpiInfo, CmArmLpiInfoParser), CM_PARSER_ADD_OBJECT (EArmObjLpiInfo, CmArmLpiInfoParser),
CM_PARSER_ADD_OBJECT (EArmObjPciAddressMapInfo, CmArmPciAddressMapInfoParser), CM_PARSER_ADD_OBJECT (EArmObjPciAddressMapInfo, CmArmPciAddressMapInfoParser),

View File

@ -71,7 +71,7 @@ CONST COMPATIBILITY_INFO SerialSbsaCompatibleInfo = {
@param [in] Fdt Pointer to a Flattened Device Tree (Fdt). @param [in] Fdt Pointer to a Flattened Device Tree (Fdt).
@param [in] SerialPortNode Offset of a serial-port node. @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_SUCCESS The function completed successfully.
@retval EFI_ABORTED An error occurred. @retval EFI_ABORTED An error occurred.
@ -84,7 +84,7 @@ EFIAPI
SerialPortNodeParser ( SerialPortNodeParser (
IN CONST VOID *Fdt, IN CONST VOID *Fdt,
IN INT32 SerialPortNode, IN INT32 SerialPortNode,
IN CM_ARM_SERIAL_PORT_INFO *SerialPortInfo IN CM_ARCH_COMMON_SERIAL_PORT_INFO *SerialPortInfo
) )
{ {
EFI_STATUS Status; EFI_STATUS Status;
@ -313,7 +313,7 @@ GetSerialConsoleNode (
return EFI_SUCCESS; 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] FdtParserHandle A handle to the parser instance.
@param [in] GenericSerialInfo Pointer to a serial port info list. @param [in] GenericSerialInfo Pointer to a serial port info list.
@ -331,9 +331,9 @@ EFI_STATUS
EFIAPI EFIAPI
ArmSerialPortInfoDispatch ( ArmSerialPortInfoDispatch (
IN CONST FDT_HW_INFO_PARSER_HANDLE FdtParserHandle, 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 INT32 NodeCount,
IN EARM_OBJECT_ID SerialObjectId IN EARCH_COMMON_OBJECT_ID SerialObjectId
) )
{ {
EFI_STATUS Status; EFI_STATUS Status;
@ -344,9 +344,9 @@ ArmSerialPortInfoDispatch (
return EFI_INVALID_PARAMETER; return EFI_INVALID_PARAMETER;
} }
if ((SerialObjectId != EArmObjSerialPortInfo) && if ((SerialObjectId != EArchCommonObjSerialPortInfo) &&
(SerialObjectId != EArmObjSerialDebugPortInfo) && (SerialObjectId != EArchCommonObjSerialDebugPortInfo) &&
(SerialObjectId != EArmObjSerialConsolePortInfo)) (SerialObjectId != EArchCommonObjConsolePortInfo))
{ {
ASSERT (0); ASSERT (0);
return EFI_INVALID_PARAMETER; return EFI_INVALID_PARAMETER;
@ -354,10 +354,10 @@ ArmSerialPortInfoDispatch (
// Dispatch the Generic Serial ports // Dispatch the Generic Serial ports
Status = CreateCmObjDesc ( Status = CreateCmObjDesc (
CREATE_CM_ARM_OBJECT_ID (SerialObjectId), CREATE_CM_ARCH_COMMON_OBJECT_ID (SerialObjectId),
NodeCount, NodeCount,
GenericSerialInfo, GenericSerialInfo,
sizeof (CM_ARM_SERIAL_PORT_INFO) * NodeCount, sizeof (CM_ARCH_COMMON_SERIAL_PORT_INFO) * NodeCount,
&NewCmObjDesc &NewCmObjDesc
); );
if (EFI_ERROR (Status)) { if (EFI_ERROR (Status)) {
@ -372,19 +372,19 @@ ArmSerialPortInfoDispatch (
return Status; 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. This parser expects FdtBranch to be the debug serial-port node.
At most one CmObj is created. At most one CmObj is created.
The following structure is populated: The following structure is populated:
typedef struct CmArmSerialPortInfo { typedef struct EArchCommonSerialPortInfo {
UINT64 BaseAddress; // {Populated} UINT64 BaseAddress; // {Populated}
UINT32 Interrupt; // {Populated} UINT32 Interrupt; // {Populated}
UINT64 BaudRate; // {default} UINT64 BaudRate; // {default}
UINT32 Clock; // {Populated} UINT32 Clock; // {Populated}
UINT16 PortSubtype; // {Populated} UINT16 PortSubtype; // {Populated}
UINT64 BaseAddressLength // {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, A parser parses a Device Tree to populate a specific CmObj type. None,
one or many CmObj can be created by the parser. 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] FdtParserHandle A handle to the parser instance.
@param [in] FdtBranch When searching for DT node name, restrict @param [in] FdtBranch When searching for DT node name, restrict
the search to this Device Tree branch. 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_SUCCESS The function completed successfully.
@retval EFI_ABORTED An error occurred. @retval EFI_ABORTED An error occurred.
@ -410,14 +411,14 @@ EFIAPI
ArmSerialPortInfoParser ( ArmSerialPortInfoParser (
IN CONST FDT_HW_INFO_PARSER_HANDLE FdtParserHandle, IN CONST FDT_HW_INFO_PARSER_HANDLE FdtParserHandle,
IN INT32 FdtBranch, IN INT32 FdtBranch,
IN EARM_OBJECT_ID SerialObjectId IN EARCH_COMMON_OBJECT_ID SerialObjectId
) )
{ {
EFI_STATUS Status; EFI_STATUS Status;
CM_ARM_SERIAL_PORT_INFO SerialInfo; CM_ARCH_COMMON_SERIAL_PORT_INFO SerialInfo;
if ((SerialObjectId != EArmObjSerialDebugPortInfo) && if ((SerialObjectId != EArchCommonObjSerialDebugPortInfo) &&
(SerialObjectId != EArmObjSerialConsolePortInfo)) (SerialObjectId != EArchCommonObjConsolePortInfo))
{ {
ASSERT (0); ASSERT (0);
return EFI_INVALID_PARAMETER; return EFI_INVALID_PARAMETER;
@ -447,11 +448,11 @@ ArmSerialPortInfoParser (
/** SerialPort dispatcher. /** 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: the following CM_OBJ_ID:
- EArmObjSerialConsolePortInfo - EArchCommonObjConsolePortInfo
- EArmObjSerialDebugPortInfo - EArchCommonObjSerialDebugPortInfo
- EArmObjSerialPortInfo - EArchCommonObjSerialPortInfo
A parser parses a Device Tree to populate a specific CmObj type. None, A parser parses a Device Tree to populate a specific CmObj type. None,
one or many CmObj can be created by the parser. one or many CmObj can be created by the parser.
@ -484,7 +485,7 @@ SerialPortDispatcher (
UINT32 Index; UINT32 Index;
UINT32 SerialNodeCount; UINT32 SerialNodeCount;
UINT32 SerialNodesRemaining; UINT32 SerialNodesRemaining;
CM_ARM_SERIAL_PORT_INFO *GenericSerialInfo; CM_ARCH_COMMON_SERIAL_PORT_INFO *GenericSerialInfo;
UINT32 GenericSerialIndex; UINT32 GenericSerialIndex;
VOID *Fdt; VOID *Fdt;
@ -531,7 +532,7 @@ SerialPortDispatcher (
Status = ArmSerialPortInfoParser ( Status = ArmSerialPortInfoParser (
FdtParserHandle, FdtParserHandle,
SerialConsoleNode, SerialConsoleNode,
EArmObjSerialConsolePortInfo EArchCommonObjConsolePortInfo
); );
if (EFI_ERROR (Status)) { if (EFI_ERROR (Status)) {
ASSERT (0); ASSERT (0);
@ -550,7 +551,7 @@ SerialPortDispatcher (
SerialNodesRemaining--; SerialNodesRemaining--;
GenericSerialInfo = AllocateZeroPool ( GenericSerialInfo = AllocateZeroPool (
SerialNodesRemaining * SerialNodesRemaining *
sizeof (CM_ARM_SERIAL_PORT_INFO) sizeof (CM_ARCH_COMMON_SERIAL_PORT_INFO)
); );
if (GenericSerialInfo == NULL) { if (GenericSerialInfo == NULL) {
ASSERT (0); ASSERT (0);
@ -589,7 +590,7 @@ SerialPortDispatcher (
Status = ArmSerialPortInfoParser ( Status = ArmSerialPortInfoParser (
FdtParserHandle, FdtParserHandle,
SerialDebugNode, SerialDebugNode,
EArmObjSerialDebugPortInfo EArchCommonObjSerialDebugPortInfo
); );
if (EFI_ERROR (Status)) { if (EFI_ERROR (Status)) {
ASSERT (0); ASSERT (0);
@ -620,7 +621,7 @@ SerialPortDispatcher (
FdtParserHandle, FdtParserHandle,
GenericSerialInfo, GenericSerialInfo,
GenericSerialIndex, GenericSerialIndex,
EArmObjSerialPortInfo EArchCommonObjSerialPortInfo
); );
} }

View File

@ -14,11 +14,11 @@
/** SerialPort dispatcher. /** 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: the following CM_OBJ_ID:
- EArmObjSerialConsolePortInfo - EArchCommonObjConsolePortInfo
- EArmObjSerialDebugPortInfo - EArchCommonObjSerialDebugPortInfo
- EArmObjSerialPortInfo - EArchCommonObjSerialPortInfo
A parser parses a Device Tree to populate a specific CmObj type. None, A parser parses a Device Tree to populate a specific CmObj type. None,
one or many CmObj can be created by the parser. one or many CmObj can be created by the parser.

View File

@ -447,47 +447,44 @@ The CM_OBJECT_ID type is used to identify the Configuration Manager
| 4 | GIC MSI Frame Info | | | 4 | GIC MSI Frame Info | |
| 5 | GIC Redistributor Info | | | 5 | GIC Redistributor Info | |
| 6 | GIC ITS Info | | | 6 | GIC ITS Info | |
| 7 | Serial Console Port Info | Move to Arch Common NS | | 7 | Generic Timer Info | |
| 8 | Serial Debug Port Info | Move to Arch Common NS | | 8 | Platform GT Block Info | |
| 9 | Generic Timer Info | | | 9 | Generic Timer Block Frame Info | |
| 10 | Platform GT Block Info | | | 10 | Platform Generic Watchdog | |
| 11 | Generic Timer Block Frame Info | | | 11 | PCI Configuration Space Info | Move to Arch Common NS |
| 12 | Platform Generic Watchdog | | | 12 | Hypervisor Vendor Id | Move to Arch Common NS |
| 13 | PCI Configuration Space Info | Move to Arch Common NS | | 13 | Fixed feature flags for FADT | Move to Arch Common NS |
| 14 | Hypervisor Vendor Id | Move to Arch Common NS | | 14 | ITS Group | |
| 15 | Fixed feature flags for FADT | Move to Arch Common NS | | 15 | Named Component | |
| 16 | ITS Group | | | 16 | Root Complex | |
| 17 | Named Component | | | 17 | SMMUv1 or SMMUv2 | |
| 18 | Root Complex | | | 18 | SMMUv3 | |
| 19 | SMMUv1 or SMMUv2 | | | 19 | PMCG | |
| 20 | SMMUv3 | | | 20 | GIC ITS Identifier Array | |
| 21 | PMCG | | | 21 | ID Mapping Array | |
| 22 | GIC ITS Identifier Array | | | 22 | SMMU Interrupt Array | |
| 23 | ID Mapping Array | | | 23 | Processor Hierarchy Info | Move to Arch Common NS |
| 24 | SMMU Interrupt Array | | | 24 | Cache Info | Move to Arch Common NS |
| 25 | Processor Hierarchy Info | Move to Arch Common NS | | 25 | CM Object Reference | Move to Arch Common NS |
| 26 | Cache Info | Move to Arch Common NS | | 26 | Memory Affinity Info | Move to Arch Common NS |
| 27 | CM Object Reference | Move to Arch Common NS | | 27 | Device Handle Acpi | Move to Arch Common NS |
| 28 | Memory Affinity Info | Move to Arch Common NS | | 28 | Device Handle PCI | Move to Arch Common NS |
| 29 | Device Handle Acpi | Move to Arch Common NS | | 29 | Generic Initiator Affinity Info | Move to Arch Common NS |
| 30 | Device Handle PCI | Move to Arch Common NS | | 30 | CMN 600 Info | |
| 31 | Generic Initiator Affinity Info | Move to Arch Common NS | | 31 | Low Power Idle State Info | Move to Arch Common NS |
| 32 | Serial Port Info | Move to Arch Common NS | | 32 | PCI Address Map Info | Move to Arch Common NS |
| 33 | CMN 600 Info | | | 33 | PCI Interrupt Map Info | Move to Arch Common NS |
| 34 | Low Power Idle State Info | Move to Arch Common NS | | 34 | Reserved Memory Range Node | |
| 35 | PCI Address Map Info | Move to Arch Common NS | | 35 | Memory Range Descriptor | |
| 36 | PCI Interrupt Map Info | Move to Arch Common NS | | 36 | Continuous Performance Control Info | Move to Arch Common NS |
| 37 | Reserved Memory Range Node | | | 37 | Pcc Subspace Type 0 Info | Move to Arch Common NS |
| 38 | Memory Range Descriptor | | | 38 | Pcc Subspace Type 1 Info | Move to Arch Common NS |
| 39 | Continuous Performance Control Info | Move to Arch Common NS | | 39 | Pcc Subspace Type 2 Info | Move to Arch Common NS |
| 40 | Pcc Subspace Type 0 Info | Move to Arch Common NS | | 40 | Pcc Subspace Type 3 Info | Move to Arch Common NS |
| 41 | Pcc Subspace Type 1 Info | Move to Arch Common NS | | 41 | Pcc Subspace Type 4 Info | Move to Arch Common NS |
| 42 | Pcc Subspace Type 2 Info | Move to Arch Common NS | | 42 | Pcc Subspace Type 5 Info | Move to Arch Common NS |
| 43 | Pcc Subspace Type 3 Info | Move to Arch Common NS | | 43 | Embedded Trace Extension/Module Info | |
| 44 | Pcc Subspace Type 4 Info | Move to Arch Common NS | | 44 | P-State Dependency (PSD) Info | Move to Arch Common NS |
| 45 | Pcc Subspace Type 5 Info | Move to Arch Common NS |
| 46 | Embedded Trace Extension/Module Info | |
| 47 | P-State Dependency (PSD) Info | Move to Arch Common NS |
| `*` | All other values are reserved. | | | `*` | All other values are reserved. | |
#### Object ID's in the Arch Common Namespace: #### Object ID's in the Arch Common Namespace:
@ -496,4 +493,7 @@ The CM_OBJECT_ID type is used to identify the Configuration Manager
| ---: | :-------------------------- | :--- | | ---: | :-------------------------- | :--- |
| 0 | Reserved | | | 0 | Reserved | |
| 1 | Power Management Profile Info | | | 1 | Power Management Profile Info | |
| 2 | Serial Port Info | |
| 3 | Serial Console Port Info | |
| 4 | Serial Debug Port Info | |
| `*` | All other values are reserved. | | | `*` | All other values are reserved. | |