DynamicTablesPkg: Move PSD info to Arch Common

Move the PSD info object from Arm Namespace to the Arch Common
namespace.

Correspondingly also update the following modules to reflect the
changes introduced by the move:
 - SSDT CPU topology generator
 - ConfigurationManagerObjectParser
 - Dynamic Plat Repo TokenFixer map.

Cc: Pierre Gondois <Pierre.Gondois@arm.com>
Cc: Yeo Reum Yun <YeoReum.Yun@arm.com>
Cc: AbdulLateef Attar <AbdulLateef.Attar@amd.com>
Cc: Jeshua Smith <jeshuas@nvidia.com>
Cc: Jeff Brasen <jbrasen@nvidia.com>
Cc: Girish Mahadevan <gmahadevan@nvidia.com>
Cc: Leif Lindholm <quic_llindhol@quicinc.com>
Cc: Meenakshi Aggarwal <meenakshi.aggarwal@nxp.com>
Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
Signed-off-by: Pierre Gondois <pierre.gondois@arm.com>
Reviewed-by: Sunil V L <sunilvl@ventanamicro.com>
This commit is contained in:
Sami Mujawar 2024-03-11 15:50:37 +00:00 committed by mergify[bot]
parent 6466a6e63e
commit fb6a7147f3
6 changed files with 23 additions and 24 deletions

View File

@ -45,6 +45,7 @@ typedef enum ArchCommonObjectID {
EArchCommonObjPccSubspaceType3Info, ///< 22 - Pcc Subspace Type 3 Info
EArchCommonObjPccSubspaceType4Info, ///< 23 - Pcc Subspace Type 4 Info
EArchCommonObjPccSubspaceType5Info, ///< 24 - Pcc Subspace Type 5 Info
EArchCommonObjPsdInfo, ///< 25 - P-State Dependency (PSD) Info
EArchCommonObjMax
} EARCH_COMMON_OBJECT_ID;
@ -642,6 +643,15 @@ typedef struct CmArchCommonPccSubspaceType5Info {
PCC_MAILBOX_REGISTER_INFO ErrorStatusReg;
} CM_ARCH_COMMON_PCC_SUBSPACE_TYPE5_INFO;
/** A structure that describes a
P-State Dependency (PSD) Info.
Cf. ACPI 6.5, s8.4.5.5 _PSD (P-State Dependency).
ID: EArchCommonObjPsdInfo
*/
typedef AML_PSD_INFO CM_ARCH_COMMON_PSD_INFO;
#pragma pack()
#endif // ARCH_COMMON_NAMESPACE_OBJECTS_H_

View File

@ -52,7 +52,6 @@ typedef enum ArmObjectID {
EArmObjRmr, ///< 21 - Reserved Memory Range Node
EArmObjMemoryRangeDescriptor, ///< 22 - Memory Range Descriptor
EArmObjEtInfo, ///< 23 - Embedded Trace Extension/Module Info
EArmObjPsdInfo, ///< 24 - P-State Dependency (PSD) Info
EArmObjMax
} EARM_OBJECT_ID;
@ -188,7 +187,7 @@ typedef struct CmArmGicCInfo {
CM_OBJECT_TOKEN EtToken;
/** Optional field: Reference Token for the Psd info of this processor.
i.e. a token referencing a CM_ARM_PSD_INFO object.
i.e. a token referencing a CM_ARCH_COMMON_PSD_INFO object.
*/
CM_OBJECT_TOKEN PsdToken;
} CM_ARM_GICC_INFO;
@ -724,15 +723,6 @@ typedef struct CmArmEtInfo {
ARM_ET_TYPE EtType;
} CM_ARM_ET_INFO;
/** A structure that describes a
P-State Dependency (PSD) Info.
Cf. ACPI 6.5, 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_

View File

@ -42,7 +42,7 @@ Requirements:
- EArchCommonObjCmRef (OPTIONAL)
- EArchCommonObjLpiInfo (OPTIONAL)
- GetEArmObjEtInfo (OPTIONAL)
- EArmObjPsdInfo (OPTIONAL)
- EArchCommonObjPsdInfo (OPTIONAL)
*/
/** This macro expands to a function that retrieves the GIC
@ -109,9 +109,9 @@ GET_OBJECT_LIST (
information from the Configuration Manager.
*/
GET_OBJECT_LIST (
EObjNameSpaceArm,
EArmObjPsdInfo,
CM_ARM_PSD_INFO
EObjNameSpaceArchCommon,
EArchCommonObjPsdInfo,
CM_ARCH_COMMON_PSD_INFO
);
/** Initialize the TokenTable.
@ -313,10 +313,10 @@ CreateAmlPsdNode (
IN AML_OBJECT_NODE_HANDLE *Node
)
{
EFI_STATUS Status;
CM_ARM_PSD_INFO *PsdInfo;
EFI_STATUS Status;
CM_ARCH_COMMON_PSD_INFO *PsdInfo;
Status = GetEArmObjPsdInfo (
Status = GetEArchCommonObjPsdInfo (
CfgMgrProtocol,
GicCInfo->PsdToken,
&PsdInfo,

View File

@ -166,8 +166,7 @@ CM_OBJECT_TOKEN_FIXER TokenFixer[EArmObjMax] = {
NULL, ///< 20 - CMN-600 Info
NULL, ///< 21 - Reserved Memory Range Node
NULL, ///< 22 - Memory Range Descriptor
NULL, ///< 23 - Embedded Trace Extension/Module Info
NULL ///< 24 - P-State Dependency (PSD) Info
NULL ///< 23 - Embedded Trace Extension/Module Info
};
/** CmObj token fixer.

View File

@ -658,9 +658,9 @@ STATIC CONST CM_OBJ_PARSER CmArmEtInfo[] = {
{ "EtType", sizeof (ARM_ET_TYPE), "0x%x", NULL }
};
/** A parser for EArmObjPsdInfo.
/** A parser for EArchCommonObjPsdInfo.
*/
STATIC CONST CM_OBJ_PARSER CmArmPsdInfoParser[] = {
STATIC CONST CM_OBJ_PARSER CmArchCommonPsdInfoParser[] = {
{ "Revision", 1, "0x%x", NULL },
{ "DomainId", 4, "0x%x", NULL },
{ "CoordType", 4, "0x%x", NULL },
@ -695,6 +695,7 @@ STATIC CONST CM_OBJ_PARSER_ARRAY ArchCommonNamespaceObjectParser[] = {
CM_PARSER_ADD_OBJECT (EArchCommonObjPccSubspaceType3Info, CmArchCommonPccSubspaceType34InfoParser),
CM_PARSER_ADD_OBJECT (EArchCommonObjPccSubspaceType4Info, CmArchCommonPccSubspaceType34InfoParser),
CM_PARSER_ADD_OBJECT (EArchCommonObjPccSubspaceType5Info, CmArchCommonPccSubspaceType5InfoParser),
CM_PARSER_ADD_OBJECT (EArchCommonObjPsdInfo, CmArchCommonPsdInfoParser),
CM_PARSER_ADD_OBJECT_RESERVED (EArchCommonObjMax)
};
@ -725,7 +726,6 @@ STATIC CONST CM_OBJ_PARSER_ARRAY ArmNamespaceObjectParser[] = {
CM_PARSER_ADD_OBJECT (EArmObjRmr, CmArmRmrInfoParser),
CM_PARSER_ADD_OBJECT (EArmObjMemoryRangeDescriptor, CmArmMemoryRangeDescriptorInfoParser),
CM_PARSER_ADD_OBJECT (EArmObjEtInfo, CmArmEtInfo),
CM_PARSER_ADD_OBJECT (EArmObjPsdInfo, CmArmPsdInfoParser),
CM_PARSER_ADD_OBJECT_RESERVED (EArmObjMax)
};

View File

@ -464,7 +464,6 @@ The CM_OBJECT_ID type is used to identify the Configuration Manager
| 21 | Reserved Memory Range Node | |
| 22 | Memory Range Descriptor | |
| 23 | Embedded Trace Extension/Module Info | |
| 24 | 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
| 22 | Pcc Subspace Type 3 Info | |
| 23 | Pcc Subspace Type 4 Info | |
| 24 | Pcc Subspace Type 5 Info | |
| 25 | P-State Dependency (PSD) Info | |
| `*` | All other values are reserved. | |