arm-trusted-firmware/docs
Chris Kay 742ca2307f feat(amu): enable per-core AMU auxiliary counters
This change makes AMU auxiliary counters configurable on a per-core
basis, controlled by `ENABLE_AMU_AUXILIARY_COUNTERS`.

Auxiliary counters can be described via the `HW_CONFIG` device tree if
the `ENABLE_AMU_FCONF` build option is enabled, or the platform must
otherwise implement the `plat_amu_topology` function.

A new phandle property for `cpu` nodes (`amu`) has been introduced to
the `HW_CONFIG` specification to allow CPUs to describe the view of
their own AMU:

```
cpu0: cpu@0 {
    ...

    amu = <&cpu0_amu>;
};
```

Multiple cores may share an `amu` handle if they implement the
same set of auxiliary counters.

AMU counters are described for one or more AMUs through the use of a new
`amus` node:

```
amus {
    cpu0_amu: amu-0 {
        #address-cells = <1>;
        #size-cells = <0>;

        counter@0 {
            reg = <0>;

            enable-at-el3;
        };

        counter@n {
            reg = <n>;

            ...
        };
    };
};
```

This structure describes the **auxiliary** (group 1) AMU counters.
Architected counters have architecturally-defined behaviour, and as
such do not require DTB entries.

These `counter` nodes support two properties:

- The `reg` property represents the counter register index.
- The presence of the `enable-at-el3` property determines whether
  the firmware should enable the counter prior to exiting EL3.

Change-Id: Ie43aee010518c5725a3b338a4899b0857caf4c28
Signed-off-by: Chris Kay <chris.kay@arm.com>
2021-10-26 12:15:33 +01:00
..
_static/css docs(threat model): add TF-A threat model 2021-04-30 17:59:22 +02:00
about Merge "fix(doc): fix TF-A v2.6 release date in the release information page" into integration 2021-10-06 20:23:10 +02:00
components feat(amu): enable per-core AMU auxiliary counters 2021-10-26 12:15:33 +01:00
design Merge "fix(errata): workaround for Cortex-A710 erratum 2058056" into integration 2021-10-05 23:17:19 +02:00
design_documents CMake buildsystem design document 2020-03-11 15:06:09 +01:00
getting_started feat(amu): enable per-core AMU auxiliary counters 2021-10-26 12:15:33 +01:00
perf doc: Fix some broken links 2020-07-01 13:57:20 +02:00
plat docs(stm32mp1): fix FIP command with OP-TEE 2021-10-21 14:59:40 +02:00
process fix(docs-contributing.rst): fix formatting for code snippet 2021-09-09 14:25:16 +01:00
resources docs(spmc): threat model document 2021-08-19 10:37:59 +02:00
security_advisories docs: Update SMCCC doc, other changes for release 2020-04-16 10:03:39 -05:00
threat_model docs(ff-a): fix specification naming 2021-09-06 18:42:24 +02:00
Makefile doc: Treat Sphinx warnings as errors 2020-04-21 09:37:47 +00:00
change-log.rst fix(docs): fix typos in v2.5 release documentation 2021-05-25 17:18:11 -05:00
conf.py docs(threat model): add TF-A threat model 2021-04-30 17:59:22 +02:00
global_substitutions.txt docs(amu): add AMU documentation 2021-10-26 12:14:34 +01:00
glossary.rst docs(amu): add AMU documentation 2021-10-26 12:14:34 +01:00
index.rst docs(fwu): add firmware update documentation 2021-08-02 17:15:41 +01:00
license.rst refactor(dt-bindings): align irq bindings with kernel 2021-06-14 10:05:48 +02:00
requirements.txt doc: Generate PlantUML diagrams automatically 2019-07-12 14:15:25 +01:00