summaryrefslogtreecommitdiffstats
path: root/DynamicTablesPkg
diff options
context:
space:
mode:
Diffstat (limited to 'DynamicTablesPkg')
-rw-r--r--DynamicTablesPkg/Include/ArchCommonNameSpaceObjects.h19
-rw-r--r--DynamicTablesPkg/Include/ArmNameSpaceObjects.h37
-rw-r--r--DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtCpuTopologyLibArm/SsdtCpuTopologyGenerator.c12
-rw-r--r--DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/CmObjectTokenFixer.c15
-rw-r--r--DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c6
-rw-r--r--DynamicTablesPkg/Readme.md60
6 files changed, 74 insertions, 75 deletions
diff --git a/DynamicTablesPkg/Include/ArchCommonNameSpaceObjects.h b/DynamicTablesPkg/Include/ArchCommonNameSpaceObjects.h
index 17cd552a3f..63b24de2f2 100644
--- a/DynamicTablesPkg/Include/ArchCommonNameSpaceObjects.h
+++ b/DynamicTablesPkg/Include/ArchCommonNameSpaceObjects.h
@@ -38,6 +38,7 @@ typedef enum ArchCommonObjectID {
EArchCommonObjLpiInfo, ///< 15 - Lpi Info
EArchCommonObjProcHierarchyInfo, ///< 16 - Processor Hierarchy Info
EArchCommonObjCacheInfo, ///< 17 - Cache Info
+ EArchCommonObjCpcInfo, ///< 18 - Continuous Performance Control Info
EArchCommonObjMax
} EARCH_COMMON_OBJECT_ID;
@@ -432,6 +433,24 @@ typedef struct CmArchCommonCacheInfo {
UINT32 CacheId;
} CM_ARCH_COMMON_CACHE_INFO;
+/** A structure that describes the Cpc information.
+
+ Continuous Performance Control is described in DSDT/SSDT and associated
+ to cpus/clusters in the cpu topology.
+
+ Unsupported Optional registers should be encoded with NULL resource
+ Register {(SystemMemory, 0, 0, 0, 0)}
+
+ For values that support Integer or Buffer, integer will be used
+ if buffer is NULL resource.
+ If resource is not NULL then Integer must be 0
+
+ Cf. ACPI 6.4, s8.4.7.1 _CPC (Continuous Performance Control)
+
+ ID: EArchCommonObjCpcInfo
+*/
+typedef AML_CPC_INFO CM_ARCH_COMMON_CPC_INFO;
+
#pragma pack()
#endif // ARCH_COMMON_NAMESPACE_OBJECTS_H_
diff --git a/DynamicTablesPkg/Include/ArmNameSpaceObjects.h b/DynamicTablesPkg/Include/ArmNameSpaceObjects.h
index eade2afcd0..b9d1202be3 100644
--- a/DynamicTablesPkg/Include/ArmNameSpaceObjects.h
+++ b/DynamicTablesPkg/Include/ArmNameSpaceObjects.h
@@ -51,15 +51,14 @@ typedef enum ArmObjectID {
EArmObjCmn600Info, ///< 20 - CMN-600 Info
EArmObjRmr, ///< 21 - Reserved Memory Range Node
EArmObjMemoryRangeDescriptor, ///< 22 - Memory Range Descriptor
- EArmObjCpcInfo, ///< 23 - Continuous Performance Control Info
- EArmObjPccSubspaceType0Info, ///< 24 - Pcc Subspace Type 0 Info
- EArmObjPccSubspaceType1Info, ///< 25 - Pcc Subspace Type 2 Info
- EArmObjPccSubspaceType2Info, ///< 26 - Pcc Subspace Type 2 Info
- EArmObjPccSubspaceType3Info, ///< 27 - Pcc Subspace Type 3 Info
- EArmObjPccSubspaceType4Info, ///< 28 - Pcc Subspace Type 4 Info
- EArmObjPccSubspaceType5Info, ///< 29 - Pcc Subspace Type 5 Info
- EArmObjEtInfo, ///< 30 - Embedded Trace Extension/Module Info
- EArmObjPsdInfo, ///< 31 - P-State Dependency (PSD) Info
+ EArmObjPccSubspaceType0Info, ///< 23 - Pcc Subspace Type 0 Info
+ EArmObjPccSubspaceType1Info, ///< 24 - Pcc Subspace Type 2 Info
+ EArmObjPccSubspaceType2Info, ///< 25 - Pcc Subspace Type 2 Info
+ EArmObjPccSubspaceType3Info, ///< 26 - Pcc Subspace Type 3 Info
+ EArmObjPccSubspaceType4Info, ///< 27 - Pcc Subspace Type 4 Info
+ EArmObjPccSubspaceType5Info, ///< 28 - Pcc Subspace Type 5 Info
+ EArmObjEtInfo, ///< 29 - Embedded Trace Extension/Module Info
+ EArmObjPsdInfo, ///< 30 - P-State Dependency (PSD) Info
EArmObjMax
} EARM_OBJECT_ID;
@@ -177,7 +176,7 @@ typedef struct CmArmGicCInfo {
UINT32 AffinityFlags;
/** Optional field: Reference Token for the Cpc info of this processor.
- i.e. a token referencing a CM_ARM_CPC_INFO object.
+ i.e. a token referencing a CM_ARCH_COMMON_CPC_INFO object.
*/
CM_OBJECT_TOKEN CpcToken;
@@ -715,24 +714,6 @@ typedef struct CmArmRmrDescriptor {
UINT64 Length;
} CM_ARM_MEMORY_RANGE_DESCRIPTOR;
-/** A structure that describes the Cpc information.
-
- Continuous Performance Control is described in DSDT/SSDT and associated
- to cpus/clusters in the cpu topology.
-
- Unsupported Optional registers should be encoded with NULL resource
- Register {(SystemMemory, 0, 0, 0, 0)}
-
- For values that support Integer or Buffer, integer will be used
- if buffer is NULL resource.
- If resource is not NULL then Integer must be 0
-
- Cf. ACPI 6.4, s8.4.7.1 _CPC (Continuous Performance Control)
-
- ID: EArmObjCpcInfo
-*/
-typedef AML_CPC_INFO CM_ARM_CPC_INFO;
-
/** A structure that describes a
PCC Mailbox Register.
*/
diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtCpuTopologyLibArm/SsdtCpuTopologyGenerator.c b/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtCpuTopologyLibArm/SsdtCpuTopologyGenerator.c
index d7caca5a3a..8c9d1258b2 100644
--- a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtCpuTopologyLibArm/SsdtCpuTopologyGenerator.c
+++ b/DynamicTablesPkg/Library/Acpi/Arm/AcpiSsdtCpuTopologyLibArm/SsdtCpuTopologyGenerator.c
@@ -89,9 +89,9 @@ GET_OBJECT_LIST (
information from the Configuration Manager.
*/
GET_OBJECT_LIST (
- EObjNameSpaceArm,
- EArmObjCpcInfo,
- CM_ARM_CPC_INFO
+ EObjNameSpaceArchCommon,
+ EArchCommonObjCpcInfo,
+ CM_ARCH_COMMON_CPC_INFO
);
/**
@@ -400,10 +400,10 @@ CreateAmlCpcNode (
IN AML_OBJECT_NODE_HANDLE *Node
)
{
- EFI_STATUS Status;
- CM_ARM_CPC_INFO *CpcInfo;
+ EFI_STATUS Status;
+ CM_ARCH_COMMON_CPC_INFO *CpcInfo;
- Status = GetEArmObjCpcInfo (
+ Status = GetEArchCommonObjCpcInfo (
CfgMgrProtocol,
GicCInfo->CpcToken,
&CpcInfo,
diff --git a/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/CmObjectTokenFixer.c b/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/CmObjectTokenFixer.c
index a162d614f9..68db478c57 100644
--- a/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/CmObjectTokenFixer.c
+++ b/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/CmObjectTokenFixer.c
@@ -166,15 +166,14 @@ CM_OBJECT_TOKEN_FIXER TokenFixer[EArmObjMax] = {
NULL, ///< 20 - CMN-600 Info
NULL, ///< 21 - Reserved Memory Range Node
NULL, ///< 22 - Memory Range Descriptor
- NULL, ///< 23 - Continuous Performance Control Info
- NULL, ///< 24 - Pcc Subspace Type 0 Info
+ NULL, ///< 23 - Pcc Subspace Type 0 Info
+ NULL, ///< 24 - Pcc Subspace Type 2 Info
NULL, ///< 25 - Pcc Subspace Type 2 Info
- NULL, ///< 26 - Pcc Subspace Type 2 Info
- NULL, ///< 27 - Pcc Subspace Type 3 Info
- NULL, ///< 28 - Pcc Subspace Type 4 Info
- NULL, ///< 29 - Pcc Subspace Type 5 Info
- NULL, ///< 30 - Embedded Trace Extension/Module Info
- NULL ///< 31 - P-State Dependency (PSD) Info
+ NULL, ///< 26 - Pcc Subspace Type 3 Info
+ NULL, ///< 27 - Pcc Subspace Type 4 Info
+ NULL, ///< 28 - Pcc Subspace Type 5 Info
+ NULL, ///< 29 - Embedded Trace Extension/Module Info
+ NULL ///< 30 - P-State Dependency (PSD) Info
};
/** CmObj token fixer.
diff --git a/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c b/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c
index 5440f9993b..54ecc66c5b 100644
--- a/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c
+++ b/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c
@@ -479,9 +479,9 @@ STATIC CONST CM_OBJ_PARSER CmArmMemoryRangeDescriptorInfoParser[] = {
{ "Length", 8, "0x%llx", NULL },
};
-/** A parser for EArmObjCpcInfo.
+/** A parser for EArchCommonObjCpcInfo.
*/
-STATIC CONST CM_OBJ_PARSER CmArmCpcInfoParser[] = {
+STATIC CONST CM_OBJ_PARSER CmArchCommonCpcInfoParser[] = {
{ "Revision", 4, "0x%lx", NULL },
{ "HighestPerformanceBuffer", sizeof (EFI_ACPI_6_4_GENERIC_ADDRESS_STRUCTURE),
NULL, NULL, AcpiGenericAddressParser,
@@ -688,6 +688,7 @@ STATIC CONST CM_OBJ_PARSER_ARRAY ArchCommonNamespaceObjectParser[] = {
CM_PARSER_ADD_OBJECT (EArchCommonObjLpiInfo, CmArchCommonLpiInfoParser),
CM_PARSER_ADD_OBJECT (EArchCommonObjProcHierarchyInfo, CmArchCommonProcHierarchyInfoParser),
CM_PARSER_ADD_OBJECT (EArchCommonObjCacheInfo, CmArchCommonCacheInfoParser),
+ CM_PARSER_ADD_OBJECT (EArchCommonObjCpcInfo, CmArchCommonCpcInfoParser),
CM_PARSER_ADD_OBJECT_RESERVED (EArchCommonObjMax)
};
@@ -717,7 +718,6 @@ STATIC CONST CM_OBJ_PARSER_ARRAY ArmNamespaceObjectParser[] = {
CM_PARSER_ADD_OBJECT (EArmObjCmn600Info, CmArmCmn600InfoParser),
CM_PARSER_ADD_OBJECT (EArmObjRmr, CmArmRmrInfoParser),
CM_PARSER_ADD_OBJECT (EArmObjMemoryRangeDescriptor, CmArmMemoryRangeDescriptorInfoParser),
- CM_PARSER_ADD_OBJECT (EArmObjCpcInfo, CmArmCpcInfoParser),
CM_PARSER_ADD_OBJECT (EArmObjPccSubspaceType0Info, CmArmPccSubspaceType0InfoParser),
CM_PARSER_ADD_OBJECT (EArmObjPccSubspaceType1Info, CmArmPccSubspaceType1InfoParser),
CM_PARSER_ADD_OBJECT (EArmObjPccSubspaceType2Info, CmArmPccSubspaceType2InfoParser),
diff --git a/DynamicTablesPkg/Readme.md b/DynamicTablesPkg/Readme.md
index 7865731841..8ac9d126b8 100644
--- a/DynamicTablesPkg/Readme.md
+++ b/DynamicTablesPkg/Readme.md
@@ -463,38 +463,38 @@ The CM_OBJECT_ID type is used to identify the Configuration Manager
| 20 | CMN 600 Info | |
| 21 | Reserved Memory Range Node | |
| 22 | Memory Range Descriptor | |
-| 23 | Continuous Performance Control Info | Move to Arch Common NS |
-| 24 | Pcc Subspace Type 0 Info | Move to Arch Common NS |
-| 25 | Pcc Subspace Type 1 Info | Move to Arch Common NS |
-| 26 | Pcc Subspace Type 2 Info | Move to Arch Common NS |
-| 27 | Pcc Subspace Type 3 Info | Move to Arch Common NS |
-| 28 | Pcc Subspace Type 4 Info | Move to Arch Common NS |
-| 29 | Pcc Subspace Type 5 Info | Move to Arch Common NS |
-| 30 | Embedded Trace Extension/Module Info | |
-| 31 | P-State Dependency (PSD) Info | Move to Arch Common NS |
+| 23 | Pcc Subspace Type 0 Info | Move to Arch Common NS |
+| 24 | Pcc Subspace Type 1 Info | Move to Arch Common NS |
+| 25 | Pcc Subspace Type 2 Info | Move to Arch Common NS |
+| 26 | Pcc Subspace Type 3 Info | Move to Arch Common NS |
+| 27 | Pcc Subspace Type 4 Info | Move to Arch Common NS |
+| 28 | Pcc Subspace Type 5 Info | Move to Arch Common NS |
+| 29 | Embedded Trace Extension/Module Info | |
+| 30 | P-State Dependency (PSD) Info | Move to Arch Common NS |
| `*` | All other values are reserved. | |
#### Object ID's in the Arch Common Namespace:
-| ID | Description | Comments |
-| ---: | :-------------------------- | :--- |
-| 0 | Reserved | |
-| 1 | Power Management Profile Info | |
-| 2 | Serial Port Info | |
-| 3 | Serial Console Port Info | |
-| 4 | Serial Debug Port Info | |
-| 5 | Hypervisor Vendor Id | |
-| 6 | Fixed feature flags for FADT | |
-| 7 | CM Object Reference | |
-| 8 | PCI Configuration Space Info | |
-| 9 | PCI Address Map Info | |
-| 10 | PCI Interrupt Map Info | |
-| 11 | Memory Affinity Info | |
-| 12 | Device Handle Acpi | |
-| 13 | Device Handle PCI | |
-| 14 | Generic Initiator Affinity Info | |
-| 15 | Low Power Idle State Info | |
-| 16 | Processor Hierarchy Info | |
-| 17 | Cache Info | |
-| `*` | All other values are reserved. | |
+| ID | Description | Comments |
+| ---: | :-------------------------- | :--- |
+| 0 | Reserved | |
+| 1 | Power Management Profile Info | |
+| 2 | Serial Port Info | |
+| 3 | Serial Console Port Info | |
+| 4 | Serial Debug Port Info | |
+| 5 | Hypervisor Vendor Id | |
+| 6 | Fixed feature flags for FADT | |
+| 7 | CM Object Reference | |
+| 8 | PCI Configuration Space Info | |
+| 9 | PCI Address Map Info | |
+| 10 | PCI Interrupt Map Info | |
+| 11 | Memory Affinity Info | |
+| 12 | Device Handle Acpi | |
+| 13 | Device Handle PCI | |
+| 14 | Generic Initiator Affinity Info | |
+| 15 | Low Power Idle State Info | |
+| 16 | Processor Hierarchy Info | |
+| 17 | Cache Info | |
+| 18 | Continuous Performance Control Info | |
+| `*` | All other values are reserved. | |