arm-trusted-firmware/include/lib/extensions
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
..
amu.h feat(amu): enable per-core AMU auxiliary counters 2021-10-26 12:15:33 +01:00
mpam.h refactor(mpam): remove unused function declaration 2021-07-09 22:03:38 +02:00
pauth.h Refactor ARMv8.3 Pointer Authentication support code 2019-09-13 14:11:59 +01:00
ras.h Tegra194: add RAS exception handling 2020-06-12 09:43:54 -07:00
ras_arch.h Tegra194: add RAS exception handling 2020-06-12 09:43:54 -07:00
spe.h Fix MISRA defects in extension libs 2018-10-29 14:41:48 +00:00
sve.h feat(sve): enable SVE for the secure world 2021-06-28 13:24:24 +01:00
sys_reg_trace.h feat(sys_reg_trace): enable trace system registers access from lower NS ELs 2021-08-26 09:29:51 +01:00
trbe.h feat(trbe): enable access to trace buffer control registers from lower NS EL 2021-08-26 09:29:39 +01:00
trf.h feat(trf): enable trace filter control register access from lower NS EL 2021-08-26 09:32:35 +01:00
twed.h Enable v8.6 WFE trap delays 2020-05-19 21:49:52 +00:00