1*91f16700SchasingluluActivity Monitors 2*91f16700Schasinglulu================= 3*91f16700Schasinglulu 4*91f16700SchasingluluFEAT_AMUv1 of the Armv8-A architecture introduces the Activity Monitors 5*91f16700Schasingluluextension. This extension describes the architecture for the Activity Monitor 6*91f16700SchasingluluUnit (|AMU|), an optional non-invasive component for monitoring core events 7*91f16700Schasingluluthrough a set of 64-bit counters. 8*91f16700Schasinglulu 9*91f16700SchasingluluWhen the ``ENABLE_FEAT_AMU=1`` build option is provided, Trusted Firmware-A 10*91f16700Schasinglulusets up the |AMU| prior to its exit from EL3, and will save and restore 11*91f16700Schasingluluarchitected |AMU| counters as necessary upon suspend and resume. 12*91f16700Schasinglulu 13*91f16700Schasinglulu.. _Activity Monitor Auxiliary Counters: 14*91f16700Schasinglulu 15*91f16700SchasingluluAuxiliary counters 16*91f16700Schasinglulu------------------ 17*91f16700Schasinglulu 18*91f16700SchasingluluFEAT_AMUv1 describes a set of implementation-defined auxiliary counters (also 19*91f16700Schasingluluknown as group 1 counters), controlled by the ``ENABLE_AMU_AUXILIARY_COUNTERS`` 20*91f16700Schasinglulubuild option. 21*91f16700Schasinglulu 22*91f16700SchasingluluAs a security precaution, Trusted Firmware-A does not enable these by default. 23*91f16700SchasingluluInstead, platforms may configure their auxiliary counters through one of two 24*91f16700Schasinglulupossible mechanisms: 25*91f16700Schasinglulu 26*91f16700Schasinglulu- |FCONF|, controlled by the ``ENABLE_AMU_FCONF`` build option. 27*91f16700Schasinglulu- A platform implementation of the ``plat_amu_topology`` function (the default). 28*91f16700Schasinglulu 29*91f16700SchasingluluSee :ref:`Activity Monitor Unit (AMU) Bindings` for documentation on the |FCONF| 30*91f16700Schasingluludevice tree bindings. 31*91f16700Schasinglulu 32*91f16700Schasinglulu-------------- 33*91f16700Schasinglulu 34*91f16700Schasinglulu*Copyright (c) 2021, Arm Limited. All rights reserved.* 35