arm-trusted-firmware/docs/components
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
..
fconf feat(amu): enable per-core AMU auxiliary counters 2021-10-26 12:15:33 +01:00
measured_boot feat(measured_boot): update tb_fw_config with event log properties 2021-10-12 17:53:48 +01:00
spd doc: Normalise section numbering and headings 2019-05-22 11:20:39 +01:00
activity-monitors.rst feat(amu): enable per-core AMU auxiliary counters 2021-10-26 12:15:33 +01:00
arm-sip-service.rst docs: Update SMCCC doc, other changes for release 2020-04-16 10:03:39 -05:00
cot-binding.rst doc: Update the cot-binding for nv-counter node 2020-08-28 09:50:03 +00:00
debugfs-design.rst Fix broken links to various sections across docs 2020-08-03 09:55:04 -05:00
exception-handling.rst Fix broken links in docs 2020-08-06 12:36:17 -05:00
ffa-manifest-binding.rst docs(ff-a): managed exit parameter separation 2021-08-23 15:46:46 +01:00
firmware-update.rst doc: Misc syntax and spelling fixes 2019-10-11 12:39:06 +00:00
index.rst docs(amu): add AMU documentation 2021-10-26 12:14:34 +01:00
platform-interrupt-controller-API.rst Fix broken links to various sections across docs 2020-08-03 09:55:04 -05:00
ras.rst doc: RAS: fixing broken links 2020-06-30 22:45:01 +01:00
realm-management-extension.rst docs(rme): add build and run instructions for FEAT_RME 2021-10-05 11:56:00 -05:00
romlib-design.rst doc: Split the User Guide into multiple files 2019-11-27 10:45:54 +00:00
sdei.rst Fix broken links to various sections across docs 2020-08-03 09:55:04 -05:00
secure-partition-manager-mm.rst docs: remove PSA wording for SPM chapters 2021-04-30 08:44:26 +02:00
secure-partition-manager.rst Merge "refactor(spmd): boot interface and pass core id" into integration 2021-09-24 08:47:40 +02:00
xlat-tables-lib-v2-design.rst chore: fvp_r: Initial No-EL3 and MPU Implementation 2021-09-30 17:05:59 +01:00