arm-trusted-firmware/docs/getting_started
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
..
build-options.rst feat(amu): enable per-core AMU auxiliary counters 2021-10-26 12:15:33 +01:00
docs-build.rst doc: use docker to build documentation 2020-07-17 09:40:32 -05:00
image-terminology.rst doc: Misc syntax and spelling fixes 2019-10-11 12:39:06 +00:00
index.rst doc: Split the User Guide into multiple files 2019-11-27 10:45:54 +00:00
initial-build.rst Set lld as the default linker for Clang builds 2020-01-17 16:48:18 +00:00
porting-guide.rst refactor(amu)!: remove PLAT_AMU_GROUP1_COUNTERS_MASK 2021-10-26 12:14:30 +01:00
prerequisites.rst docs: change Linaro release version to 20.01 2021-06-01 17:32:02 -05:00
psci-lib-integration-guide.rst docs: Update SMCCC doc, other changes for release 2020-04-16 10:03:39 -05:00
rt-svc-writers-guide.rst docs: Update SMCCC doc, other changes for release 2020-04-16 10:03:39 -05:00
tools-build.rst docs: Update docs with firmware encryption feature 2020-03-09 20:48:17 +05:30