From db4496d30a4a48e7c3aceb742cc681b2cc50da64 Mon Sep 17 00:00:00 2001 From: Sami Mujawar Date: Mon, 11 Mar 2024 15:11:36 +0000 Subject: DynamicTablesPkg: Move PCC Type0 info to Arch Common Move the PCC Subspace Type0 info object from Arm Namespace to the Arch Common namespace. Correspondingly also update the following modules to reflect the changes introduced by the move: - PCCT generator - ConfigurationManagerObjectParser - Dynamic Plat Repo TokenFixer map. Cc: Pierre Gondois Cc: Yeo Reum Yun Cc: AbdulLateef Attar Cc: Jeshua Smith Cc: Jeff Brasen Cc: Girish Mahadevan Cc: Leif Lindholm Cc: Meenakshi Aggarwal Signed-off-by: Sami Mujawar Signed-off-by: Pierre Gondois Reviewed-by: Sunil V L --- .../Include/ArchCommonNameSpaceObjects.h | 8 ++ DynamicTablesPkg/Include/ArmNameSpaceObjects.h | 22 ++--- .../Acpi/Arm/AcpiPcctLibArm/PcctGenerator.c | 104 +++++++++++---------- .../Acpi/Arm/AcpiPcctLibArm/PcctGenerator.h | 5 +- .../Common/DynamicPlatRepoLib/CmObjectTokenFixer.c | 13 ++- .../ConfigurationManagerObjectParser.c | 22 ++--- DynamicTablesPkg/Readme.md | 16 ++-- 7 files changed, 96 insertions(+), 94 deletions(-) (limited to 'DynamicTablesPkg') diff --git a/DynamicTablesPkg/Include/ArchCommonNameSpaceObjects.h b/DynamicTablesPkg/Include/ArchCommonNameSpaceObjects.h index e21e2ca4e0..4ce2d7b48e 100644 --- a/DynamicTablesPkg/Include/ArchCommonNameSpaceObjects.h +++ b/DynamicTablesPkg/Include/ArchCommonNameSpaceObjects.h @@ -39,6 +39,7 @@ typedef enum ArchCommonObjectID { EArchCommonObjProcHierarchyInfo, ///< 16 - Processor Hierarchy Info EArchCommonObjCacheInfo, ///< 17 - Cache Info EArchCommonObjCpcInfo, ///< 18 - Continuous Performance Control Info + EArchCommonObjPccSubspaceType0Info, ///< 19 - Pcc Subspace Type 0 Info EArchCommonObjMax } EARCH_COMMON_OBJECT_ID; @@ -523,6 +524,13 @@ typedef struct PccSubspaceGenericInfo { PCC_SUBSPACE_CHANNEL_TIMING_INFO ChannelTiming; } PCC_SUBSPACE_GENERIC_INFO; +/** A structure that describes a + PCC Subspace of type 0 (Generic). + + ID: EArchCommonObjPccSubspaceType0Info +*/ +typedef PCC_SUBSPACE_GENERIC_INFO CM_ARCH_COMMON_PCC_SUBSPACE_TYPE0_INFO; + #pragma pack() #endif // ARCH_COMMON_NAMESPACE_OBJECTS_H_ diff --git a/DynamicTablesPkg/Include/ArmNameSpaceObjects.h b/DynamicTablesPkg/Include/ArmNameSpaceObjects.h index e9a2cb0fe6..a28415c776 100644 --- a/DynamicTablesPkg/Include/ArmNameSpaceObjects.h +++ b/DynamicTablesPkg/Include/ArmNameSpaceObjects.h @@ -51,14 +51,13 @@ typedef enum ArmObjectID { EArmObjCmn600Info, ///< 20 - CMN-600 Info EArmObjRmr, ///< 21 - Reserved Memory Range Node EArmObjMemoryRangeDescriptor, ///< 22 - Memory Range Descriptor - 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 + EArmObjPccSubspaceType1Info, ///< 23 - Pcc Subspace Type 2 Info + EArmObjPccSubspaceType2Info, ///< 24 - Pcc Subspace Type 2 Info + EArmObjPccSubspaceType3Info, ///< 25 - Pcc Subspace Type 3 Info + EArmObjPccSubspaceType4Info, ///< 26 - Pcc Subspace Type 4 Info + EArmObjPccSubspaceType5Info, ///< 27 - Pcc Subspace Type 5 Info + EArmObjEtInfo, ///< 28 - Embedded Trace Extension/Module Info + EArmObjPsdInfo, ///< 29 - P-State Dependency (PSD) Info EArmObjMax } EARM_OBJECT_ID; @@ -714,13 +713,6 @@ typedef struct CmArmRmrDescriptor { UINT64 Length; } CM_ARM_MEMORY_RANGE_DESCRIPTOR; -/** A structure that describes a - PCC Subspace of type 0 (Generic). - - ID: EArmObjPccSubspaceType0Info -*/ -typedef PCC_SUBSPACE_GENERIC_INFO CM_ARM_PCC_SUBSPACE_TYPE0_INFO; - /** A structure that describes a PCC Subspace of type 1 (HW-Reduced). diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiPcctLibArm/PcctGenerator.c b/DynamicTablesPkg/Library/Acpi/Arm/AcpiPcctLibArm/PcctGenerator.c index 36caf4aaea..575ab31f7f 100644 --- a/DynamicTablesPkg/Library/Acpi/Arm/AcpiPcctLibArm/PcctGenerator.c +++ b/DynamicTablesPkg/Library/Acpi/Arm/AcpiPcctLibArm/PcctGenerator.c @@ -29,7 +29,7 @@ Requirements: The following Configuration Manager Object(s) are required by this Generator: - - EArmObjPccSubspaceType0Info + - EArchCommonObjPccSubspaceType0Info - EArmObjPccSubspaceType1Info - EArmObjPccSubspaceType2Info - EArmObjPccSubspaceType3Info @@ -41,9 +41,9 @@ Requirements: Subspace of Type 0 Information from the Configuration Manager. */ GET_OBJECT_LIST ( - EObjNameSpaceArm, - EArmObjPccSubspaceType0Info, - CM_ARM_PCC_SUBSPACE_TYPE0_INFO + EObjNameSpaceArchCommon, + EArchCommonObjPccSubspaceType0Info, + CM_ARCH_COMMON_PCC_SUBSPACE_TYPE0_INFO ); /** This macro expands to a function that retrieves the PCC @@ -164,11 +164,12 @@ MappingTableFree ( } } -/** Add a new entry for CmArmPccSubspace at Index. +/** Add a new entry for PccSubspace at Index. @param [in] MappingTable The mapping table structure. - @param [in] CmArmPccSubspace Pointer to a CM_ARM_PCC_SUBSPACE_TYPE[X]_INFO. - @param [in] Index Index at which CmArmPccSubspace must be added. + @param [in] PccSubspace A pointer to + CM_[ARM|ARCH_COMMON]_PCC_SUBSPACE_TYPE[X]_INFO. + @param [in] Index Index at which PccSubspace must be added. This is the Subspace Id. @retval EFI_SUCCESS Success. @@ -180,13 +181,13 @@ EFI_STATUS EFIAPI MappingTableAdd ( IN MAPPING_TABLE *MappingTable, - IN VOID *CmArmPccSubspace, + IN VOID *PccSubspace, IN UINT32 Index ) { if ((MappingTable == NULL) || (MappingTable->Table == NULL) || - (CmArmPccSubspace == NULL)) + (PccSubspace == NULL)) { ASSERT_EFI_ERROR (EFI_INVALID_PARAMETER); return EFI_INVALID_PARAMETER; @@ -200,14 +201,15 @@ MappingTableAdd ( } // Just map the Pcc Subspace in the Table. - MappingTable->Table[Index] = CmArmPccSubspace; + MappingTable->Table[Index] = PccSubspace; return EFI_SUCCESS; } /** Parse the CmPccArray objects and add them to the MappingTable. @param [in] MappingTable The mapping table structure. - @param [in] CmPccArray Pointer to an array of CM_ARM_PCC_SUBSPACE_TYPE[X]_INFO. + @param [in] CmPccArray Pointer to an array of + CM_[ARM|ARCH_COMMON]_PCC_SUBSPACE_TYPE[X]_INFO. @param [in] CmPccCount Count of objects in CmPccArray. @retval EFI_SUCCESS Success. @@ -242,7 +244,7 @@ MapPccSubspaceId ( switch (GenericPcc->Type) { case EFI_ACPI_6_4_PCCT_SUBSPACE_TYPE_GENERIC: - CmObjSize = sizeof (CM_ARM_PCC_SUBSPACE_TYPE0_INFO); + CmObjSize = sizeof (CM_ARCH_COMMON_PCC_SUBSPACE_TYPE0_INFO); break; case EFI_ACPI_6_4_PCCT_SUBSPACE_TYPE_1_HW_REDUCED_COMMUNICATIONS: @@ -304,8 +306,8 @@ STATIC EFI_STATUS EFIAPI AddSubspaceStructType0 ( - IN CM_ARM_PCC_SUBSPACE_TYPE0_INFO *PccCmObj, - IN EFI_ACPI_6_4_PCCT_SUBSPACE_GENERIC *PccAcpi + IN CM_ARCH_COMMON_PCC_SUBSPACE_TYPE0_INFO *PccCmObj, + IN EFI_ACPI_6_4_PCCT_SUBSPACE_GENERIC *PccAcpi ) { PCC_MAILBOX_REGISTER_INFO *Doorbell; @@ -360,11 +362,11 @@ AddSubspaceStructType1 ( IN EFI_ACPI_6_4_PCCT_SUBSPACE_1_HW_REDUCED_COMMUNICATIONS *PccAcpi ) { - CM_ARM_PCC_SUBSPACE_TYPE0_INFO *GenericPccCmObj; - PCC_MAILBOX_REGISTER_INFO *Doorbell; - PCC_SUBSPACE_CHANNEL_TIMING_INFO *ChannelTiming; + CM_ARCH_COMMON_PCC_SUBSPACE_TYPE0_INFO *GenericPccCmObj; + PCC_MAILBOX_REGISTER_INFO *Doorbell; + PCC_SUBSPACE_CHANNEL_TIMING_INFO *ChannelTiming; - GenericPccCmObj = (CM_ARM_PCC_SUBSPACE_TYPE0_INFO *)PccCmObj; + GenericPccCmObj = (CM_ARCH_COMMON_PCC_SUBSPACE_TYPE0_INFO *)PccCmObj; if ((PccCmObj == NULL) || (GenericPccCmObj->Type != EFI_ACPI_6_4_PCCT_SUBSPACE_TYPE_1_HW_REDUCED_COMMUNICATIONS) || @@ -420,12 +422,12 @@ AddSubspaceStructType2 ( IN EFI_ACPI_6_4_PCCT_SUBSPACE_2_HW_REDUCED_COMMUNICATIONS *PccAcpi ) { - CM_ARM_PCC_SUBSPACE_TYPE0_INFO *GenericPccCmObj; - PCC_MAILBOX_REGISTER_INFO *Doorbell; - PCC_MAILBOX_REGISTER_INFO *PlatIrqAck; - PCC_SUBSPACE_CHANNEL_TIMING_INFO *ChannelTiming; + CM_ARCH_COMMON_PCC_SUBSPACE_TYPE0_INFO *GenericPccCmObj; + PCC_MAILBOX_REGISTER_INFO *Doorbell; + PCC_MAILBOX_REGISTER_INFO *PlatIrqAck; + PCC_SUBSPACE_CHANNEL_TIMING_INFO *ChannelTiming; - GenericPccCmObj = (CM_ARM_PCC_SUBSPACE_TYPE0_INFO *)PccCmObj; + GenericPccCmObj = (CM_ARCH_COMMON_PCC_SUBSPACE_TYPE0_INFO *)PccCmObj; if ((PccCmObj == NULL) || (GenericPccCmObj->Type != EFI_ACPI_6_4_PCCT_SUBSPACE_TYPE_2_HW_REDUCED_COMMUNICATIONS) || @@ -491,15 +493,15 @@ AddSubspaceStructType34 ( IN EFI_ACPI_6_4_PCCT_SUBSPACE_3_EXTENDED_PCC *PccAcpi ) { - CM_ARM_PCC_SUBSPACE_TYPE0_INFO *GenericPccCmObj; - PCC_MAILBOX_REGISTER_INFO *Doorbell; - PCC_MAILBOX_REGISTER_INFO *PlatIrqAck; - PCC_MAILBOX_REGISTER_INFO *CmdCompleteCheck; - PCC_MAILBOX_REGISTER_INFO *CmdCompleteUpdate; - PCC_MAILBOX_REGISTER_INFO *ErrorStatus; - PCC_SUBSPACE_CHANNEL_TIMING_INFO *ChannelTiming; + CM_ARCH_COMMON_PCC_SUBSPACE_TYPE0_INFO *GenericPccCmObj; + PCC_MAILBOX_REGISTER_INFO *Doorbell; + PCC_MAILBOX_REGISTER_INFO *PlatIrqAck; + PCC_MAILBOX_REGISTER_INFO *CmdCompleteCheck; + PCC_MAILBOX_REGISTER_INFO *CmdCompleteUpdate; + PCC_MAILBOX_REGISTER_INFO *ErrorStatus; + PCC_SUBSPACE_CHANNEL_TIMING_INFO *ChannelTiming; - GenericPccCmObj = (CM_ARM_PCC_SUBSPACE_TYPE0_INFO *)PccCmObj; + GenericPccCmObj = (CM_ARCH_COMMON_PCC_SUBSPACE_TYPE0_INFO *)PccCmObj; if ((PccCmObj == NULL) || ((GenericPccCmObj->Type != EFI_ACPI_6_4_PCCT_SUBSPACE_TYPE_3_EXTENDED_PCC) && @@ -603,13 +605,13 @@ AddSubspaceStructType5 ( IN EFI_ACPI_6_4_PCCT_SUBSPACE_5_HW_REGISTERS_COMMUNICATIONS *PccAcpi ) { - CM_ARM_PCC_SUBSPACE_TYPE0_INFO *GenericPccCmObj; - PCC_MAILBOX_REGISTER_INFO *Doorbell; - PCC_MAILBOX_REGISTER_INFO *CmdCompleteCheck; - PCC_MAILBOX_REGISTER_INFO *ErrorStatus; - PCC_SUBSPACE_CHANNEL_TIMING_INFO *ChannelTiming; + CM_ARCH_COMMON_PCC_SUBSPACE_TYPE0_INFO *GenericPccCmObj; + PCC_MAILBOX_REGISTER_INFO *Doorbell; + PCC_MAILBOX_REGISTER_INFO *CmdCompleteCheck; + PCC_MAILBOX_REGISTER_INFO *ErrorStatus; + PCC_SUBSPACE_CHANNEL_TIMING_INFO *ChannelTiming; - GenericPccCmObj = (CM_ARM_PCC_SUBSPACE_TYPE0_INFO *)PccCmObj; + GenericPccCmObj = (CM_ARCH_COMMON_PCC_SUBSPACE_TYPE0_INFO *)PccCmObj; if ((PccCmObj == NULL) || (GenericPccCmObj->Type != EFI_ACPI_6_4_PCCT_SUBSPACE_TYPE_5_HW_REGISTERS_COMMUNICATIONS) || @@ -705,7 +707,7 @@ PopulatePcctTable ( switch (((PCC_SUBSPACE_GENERIC_INFO *)CurrentPccSubspace)->Type) { case EFI_ACPI_6_4_PCCT_SUBSPACE_TYPE_GENERIC: Status = AddSubspaceStructType0 ( - (CM_ARM_PCC_SUBSPACE_TYPE0_INFO *)CurrentPccSubspace, + (CM_ARCH_COMMON_PCC_SUBSPACE_TYPE0_INFO *)CurrentPccSubspace, (EFI_ACPI_6_4_PCCT_SUBSPACE_GENERIC *)PccBuffer ); @@ -822,18 +824,18 @@ BuildPcctTable ( MAPPING_TABLE *MappingTable; UINT32 MappingTableCount; - CM_ARM_PCC_SUBSPACE_TYPE0_INFO *PccType0; - UINT32 PccType0Count; - CM_ARM_PCC_SUBSPACE_TYPE1_INFO *PccType1; - UINT32 PccType1Count; - CM_ARM_PCC_SUBSPACE_TYPE2_INFO *PccType2; - UINT32 PccType2Count; - CM_ARM_PCC_SUBSPACE_TYPE3_INFO *PccType3; - UINT32 PccType3Count; - CM_ARM_PCC_SUBSPACE_TYPE4_INFO *PccType4; - UINT32 PccType4Count; - CM_ARM_PCC_SUBSPACE_TYPE5_INFO *PccType5; - UINT32 PccType5Count; + CM_ARCH_COMMON_PCC_SUBSPACE_TYPE0_INFO *PccType0; + UINT32 PccType0Count; + CM_ARM_PCC_SUBSPACE_TYPE1_INFO *PccType1; + UINT32 PccType1Count; + CM_ARM_PCC_SUBSPACE_TYPE2_INFO *PccType2; + UINT32 PccType2Count; + CM_ARM_PCC_SUBSPACE_TYPE3_INFO *PccType3; + UINT32 PccType3Count; + CM_ARM_PCC_SUBSPACE_TYPE4_INFO *PccType4; + UINT32 PccType4Count; + CM_ARM_PCC_SUBSPACE_TYPE5_INFO *PccType5; + UINT32 PccType5Count; ASSERT (This != NULL); ASSERT (AcpiTableInfo != NULL); @@ -863,7 +865,7 @@ BuildPcctTable ( // First get all the Pcc Subpace CmObj of type X. - Status = GetEArmObjPccSubspaceType0Info ( + Status = GetEArchCommonObjPccSubspaceType0Info ( CfgMgrProtocol, CM_NULL_TOKEN, &PccType0, diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiPcctLibArm/PcctGenerator.h b/DynamicTablesPkg/Library/Acpi/Arm/AcpiPcctLibArm/PcctGenerator.h index 0631a1f5b7..e1bca78c2f 100644 --- a/DynamicTablesPkg/Library/Acpi/Arm/AcpiPcctLibArm/PcctGenerator.h +++ b/DynamicTablesPkg/Library/Acpi/Arm/AcpiPcctLibArm/PcctGenerator.h @@ -19,7 +19,7 @@ */ typedef struct MappingTable { /// Mapping table for Subspace Ids. - /// Subspace ID/Index <-> CM_ARM_PCC_SUBSPACE_TYPE[X]_INFO pointer + /// Subspace ID/Index <-> CM_[ARM|ARCH_COMMON]_PCC_SUBSPACE_TYPE[X]_INFO pointer VOID **Table; /// Number of entries in the Table. @@ -34,7 +34,8 @@ typedef struct AcpiPcctGenerator { // Private fields are defined from here. - /// Table to map: Subspace ID/Index <-> CM_ARM_PCC_SUBSPACE_TYPE[X]_INFO pointer + /// Table to map: + /// Subspace ID/Index <-> CM_[ARM|ARCH_COMMON]_PCC_SUBSPACE_TYPE[X]_INFO pointer MAPPING_TABLE MappingTable; } ACPI_PCCT_GENERATOR; diff --git a/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/CmObjectTokenFixer.c b/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/CmObjectTokenFixer.c index 68db478c57..1691e6015b 100644 --- a/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/CmObjectTokenFixer.c +++ b/DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/CmObjectTokenFixer.c @@ -166,14 +166,13 @@ CM_OBJECT_TOKEN_FIXER TokenFixer[EArmObjMax] = { NULL, ///< 20 - CMN-600 Info NULL, ///< 21 - Reserved Memory Range Node NULL, ///< 22 - Memory Range Descriptor - NULL, ///< 23 - Pcc Subspace Type 0 Info + NULL, ///< 23 - Pcc Subspace Type 2 Info NULL, ///< 24 - Pcc Subspace Type 2 Info - NULL, ///< 25 - Pcc Subspace Type 2 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 + NULL, ///< 25 - Pcc Subspace Type 3 Info + NULL, ///< 26 - Pcc Subspace Type 4 Info + NULL, ///< 27 - Pcc Subspace Type 5 Info + NULL, ///< 28 - Embedded Trace Extension/Module Info + NULL ///< 29 - 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 54ecc66c5b..e071fa460a 100644 --- a/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c +++ b/DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationManagerObjectParser.c @@ -574,9 +574,9 @@ STATIC CONST CM_OBJ_PARSER CmArmPccSubspaceChannelTimingInfoParser[] = { { "MinRequestTurnaroundTime", 2, "0x%x", NULL }, }; -/** A parser for EArmObjPccSubspaceType0Info. +/** A parser for EArchCommonObjPccSubspaceType0Info. */ -STATIC CONST CM_OBJ_PARSER CmArmPccSubspaceType0InfoParser[] = { +STATIC CONST CM_OBJ_PARSER CmArchCommonPccSubspaceType0InfoParser[] = { { "SubspaceId", 1, "0x%x", NULL }, { "Type", 1, "0x%x", NULL }, { "BaseAddress", 8, "0x%llx", NULL }, @@ -593,8 +593,8 @@ STATIC CONST CM_OBJ_PARSER CmArmPccSubspaceType0InfoParser[] = { */ STATIC CONST CM_OBJ_PARSER CmArmPccSubspaceType1InfoParser[] = { { "GenericPccInfo", sizeof (PCC_SUBSPACE_GENERIC_INFO), - NULL, NULL, CmArmPccSubspaceType0InfoParser, - ARRAY_SIZE (CmArmPccSubspaceType0InfoParser) }, + NULL, NULL, CmArchCommonPccSubspaceType0InfoParser, + ARRAY_SIZE (CmArchCommonPccSubspaceType0InfoParser) }, { "PlatIrq", sizeof (CM_ARCH_COMMON_GENERIC_INTERRUPT), NULL, NULL, CmArchCommonGenericInterruptParser, ARRAY_SIZE (CmArchCommonGenericInterruptParser) }, @@ -604,8 +604,8 @@ STATIC CONST CM_OBJ_PARSER CmArmPccSubspaceType1InfoParser[] = { */ STATIC CONST CM_OBJ_PARSER CmArmPccSubspaceType2InfoParser[] = { { "GenericPccInfo", sizeof (PCC_SUBSPACE_GENERIC_INFO), - NULL, NULL, CmArmPccSubspaceType0InfoParser, - ARRAY_SIZE (CmArmPccSubspaceType0InfoParser) }, + NULL, NULL, CmArchCommonPccSubspaceType0InfoParser, + ARRAY_SIZE (CmArchCommonPccSubspaceType0InfoParser) }, { "PlatIrq", sizeof (CM_ARCH_COMMON_GENERIC_INTERRUPT),NULL,NULL, CmArchCommonGenericInterruptParser, ARRAY_SIZE (CmArchCommonGenericInterruptParser) }, { "PlatIrqAckReg", sizeof (PCC_MAILBOX_REGISTER_INFO), @@ -617,8 +617,8 @@ STATIC CONST CM_OBJ_PARSER CmArmPccSubspaceType2InfoParser[] = { */ STATIC CONST CM_OBJ_PARSER CmArmPccSubspaceType34InfoParser[] = { { "GenericPccInfo", sizeof (PCC_SUBSPACE_GENERIC_INFO), - NULL, NULL, CmArmPccSubspaceType0InfoParser, - ARRAY_SIZE (CmArmPccSubspaceType0InfoParser) }, + NULL, NULL, CmArchCommonPccSubspaceType0InfoParser, + ARRAY_SIZE (CmArchCommonPccSubspaceType0InfoParser) }, { "PlatIrq", sizeof (CM_ARCH_COMMON_GENERIC_INTERRUPT),NULL,NULL, CmArchCommonGenericInterruptParser, ARRAY_SIZE (CmArchCommonGenericInterruptParser) }, { "PlatIrqAckReg", sizeof (PCC_MAILBOX_REGISTER_INFO), @@ -639,8 +639,8 @@ STATIC CONST CM_OBJ_PARSER CmArmPccSubspaceType34InfoParser[] = { */ STATIC CONST CM_OBJ_PARSER CmArmPccSubspaceType5InfoParser[] = { { "GenericPccInfo", sizeof (PCC_SUBSPACE_GENERIC_INFO), - NULL, NULL, CmArmPccSubspaceType0InfoParser, - ARRAY_SIZE (CmArmPccSubspaceType0InfoParser) }, + NULL, NULL, CmArchCommonPccSubspaceType0InfoParser, + ARRAY_SIZE (CmArchCommonPccSubspaceType0InfoParser) }, { "Version", 2, "0x%x",NULL }, { "PlatIrq", sizeof (CM_ARCH_COMMON_GENERIC_INTERRUPT),NULL, NULL, CmArchCommonGenericInterruptParser, ARRAY_SIZE (CmArchCommonGenericInterruptParser) }, @@ -689,6 +689,7 @@ STATIC CONST CM_OBJ_PARSER_ARRAY ArchCommonNamespaceObjectParser[] = { CM_PARSER_ADD_OBJECT (EArchCommonObjProcHierarchyInfo, CmArchCommonProcHierarchyInfoParser), CM_PARSER_ADD_OBJECT (EArchCommonObjCacheInfo, CmArchCommonCacheInfoParser), CM_PARSER_ADD_OBJECT (EArchCommonObjCpcInfo, CmArchCommonCpcInfoParser), + CM_PARSER_ADD_OBJECT (EArchCommonObjPccSubspaceType0Info, CmArchCommonPccSubspaceType0InfoParser), CM_PARSER_ADD_OBJECT_RESERVED (EArchCommonObjMax) }; @@ -718,7 +719,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 (EArmObjPccSubspaceType0Info, CmArmPccSubspaceType0InfoParser), CM_PARSER_ADD_OBJECT (EArmObjPccSubspaceType1Info, CmArmPccSubspaceType1InfoParser), CM_PARSER_ADD_OBJECT (EArmObjPccSubspaceType2Info, CmArmPccSubspaceType2InfoParser), CM_PARSER_ADD_OBJECT (EArmObjPccSubspaceType3Info, CmArmPccSubspaceType34InfoParser), diff --git a/DynamicTablesPkg/Readme.md b/DynamicTablesPkg/Readme.md index 8ac9d126b8..9994220359 100644 --- a/DynamicTablesPkg/Readme.md +++ b/DynamicTablesPkg/Readme.md @@ -463,14 +463,13 @@ 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 | 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 | +| 23 | Pcc Subspace Type 1 Info | Move to Arch Common NS | +| 24 | Pcc Subspace Type 2 Info | Move to Arch Common NS | +| 25 | Pcc Subspace Type 3 Info | Move to Arch Common NS | +| 26 | Pcc Subspace Type 4 Info | Move to Arch Common NS | +| 27 | Pcc Subspace Type 5 Info | Move to Arch Common NS | +| 28 | Embedded Trace Extension/Module Info | | +| 29 | P-State Dependency (PSD) Info | Move to Arch Common NS | | `*` | All other values are reserved. | | #### Object ID's in the Arch Common Namespace: @@ -496,5 +495,6 @@ The CM_OBJECT_ID type is used to identify the Configuration Manager | 16 | Processor Hierarchy Info | | | 17 | Cache Info | | | 18 | Continuous Performance Control Info | | +| 19 | Pcc Subspace Type 0 Info | | | `*` | All other values are reserved. | | -- cgit v1.2.3