diff --git a/DynamicTablesPkg/Include/ArmNameSpaceObjects.h b/DynamicTablesPkg/Include/ArmNameSpaceObjects.h index ca02970d7a..8c00bdac20 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.
+ Copyright (c) 2017 - 2023, Arm Limited. All rights reserved.
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 + EArmObjEtInfo, ///< 49 - Embedded Trace Extension/Module Info EArmObjMax } EARM_OBJECT_ID; @@ -210,6 +211,12 @@ typedef struct CmArmGicCInfo { generating MADT revision 5 or lower. */ UINT16 TrbeInterrupt; + + /** Optional field: Reference Token for the Embedded Trace device info for + this processing element. + i.e. a token referencing a CM_ARM_ET_INFO object. + */ + CM_OBJECT_TOKEN EtToken; } CM_ARM_GICC_INFO; /** A structure that describes the @@ -1304,6 +1311,22 @@ typedef struct CmArmPccSubspaceType5Info { PCC_MAILBOX_REGISTER_INFO ErrorStatusReg; } CM_ARM_PCC_SUBSPACE_TYPE5_INFO; +/** An enum describing the Arm Embedded Trace device type. +*/ +typedef enum ArmEtType { + ArmEtTypeEtm, ///< Embedded Trace module. + ArmEtTypeEte, ///< Embedded Trace Extension. + ArmEtTypeMax +} ARM_ET_TYPE; + +/** A structure that describes the Embedded Trace Extension/Module. + + ID: EArmObjEtInfo +*/ +typedef struct CmArmEtInfo { + ARM_ET_TYPE EtType; +} CM_ARM_ET_INFO; + #pragma pack() #endif // ARM_NAMESPACE_OBJECTS_H_