xref: /rk3399_ARM-atf/docs/components/activity-monitors.rst (revision d3ebd2a111e7beab4fd95c881262b913bdb013c7)
19cf75647SChris KayActivity Monitors
29cf75647SChris Kay=================
39cf75647SChris Kay
49cf75647SChris KayFEAT_AMUv1 of the Armv8-A architecture introduces the Activity Monitors
59cf75647SChris Kayextension. This extension describes the architecture for the Activity Monitor
69cf75647SChris KayUnit (|AMU|), an optional non-invasive component for monitoring core events
79cf75647SChris Kaythrough a set of 64-bit counters.
89cf75647SChris Kay
9d23acc9eSAndre PrzywaraWhen the ``ENABLE_FEAT_AMU=1`` build option is provided, Trusted Firmware-A
10d23acc9eSAndre Przywarasets up the |AMU| prior to its exit from EL3, and will save and restore
11d23acc9eSAndre Przywaraarchitected |AMU| counters as necessary upon suspend and resume.
129cf75647SChris Kay
1368120783SChris Kay.. _Activity Monitor Auxiliary Counters:
1468120783SChris Kay
15742ca230SChris KayAuxiliary counters
16742ca230SChris Kay------------------
17742ca230SChris Kay
18742ca230SChris KayFEAT_AMUv1 describes a set of implementation-defined auxiliary counters (also
19742ca230SChris Kayknown as group 1 counters), controlled by the ``ENABLE_AMU_AUXILIARY_COUNTERS``
20742ca230SChris Kaybuild option.
21742ca230SChris Kay
22742ca230SChris KayAs a security precaution, Trusted Firmware-A does not enable these by default.
2383ec7e45SBoyan KaratotevInstead, platforms must configure their auxiliary counters through the
24*a02495eaSBoyan Karatotev``plat_amu_aux_enables`` platform hook. This is a per-core array indexed with
25*a02495eaSBoyan Karatotev``plat_my_core_pos()``. A core's value will be written verbatim into
26*a02495eaSBoyan Karatotev``AMCNTENSET1_EL0``.
27742ca230SChris Kay
289cf75647SChris Kay--------------
299cf75647SChris Kay
3083ec7e45SBoyan Karatotev*Copyright (c) 2021-2025, Arm Limited. All rights reserved.*
31