[edk2-devel] [PATCH v1 06/11] DynamicTablesPkg: Add CM_ARM_PSD_INFO object
PierreGondois
pierre.gondois at arm.com
Fri May 5 13:17:16 UTC 2023
From: Pierre Gondois <pierre.gondois at arm.com>
Add an object describing _PSD information, cf. ACPI 6.4,
s8.4.5.5 _PSD (P-State Dependency).
Also add the corresponding CmObjParser.
Signed-off-by: Pierre Gondois <pierre.gondois at arm.com>
---
DynamicTablesPkg/Include/AcpiObjects.h | 20 +++++++++++++++++++
.../Include/ArmNameSpaceObjects.h | 12 ++++++++++-
.../ConfigurationManagerObjectParser.c | 11 ++++++++++
3 files changed, 42 insertions(+), 1 deletion(-)
diff --git a/DynamicTablesPkg/Include/AcpiObjects.h b/DynamicTablesPkg/Include/AcpiObjects.h
index 8981c229544a..d3c23d8d4f2b 100644
--- a/DynamicTablesPkg/Include/AcpiObjects.h
+++ b/DynamicTablesPkg/Include/AcpiObjects.h
@@ -1,6 +1,7 @@
/** @file
Copyright (c) 2022, NVIDIA CORPORATION & AFFILIATES. All rights reserved.<BR>
+ Copyright (c) 2022 - 2023, Arm Limited. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
@@ -119,6 +120,25 @@ typedef struct AmlCpcInfo {
UINT32 NominalFrequencyInteger;
} AML_CPC_INFO;
+/** A structure that describes a
+ P-State Dependency (PSD) Info.
+
+ Cf. ACPI 6.4, s8.4.5.5 _PSD (P-State Dependency).
+*/
+typedef struct AmlPsdInfo {
+ /// Revision.
+ UINT8 Revision;
+
+ /// Domain Id.
+ UINT32 Domain;
+
+ /// Coordination type.
+ UINT32 CoordType;
+
+ /// Number of processors belonging to the Domain.
+ UINT32 NumProc;
+} AML_PSD_INFO;
+
#pragma pack()
#endif //AML_CPC_INFO_H_
diff --git a/DynamicTablesPkg/Include/ArmNameSpaceObjects.h b/DynamicTablesPkg/Include/ArmNameSpaceObjects.h
index 8199882f69fe..ddd17fa45b1e 100644
--- a/DynamicTablesPkg/Include/ArmNameSpaceObjects.h
+++ b/DynamicTablesPkg/Include/ArmNameSpaceObjects.h
@@ -1,6 +1,6 @@
/** @file
- Copyright (c) 2017 - 2022, Arm Limited. All rights reserved.<BR>
+ Copyright (c) 2017 - 2023, Arm Limited. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
@@ -71,6 +71,7 @@ typedef enum ArmObjectID {
EArmObjPccSubspaceType3Info, ///< 46 - Pcc Subspace Type 3 Info
EArmObjPccSubspaceType4Info, ///< 47 - Pcc Subspace Type 4 Info
EArmObjPccSubspaceType5Info, ///< 48 - Pcc Subspace Type 5 Info
+ EArmObjPsdInfo, ///< 49 - P-State Dependency (PSD) Info
EArmObjMax
} EARM_OBJECT_ID;
@@ -1297,6 +1298,15 @@ typedef struct CmArmPccSubspaceType5Info {
PCC_MAILBOX_REGISTER_INFO ErrorStatusReg;
} CM_ARM_PCC_SUBSPACE_TYPE5_INFO;
+/** A structure that describes a
+ P-State Dependency (PSD) Info.
+
+ Cf. ACPI 6.4, s8.4.5.5 _PSD (P-State Dependency).
+
+ ID: EArmObjPsdInfo
+*/
+typedef AML_PSD_INFO CM_ARM_PSD_INFO;
+
#pragma pack()
#endif // ARM_NAMESPACE_OBJECTS_H_
diff --git a/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c b/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c
index 99d6032510a5..c8c2554a9f44 100644
--- a/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c
+++ b/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c
@@ -637,6 +637,15 @@ STATIC CONST CM_OBJ_PARSER CmArmPccSubspaceType5InfoParser[] = {
ARRAY_SIZE (CmArmMailboxRegisterInfoParser) },
};
+/** A parser for EArmObjPsdInfo.
+*/
+STATIC CONST CM_OBJ_PARSER CmArmPsdInfoParser[] = {
+ { "Revision", 1, "0x%llx", NULL },
+ { "DomainId", 4, "0x%x", NULL },
+ { "CoordType", 4, "0x%x", NULL },
+ { "NumProc", 4, "0x%x", NULL },
+};
+
/** A parser for Arm namespace objects.
*/
STATIC CONST CM_OBJ_PARSER_ARRAY ArmNamespaceObjectParser[] = {
@@ -733,6 +742,8 @@ STATIC CONST CM_OBJ_PARSER_ARRAY ArmNamespaceObjectParser[] = {
ARRAY_SIZE (CmArmPccSubspaceType34InfoParser) },
{ "EArmObjPccSubspaceType5Info", CmArmPccSubspaceType5InfoParser,
ARRAY_SIZE (CmArmPccSubspaceType5InfoParser) },
+ { "EArmObjCpcInfo", CmArmPsdInfoParser,
+ ARRAY_SIZE (CmArmPsdInfoParser) },
{ "EArmObjMax", NULL, 0 },
};
--
2.25.1
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#104121): https://edk2.groups.io/g/devel/message/104121
Mute This Topic: https://groups.io/mt/98705056/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-
More information about the edk2-devel-archive
mailing list