From: Pierre Gondois <pierre.gond...@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.gond...@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 22b8fdb90606..b3ee12da8c4f 100644 --- a/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c +++ b/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c @@ -661,6 +661,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[] = { @@ -757,6 +766,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 (#110042): https://edk2.groups.io/g/devel/message/110042 Mute This Topic: https://groups.io/mt/102175816/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-