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 <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:
parent
b0ecf17a31
commit
db4496d30a
|
@ -39,6 +39,7 @@ typedef enum ArchCommonObjectID {
|
||||||
EArchCommonObjProcHierarchyInfo, ///< 16 - Processor Hierarchy Info
|
EArchCommonObjProcHierarchyInfo, ///< 16 - Processor Hierarchy Info
|
||||||
EArchCommonObjCacheInfo, ///< 17 - Cache Info
|
EArchCommonObjCacheInfo, ///< 17 - Cache Info
|
||||||
EArchCommonObjCpcInfo, ///< 18 - Continuous Performance Control Info
|
EArchCommonObjCpcInfo, ///< 18 - Continuous Performance Control Info
|
||||||
|
EArchCommonObjPccSubspaceType0Info, ///< 19 - Pcc Subspace Type 0 Info
|
||||||
EArchCommonObjMax
|
EArchCommonObjMax
|
||||||
} EARCH_COMMON_OBJECT_ID;
|
} EARCH_COMMON_OBJECT_ID;
|
||||||
|
|
||||||
|
@ -523,6 +524,13 @@ typedef struct PccSubspaceGenericInfo {
|
||||||
PCC_SUBSPACE_CHANNEL_TIMING_INFO ChannelTiming;
|
PCC_SUBSPACE_CHANNEL_TIMING_INFO ChannelTiming;
|
||||||
} PCC_SUBSPACE_GENERIC_INFO;
|
} 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()
|
#pragma pack()
|
||||||
|
|
||||||
#endif // ARCH_COMMON_NAMESPACE_OBJECTS_H_
|
#endif // ARCH_COMMON_NAMESPACE_OBJECTS_H_
|
||||||
|
|
|
@ -51,14 +51,13 @@ typedef enum ArmObjectID {
|
||||||
EArmObjCmn600Info, ///< 20 - CMN-600 Info
|
EArmObjCmn600Info, ///< 20 - CMN-600 Info
|
||||||
EArmObjRmr, ///< 21 - Reserved Memory Range Node
|
EArmObjRmr, ///< 21 - Reserved Memory Range Node
|
||||||
EArmObjMemoryRangeDescriptor, ///< 22 - Memory Range Descriptor
|
EArmObjMemoryRangeDescriptor, ///< 22 - Memory Range Descriptor
|
||||||
EArmObjPccSubspaceType0Info, ///< 23 - Pcc Subspace Type 0 Info
|
EArmObjPccSubspaceType1Info, ///< 23 - Pcc Subspace Type 2 Info
|
||||||
EArmObjPccSubspaceType1Info, ///< 24 - Pcc Subspace Type 2 Info
|
EArmObjPccSubspaceType2Info, ///< 24 - Pcc Subspace Type 2 Info
|
||||||
EArmObjPccSubspaceType2Info, ///< 25 - Pcc Subspace Type 2 Info
|
EArmObjPccSubspaceType3Info, ///< 25 - Pcc Subspace Type 3 Info
|
||||||
EArmObjPccSubspaceType3Info, ///< 26 - Pcc Subspace Type 3 Info
|
EArmObjPccSubspaceType4Info, ///< 26 - Pcc Subspace Type 4 Info
|
||||||
EArmObjPccSubspaceType4Info, ///< 27 - Pcc Subspace Type 4 Info
|
EArmObjPccSubspaceType5Info, ///< 27 - Pcc Subspace Type 5 Info
|
||||||
EArmObjPccSubspaceType5Info, ///< 28 - Pcc Subspace Type 5 Info
|
EArmObjEtInfo, ///< 28 - Embedded Trace Extension/Module Info
|
||||||
EArmObjEtInfo, ///< 29 - Embedded Trace Extension/Module Info
|
EArmObjPsdInfo, ///< 29 - P-State Dependency (PSD) Info
|
||||||
EArmObjPsdInfo, ///< 30 - P-State Dependency (PSD) Info
|
|
||||||
EArmObjMax
|
EArmObjMax
|
||||||
} EARM_OBJECT_ID;
|
} EARM_OBJECT_ID;
|
||||||
|
|
||||||
|
@ -714,13 +713,6 @@ typedef struct CmArmRmrDescriptor {
|
||||||
UINT64 Length;
|
UINT64 Length;
|
||||||
} CM_ARM_MEMORY_RANGE_DESCRIPTOR;
|
} 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
|
/** A structure that describes a
|
||||||
PCC Subspace of type 1 (HW-Reduced).
|
PCC Subspace of type 1 (HW-Reduced).
|
||||||
|
|
||||||
|
|
|
@ -29,7 +29,7 @@
|
||||||
Requirements:
|
Requirements:
|
||||||
The following Configuration Manager Object(s) are required by
|
The following Configuration Manager Object(s) are required by
|
||||||
this Generator:
|
this Generator:
|
||||||
- EArmObjPccSubspaceType0Info
|
- EArchCommonObjPccSubspaceType0Info
|
||||||
- EArmObjPccSubspaceType1Info
|
- EArmObjPccSubspaceType1Info
|
||||||
- EArmObjPccSubspaceType2Info
|
- EArmObjPccSubspaceType2Info
|
||||||
- EArmObjPccSubspaceType3Info
|
- EArmObjPccSubspaceType3Info
|
||||||
|
@ -41,9 +41,9 @@ Requirements:
|
||||||
Subspace of Type 0 Information from the Configuration Manager.
|
Subspace of Type 0 Information from the Configuration Manager.
|
||||||
*/
|
*/
|
||||||
GET_OBJECT_LIST (
|
GET_OBJECT_LIST (
|
||||||
EObjNameSpaceArm,
|
EObjNameSpaceArchCommon,
|
||||||
EArmObjPccSubspaceType0Info,
|
EArchCommonObjPccSubspaceType0Info,
|
||||||
CM_ARM_PCC_SUBSPACE_TYPE0_INFO
|
CM_ARCH_COMMON_PCC_SUBSPACE_TYPE0_INFO
|
||||||
);
|
);
|
||||||
|
|
||||||
/** This macro expands to a function that retrieves the PCC
|
/** 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] MappingTable The mapping table structure.
|
||||||
@param [in] CmArmPccSubspace Pointer to a CM_ARM_PCC_SUBSPACE_TYPE[X]_INFO.
|
@param [in] PccSubspace A pointer to
|
||||||
@param [in] Index Index at which CmArmPccSubspace must be added.
|
CM_[ARM|ARCH_COMMON]_PCC_SUBSPACE_TYPE[X]_INFO.
|
||||||
|
@param [in] Index Index at which PccSubspace must be added.
|
||||||
This is the Subspace Id.
|
This is the Subspace Id.
|
||||||
|
|
||||||
@retval EFI_SUCCESS Success.
|
@retval EFI_SUCCESS Success.
|
||||||
|
@ -180,13 +181,13 @@ EFI_STATUS
|
||||||
EFIAPI
|
EFIAPI
|
||||||
MappingTableAdd (
|
MappingTableAdd (
|
||||||
IN MAPPING_TABLE *MappingTable,
|
IN MAPPING_TABLE *MappingTable,
|
||||||
IN VOID *CmArmPccSubspace,
|
IN VOID *PccSubspace,
|
||||||
IN UINT32 Index
|
IN UINT32 Index
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
if ((MappingTable == NULL) ||
|
if ((MappingTable == NULL) ||
|
||||||
(MappingTable->Table == NULL) ||
|
(MappingTable->Table == NULL) ||
|
||||||
(CmArmPccSubspace == NULL))
|
(PccSubspace == NULL))
|
||||||
{
|
{
|
||||||
ASSERT_EFI_ERROR (EFI_INVALID_PARAMETER);
|
ASSERT_EFI_ERROR (EFI_INVALID_PARAMETER);
|
||||||
return EFI_INVALID_PARAMETER;
|
return EFI_INVALID_PARAMETER;
|
||||||
|
@ -200,14 +201,15 @@ MappingTableAdd (
|
||||||
}
|
}
|
||||||
|
|
||||||
// Just map the Pcc Subspace in the Table.
|
// Just map the Pcc Subspace in the Table.
|
||||||
MappingTable->Table[Index] = CmArmPccSubspace;
|
MappingTable->Table[Index] = PccSubspace;
|
||||||
return EFI_SUCCESS;
|
return EFI_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Parse the CmPccArray objects and add them to the MappingTable.
|
/** Parse the CmPccArray objects and add them to the MappingTable.
|
||||||
|
|
||||||
@param [in] MappingTable The mapping table structure.
|
@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.
|
@param [in] CmPccCount Count of objects in CmPccArray.
|
||||||
|
|
||||||
@retval EFI_SUCCESS Success.
|
@retval EFI_SUCCESS Success.
|
||||||
|
@ -242,7 +244,7 @@ MapPccSubspaceId (
|
||||||
|
|
||||||
switch (GenericPcc->Type) {
|
switch (GenericPcc->Type) {
|
||||||
case EFI_ACPI_6_4_PCCT_SUBSPACE_TYPE_GENERIC:
|
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;
|
break;
|
||||||
|
|
||||||
case EFI_ACPI_6_4_PCCT_SUBSPACE_TYPE_1_HW_REDUCED_COMMUNICATIONS:
|
case EFI_ACPI_6_4_PCCT_SUBSPACE_TYPE_1_HW_REDUCED_COMMUNICATIONS:
|
||||||
|
@ -304,7 +306,7 @@ STATIC
|
||||||
EFI_STATUS
|
EFI_STATUS
|
||||||
EFIAPI
|
EFIAPI
|
||||||
AddSubspaceStructType0 (
|
AddSubspaceStructType0 (
|
||||||
IN CM_ARM_PCC_SUBSPACE_TYPE0_INFO *PccCmObj,
|
IN CM_ARCH_COMMON_PCC_SUBSPACE_TYPE0_INFO *PccCmObj,
|
||||||
IN EFI_ACPI_6_4_PCCT_SUBSPACE_GENERIC *PccAcpi
|
IN EFI_ACPI_6_4_PCCT_SUBSPACE_GENERIC *PccAcpi
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
|
@ -360,11 +362,11 @@ AddSubspaceStructType1 (
|
||||||
IN EFI_ACPI_6_4_PCCT_SUBSPACE_1_HW_REDUCED_COMMUNICATIONS *PccAcpi
|
IN EFI_ACPI_6_4_PCCT_SUBSPACE_1_HW_REDUCED_COMMUNICATIONS *PccAcpi
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
CM_ARM_PCC_SUBSPACE_TYPE0_INFO *GenericPccCmObj;
|
CM_ARCH_COMMON_PCC_SUBSPACE_TYPE0_INFO *GenericPccCmObj;
|
||||||
PCC_MAILBOX_REGISTER_INFO *Doorbell;
|
PCC_MAILBOX_REGISTER_INFO *Doorbell;
|
||||||
PCC_SUBSPACE_CHANNEL_TIMING_INFO *ChannelTiming;
|
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) ||
|
if ((PccCmObj == NULL) ||
|
||||||
(GenericPccCmObj->Type != EFI_ACPI_6_4_PCCT_SUBSPACE_TYPE_1_HW_REDUCED_COMMUNICATIONS) ||
|
(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
|
IN EFI_ACPI_6_4_PCCT_SUBSPACE_2_HW_REDUCED_COMMUNICATIONS *PccAcpi
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
CM_ARM_PCC_SUBSPACE_TYPE0_INFO *GenericPccCmObj;
|
CM_ARCH_COMMON_PCC_SUBSPACE_TYPE0_INFO *GenericPccCmObj;
|
||||||
PCC_MAILBOX_REGISTER_INFO *Doorbell;
|
PCC_MAILBOX_REGISTER_INFO *Doorbell;
|
||||||
PCC_MAILBOX_REGISTER_INFO *PlatIrqAck;
|
PCC_MAILBOX_REGISTER_INFO *PlatIrqAck;
|
||||||
PCC_SUBSPACE_CHANNEL_TIMING_INFO *ChannelTiming;
|
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) ||
|
if ((PccCmObj == NULL) ||
|
||||||
(GenericPccCmObj->Type != EFI_ACPI_6_4_PCCT_SUBSPACE_TYPE_2_HW_REDUCED_COMMUNICATIONS) ||
|
(GenericPccCmObj->Type != EFI_ACPI_6_4_PCCT_SUBSPACE_TYPE_2_HW_REDUCED_COMMUNICATIONS) ||
|
||||||
|
@ -491,7 +493,7 @@ AddSubspaceStructType34 (
|
||||||
IN EFI_ACPI_6_4_PCCT_SUBSPACE_3_EXTENDED_PCC *PccAcpi
|
IN EFI_ACPI_6_4_PCCT_SUBSPACE_3_EXTENDED_PCC *PccAcpi
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
CM_ARM_PCC_SUBSPACE_TYPE0_INFO *GenericPccCmObj;
|
CM_ARCH_COMMON_PCC_SUBSPACE_TYPE0_INFO *GenericPccCmObj;
|
||||||
PCC_MAILBOX_REGISTER_INFO *Doorbell;
|
PCC_MAILBOX_REGISTER_INFO *Doorbell;
|
||||||
PCC_MAILBOX_REGISTER_INFO *PlatIrqAck;
|
PCC_MAILBOX_REGISTER_INFO *PlatIrqAck;
|
||||||
PCC_MAILBOX_REGISTER_INFO *CmdCompleteCheck;
|
PCC_MAILBOX_REGISTER_INFO *CmdCompleteCheck;
|
||||||
|
@ -499,7 +501,7 @@ AddSubspaceStructType34 (
|
||||||
PCC_MAILBOX_REGISTER_INFO *ErrorStatus;
|
PCC_MAILBOX_REGISTER_INFO *ErrorStatus;
|
||||||
PCC_SUBSPACE_CHANNEL_TIMING_INFO *ChannelTiming;
|
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) ||
|
if ((PccCmObj == NULL) ||
|
||||||
((GenericPccCmObj->Type != EFI_ACPI_6_4_PCCT_SUBSPACE_TYPE_3_EXTENDED_PCC) &&
|
((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
|
IN EFI_ACPI_6_4_PCCT_SUBSPACE_5_HW_REGISTERS_COMMUNICATIONS *PccAcpi
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
CM_ARM_PCC_SUBSPACE_TYPE0_INFO *GenericPccCmObj;
|
CM_ARCH_COMMON_PCC_SUBSPACE_TYPE0_INFO *GenericPccCmObj;
|
||||||
PCC_MAILBOX_REGISTER_INFO *Doorbell;
|
PCC_MAILBOX_REGISTER_INFO *Doorbell;
|
||||||
PCC_MAILBOX_REGISTER_INFO *CmdCompleteCheck;
|
PCC_MAILBOX_REGISTER_INFO *CmdCompleteCheck;
|
||||||
PCC_MAILBOX_REGISTER_INFO *ErrorStatus;
|
PCC_MAILBOX_REGISTER_INFO *ErrorStatus;
|
||||||
PCC_SUBSPACE_CHANNEL_TIMING_INFO *ChannelTiming;
|
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) ||
|
if ((PccCmObj == NULL) ||
|
||||||
(GenericPccCmObj->Type != EFI_ACPI_6_4_PCCT_SUBSPACE_TYPE_5_HW_REGISTERS_COMMUNICATIONS) ||
|
(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) {
|
switch (((PCC_SUBSPACE_GENERIC_INFO *)CurrentPccSubspace)->Type) {
|
||||||
case EFI_ACPI_6_4_PCCT_SUBSPACE_TYPE_GENERIC:
|
case EFI_ACPI_6_4_PCCT_SUBSPACE_TYPE_GENERIC:
|
||||||
Status = AddSubspaceStructType0 (
|
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
|
(EFI_ACPI_6_4_PCCT_SUBSPACE_GENERIC *)PccBuffer
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -822,7 +824,7 @@ BuildPcctTable (
|
||||||
MAPPING_TABLE *MappingTable;
|
MAPPING_TABLE *MappingTable;
|
||||||
UINT32 MappingTableCount;
|
UINT32 MappingTableCount;
|
||||||
|
|
||||||
CM_ARM_PCC_SUBSPACE_TYPE0_INFO *PccType0;
|
CM_ARCH_COMMON_PCC_SUBSPACE_TYPE0_INFO *PccType0;
|
||||||
UINT32 PccType0Count;
|
UINT32 PccType0Count;
|
||||||
CM_ARM_PCC_SUBSPACE_TYPE1_INFO *PccType1;
|
CM_ARM_PCC_SUBSPACE_TYPE1_INFO *PccType1;
|
||||||
UINT32 PccType1Count;
|
UINT32 PccType1Count;
|
||||||
|
@ -863,7 +865,7 @@ BuildPcctTable (
|
||||||
|
|
||||||
// First get all the Pcc Subpace CmObj of type X.
|
// First get all the Pcc Subpace CmObj of type X.
|
||||||
|
|
||||||
Status = GetEArmObjPccSubspaceType0Info (
|
Status = GetEArchCommonObjPccSubspaceType0Info (
|
||||||
CfgMgrProtocol,
|
CfgMgrProtocol,
|
||||||
CM_NULL_TOKEN,
|
CM_NULL_TOKEN,
|
||||||
&PccType0,
|
&PccType0,
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
*/
|
*/
|
||||||
typedef struct MappingTable {
|
typedef struct MappingTable {
|
||||||
/// Mapping table for Subspace Ids.
|
/// 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;
|
VOID **Table;
|
||||||
|
|
||||||
/// Number of entries in the Table.
|
/// Number of entries in the Table.
|
||||||
|
@ -34,7 +34,8 @@ typedef struct AcpiPcctGenerator {
|
||||||
|
|
||||||
// Private fields are defined from here.
|
// 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;
|
MAPPING_TABLE MappingTable;
|
||||||
} ACPI_PCCT_GENERATOR;
|
} ACPI_PCCT_GENERATOR;
|
||||||
|
|
||||||
|
|
|
@ -166,14 +166,13 @@ CM_OBJECT_TOKEN_FIXER TokenFixer[EArmObjMax] = {
|
||||||
NULL, ///< 20 - CMN-600 Info
|
NULL, ///< 20 - CMN-600 Info
|
||||||
NULL, ///< 21 - Reserved Memory Range Node
|
NULL, ///< 21 - Reserved Memory Range Node
|
||||||
NULL, ///< 22 - Memory Range Descriptor
|
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, ///< 24 - Pcc Subspace Type 2 Info
|
||||||
NULL, ///< 25 - Pcc Subspace Type 2 Info
|
NULL, ///< 25 - Pcc Subspace Type 3 Info
|
||||||
NULL, ///< 26 - Pcc Subspace Type 3 Info
|
NULL, ///< 26 - Pcc Subspace Type 4 Info
|
||||||
NULL, ///< 27 - Pcc Subspace Type 4 Info
|
NULL, ///< 27 - Pcc Subspace Type 5 Info
|
||||||
NULL, ///< 28 - Pcc Subspace Type 5 Info
|
NULL, ///< 28 - Embedded Trace Extension/Module Info
|
||||||
NULL, ///< 29 - Embedded Trace Extension/Module Info
|
NULL ///< 29 - P-State Dependency (PSD) Info
|
||||||
NULL ///< 30 - P-State Dependency (PSD) Info
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/** CmObj token fixer.
|
/** CmObj token fixer.
|
||||||
|
|
|
@ -574,9 +574,9 @@ STATIC CONST CM_OBJ_PARSER CmArmPccSubspaceChannelTimingInfoParser[] = {
|
||||||
{ "MinRequestTurnaroundTime", 2, "0x%x", NULL },
|
{ "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 },
|
{ "SubspaceId", 1, "0x%x", NULL },
|
||||||
{ "Type", 1, "0x%x", NULL },
|
{ "Type", 1, "0x%x", NULL },
|
||||||
{ "BaseAddress", 8, "0x%llx", NULL },
|
{ "BaseAddress", 8, "0x%llx", NULL },
|
||||||
|
@ -593,8 +593,8 @@ STATIC CONST CM_OBJ_PARSER CmArmPccSubspaceType0InfoParser[] = {
|
||||||
*/
|
*/
|
||||||
STATIC CONST CM_OBJ_PARSER CmArmPccSubspaceType1InfoParser[] = {
|
STATIC CONST CM_OBJ_PARSER CmArmPccSubspaceType1InfoParser[] = {
|
||||||
{ "GenericPccInfo", sizeof (PCC_SUBSPACE_GENERIC_INFO),
|
{ "GenericPccInfo", sizeof (PCC_SUBSPACE_GENERIC_INFO),
|
||||||
NULL, NULL, CmArmPccSubspaceType0InfoParser,
|
NULL, NULL, CmArchCommonPccSubspaceType0InfoParser,
|
||||||
ARRAY_SIZE (CmArmPccSubspaceType0InfoParser) },
|
ARRAY_SIZE (CmArchCommonPccSubspaceType0InfoParser) },
|
||||||
{ "PlatIrq", sizeof (CM_ARCH_COMMON_GENERIC_INTERRUPT),
|
{ "PlatIrq", sizeof (CM_ARCH_COMMON_GENERIC_INTERRUPT),
|
||||||
NULL, NULL, CmArchCommonGenericInterruptParser,
|
NULL, NULL, CmArchCommonGenericInterruptParser,
|
||||||
ARRAY_SIZE (CmArchCommonGenericInterruptParser) },
|
ARRAY_SIZE (CmArchCommonGenericInterruptParser) },
|
||||||
|
@ -604,8 +604,8 @@ STATIC CONST CM_OBJ_PARSER CmArmPccSubspaceType1InfoParser[] = {
|
||||||
*/
|
*/
|
||||||
STATIC CONST CM_OBJ_PARSER CmArmPccSubspaceType2InfoParser[] = {
|
STATIC CONST CM_OBJ_PARSER CmArmPccSubspaceType2InfoParser[] = {
|
||||||
{ "GenericPccInfo", sizeof (PCC_SUBSPACE_GENERIC_INFO),
|
{ "GenericPccInfo", sizeof (PCC_SUBSPACE_GENERIC_INFO),
|
||||||
NULL, NULL, CmArmPccSubspaceType0InfoParser,
|
NULL, NULL, CmArchCommonPccSubspaceType0InfoParser,
|
||||||
ARRAY_SIZE (CmArmPccSubspaceType0InfoParser) },
|
ARRAY_SIZE (CmArchCommonPccSubspaceType0InfoParser) },
|
||||||
{ "PlatIrq", sizeof (CM_ARCH_COMMON_GENERIC_INTERRUPT),NULL,NULL,
|
{ "PlatIrq", sizeof (CM_ARCH_COMMON_GENERIC_INTERRUPT),NULL,NULL,
|
||||||
CmArchCommonGenericInterruptParser, ARRAY_SIZE (CmArchCommonGenericInterruptParser) },
|
CmArchCommonGenericInterruptParser, ARRAY_SIZE (CmArchCommonGenericInterruptParser) },
|
||||||
{ "PlatIrqAckReg", sizeof (PCC_MAILBOX_REGISTER_INFO),
|
{ "PlatIrqAckReg", sizeof (PCC_MAILBOX_REGISTER_INFO),
|
||||||
|
@ -617,8 +617,8 @@ STATIC CONST CM_OBJ_PARSER CmArmPccSubspaceType2InfoParser[] = {
|
||||||
*/
|
*/
|
||||||
STATIC CONST CM_OBJ_PARSER CmArmPccSubspaceType34InfoParser[] = {
|
STATIC CONST CM_OBJ_PARSER CmArmPccSubspaceType34InfoParser[] = {
|
||||||
{ "GenericPccInfo", sizeof (PCC_SUBSPACE_GENERIC_INFO),
|
{ "GenericPccInfo", sizeof (PCC_SUBSPACE_GENERIC_INFO),
|
||||||
NULL, NULL, CmArmPccSubspaceType0InfoParser,
|
NULL, NULL, CmArchCommonPccSubspaceType0InfoParser,
|
||||||
ARRAY_SIZE (CmArmPccSubspaceType0InfoParser) },
|
ARRAY_SIZE (CmArchCommonPccSubspaceType0InfoParser) },
|
||||||
{ "PlatIrq", sizeof (CM_ARCH_COMMON_GENERIC_INTERRUPT),NULL,NULL,
|
{ "PlatIrq", sizeof (CM_ARCH_COMMON_GENERIC_INTERRUPT),NULL,NULL,
|
||||||
CmArchCommonGenericInterruptParser, ARRAY_SIZE (CmArchCommonGenericInterruptParser) },
|
CmArchCommonGenericInterruptParser, ARRAY_SIZE (CmArchCommonGenericInterruptParser) },
|
||||||
{ "PlatIrqAckReg", sizeof (PCC_MAILBOX_REGISTER_INFO),
|
{ "PlatIrqAckReg", sizeof (PCC_MAILBOX_REGISTER_INFO),
|
||||||
|
@ -639,8 +639,8 @@ STATIC CONST CM_OBJ_PARSER CmArmPccSubspaceType34InfoParser[] = {
|
||||||
*/
|
*/
|
||||||
STATIC CONST CM_OBJ_PARSER CmArmPccSubspaceType5InfoParser[] = {
|
STATIC CONST CM_OBJ_PARSER CmArmPccSubspaceType5InfoParser[] = {
|
||||||
{ "GenericPccInfo", sizeof (PCC_SUBSPACE_GENERIC_INFO),
|
{ "GenericPccInfo", sizeof (PCC_SUBSPACE_GENERIC_INFO),
|
||||||
NULL, NULL, CmArmPccSubspaceType0InfoParser,
|
NULL, NULL, CmArchCommonPccSubspaceType0InfoParser,
|
||||||
ARRAY_SIZE (CmArmPccSubspaceType0InfoParser) },
|
ARRAY_SIZE (CmArchCommonPccSubspaceType0InfoParser) },
|
||||||
{ "Version", 2, "0x%x",NULL },
|
{ "Version", 2, "0x%x",NULL },
|
||||||
{ "PlatIrq", sizeof (CM_ARCH_COMMON_GENERIC_INTERRUPT),NULL, NULL,
|
{ "PlatIrq", sizeof (CM_ARCH_COMMON_GENERIC_INTERRUPT),NULL, NULL,
|
||||||
CmArchCommonGenericInterruptParser, ARRAY_SIZE (CmArchCommonGenericInterruptParser) },
|
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 (EArchCommonObjProcHierarchyInfo, CmArchCommonProcHierarchyInfoParser),
|
||||||
CM_PARSER_ADD_OBJECT (EArchCommonObjCacheInfo, CmArchCommonCacheInfoParser),
|
CM_PARSER_ADD_OBJECT (EArchCommonObjCacheInfo, CmArchCommonCacheInfoParser),
|
||||||
CM_PARSER_ADD_OBJECT (EArchCommonObjCpcInfo, CmArchCommonCpcInfoParser),
|
CM_PARSER_ADD_OBJECT (EArchCommonObjCpcInfo, CmArchCommonCpcInfoParser),
|
||||||
|
CM_PARSER_ADD_OBJECT (EArchCommonObjPccSubspaceType0Info, CmArchCommonPccSubspaceType0InfoParser),
|
||||||
CM_PARSER_ADD_OBJECT_RESERVED (EArchCommonObjMax)
|
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 (EArmObjCmn600Info, CmArmCmn600InfoParser),
|
||||||
CM_PARSER_ADD_OBJECT (EArmObjRmr, CmArmRmrInfoParser),
|
CM_PARSER_ADD_OBJECT (EArmObjRmr, CmArmRmrInfoParser),
|
||||||
CM_PARSER_ADD_OBJECT (EArmObjMemoryRangeDescriptor, CmArmMemoryRangeDescriptorInfoParser),
|
CM_PARSER_ADD_OBJECT (EArmObjMemoryRangeDescriptor, CmArmMemoryRangeDescriptorInfoParser),
|
||||||
CM_PARSER_ADD_OBJECT (EArmObjPccSubspaceType0Info, CmArmPccSubspaceType0InfoParser),
|
|
||||||
CM_PARSER_ADD_OBJECT (EArmObjPccSubspaceType1Info, CmArmPccSubspaceType1InfoParser),
|
CM_PARSER_ADD_OBJECT (EArmObjPccSubspaceType1Info, CmArmPccSubspaceType1InfoParser),
|
||||||
CM_PARSER_ADD_OBJECT (EArmObjPccSubspaceType2Info, CmArmPccSubspaceType2InfoParser),
|
CM_PARSER_ADD_OBJECT (EArmObjPccSubspaceType2Info, CmArmPccSubspaceType2InfoParser),
|
||||||
CM_PARSER_ADD_OBJECT (EArmObjPccSubspaceType3Info, CmArmPccSubspaceType34InfoParser),
|
CM_PARSER_ADD_OBJECT (EArmObjPccSubspaceType3Info, CmArmPccSubspaceType34InfoParser),
|
||||||
|
|
|
@ -463,14 +463,13 @@ The CM_OBJECT_ID type is used to identify the Configuration Manager
|
||||||
| 20 | CMN 600 Info | |
|
| 20 | CMN 600 Info | |
|
||||||
| 21 | Reserved Memory Range Node | |
|
| 21 | Reserved Memory Range Node | |
|
||||||
| 22 | Memory Range Descriptor | |
|
| 22 | Memory Range Descriptor | |
|
||||||
| 23 | Pcc Subspace Type 0 Info | Move to Arch Common NS |
|
| 23 | Pcc Subspace Type 1 Info | Move to Arch Common NS |
|
||||||
| 24 | 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 2 Info | Move to Arch Common NS |
|
| 25 | Pcc Subspace Type 3 Info | Move to Arch Common NS |
|
||||||
| 26 | 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 4 Info | Move to Arch Common NS |
|
| 27 | Pcc Subspace Type 5 Info | Move to Arch Common NS |
|
||||||
| 28 | Pcc Subspace Type 5 Info | Move to Arch Common NS |
|
| 28 | Embedded Trace Extension/Module Info | |
|
||||||
| 29 | Embedded Trace Extension/Module Info | |
|
| 29 | P-State Dependency (PSD) Info | Move to Arch Common NS |
|
||||||
| 30 | P-State Dependency (PSD) Info | Move to Arch Common NS |
|
|
||||||
| `*` | All other values are reserved. | |
|
| `*` | All other values are reserved. | |
|
||||||
|
|
||||||
#### Object ID's in the Arch Common Namespace:
|
#### 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 | |
|
| 16 | Processor Hierarchy Info | |
|
||||||
| 17 | Cache Info | |
|
| 17 | Cache Info | |
|
||||||
| 18 | Continuous Performance Control Info | |
|
| 18 | Continuous Performance Control Info | |
|
||||||
|
| 19 | Pcc Subspace Type 0 Info | |
|
||||||
| `*` | All other values are reserved. | |
|
| `*` | All other values are reserved. | |
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue