summaryrefslogtreecommitdiffstats
path: root/DynamicTablesPkg
diff options
context:
space:
mode:
authorSami Mujawar <sami.mujawar@arm.com>2023-09-22 15:35:11 +0100
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2023-10-30 12:16:56 +0000
commit4821daa5246deff8d8f9fb35d9c171050e704951 (patch)
tree36efd3395e63e82835b721e6c95fd86ba4b710e0 /DynamicTablesPkg
parent2b0d117b4b4ea44b213fc3b10c9e59fa96510c83 (diff)
downloadedk2-4821daa5246deff8d8f9fb35d9c171050e704951.tar.gz
edk2-4821daa5246deff8d8f9fb35d9c171050e704951.tar.bz2
edk2-4821daa5246deff8d8f9fb35d9c171050e704951.zip
DynamicTablesPkg: Add an ET info object to Arm namespace
Add an Embedded Trace (ET) info object that can be used to provide information about Embedded Trace Extension (ETE) or Embedded Trace Module (ETM) available on a platform. Although ETE and ETM share the same HID, ETE has a system register interfaces, unlike ETM which requires memory mapped registers. Since this patch aims to support ETE it does not describe any memory mapped registers. However, required support for ETM can be added in the future. Signed-off-by: Sami Mujawar <sami.mujawar@arm.com> Reviewed-by: Pierre Gondois <pierre.gondois@arm.com>
Diffstat (limited to 'DynamicTablesPkg')
-rw-r--r--DynamicTablesPkg/Include/ArmNameSpaceObjects.h25
1 files changed, 24 insertions, 1 deletions
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.<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
+ 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_