arm-trusted-firmware/make_helpers
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
..
tbbr refactor(tbbr): remove "fvp_r" platform specific check 2021-10-06 17:38:06 +01:00
armv7-a-cpus.mk build_macros.mk: include assert and define loop macros 2020-09-14 09:27:53 -05:00
build_env.mk Use SPDX license identifiers 2017-05-03 09:39:28 +01:00
build_macros.mk refactor(makefile): remove BL prefixes in build macros 2021-10-05 18:41:48 +02:00
cygwin.mk Use SPDX license identifiers 2017-05-03 09:39:28 +01:00
defaults.mk feat(amu): enable per-core AMU auxiliary counters 2021-10-26 12:15:33 +01:00
msys.mk Use SPDX license identifiers 2017-05-03 09:39:28 +01:00
plat_helpers.mk Change PLATFORM_ROOT to TF_PLATFORM_ROOT 2018-03-05 14:18:04 +08:00
unix.mk Makefile: Fix verbose builds on Windows 2018-10-19 15:54:27 +01:00
windows.mk Update makefile to build fiptool for Windows 2020-09-14 15:06:56 +01:00