From: Pierre Gondois <pierre.gond...@arm.com>
The _PSD object (cf. ACPI 6.4, s8.4.5.5 _PSD (P-State Dependency)
allows to describe CPU's power state dependencies. Add a PsdToken
field to the CM_ARM_GICC_INFO object so that interdependent CPUs
can reference the same CM_ARM_PSD_INFO object.
Signed-off-by: Pierre Gondois <pierre.gond...@arm.com>
---
DynamicTablesPkg/Include/ArmNameSpaceObjects.h | 5 +++++
.../Common/TableHelperLib/ConfigurationManagerObjectParser.c | 5 +++--
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/DynamicTablesPkg/Include/ArmNameSpaceObjects.h
b/DynamicTablesPkg/Include/ArmNameSpaceObjects.h
index ddd17fa45b1e..2a0ebe24bd04 100644
--- a/DynamicTablesPkg/Include/ArmNameSpaceObjects.h
+++ b/DynamicTablesPkg/Include/ArmNameSpaceObjects.h
@@ -204,6 +204,11 @@ typedef struct CmArmGicCInfo {
i.e. a token referencing a CM_ARM_CPC_INFO object.
*/
CM_OBJECT_TOKEN CpcToken;
+
+ /** Optional field: Reference Token for the Psd info of this processor.
+ i.e. a token referencing a CM_ARM_PSD_INFO object.
+ */
+ CM_OBJECT_TOKEN PsdToken;
} CM_ARM_GICC_INFO;
/** A structure that describes the
diff --git
a/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c
b/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c
index b3ee12da8c4f..a9f5c95c1039 100644
---
a/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c
+++
b/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c
@@ -83,7 +83,8 @@ STATIC CONST CM_OBJ_PARSER CmArmGicCInfoParser[] = {
{ "ProximityDomain", 4, "0x%x", NULL
},
{ "ClockDomain", 4, "0x%x", NULL
},
{ "AffinityFlags", 4, "0x%x", NULL
},
- { "CpcToken", sizeof (CM_OBJECT_TOKEN), "0x%p", NULL }
+ { "CpcToken", sizeof (CM_OBJECT_TOKEN), "0x%p", NULL
},
+ { "PsdToken", sizeof (CM_OBJECT_TOKEN), "0x%p", NULL
},
};
/** A parser for EArmObjGicDInfo.
@@ -766,7 +767,7 @@ STATIC CONST CM_OBJ_PARSER_ARRAY
ArmNamespaceObjectParser[] = {
ARRAY_SIZE (CmArmPccSubspaceType34InfoParser) },
{ "EArmObjPccSubspaceType5Info", CmArmPccSubspaceType5InfoParser,
ARRAY_SIZE (CmArmPccSubspaceType5InfoParser) },
- { "EArmObjCpcInfo", CmArmPsdInfoParser,
+ { "EArmObjPsdInfo", CmArmPsdInfoParser,