summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorBoyan Karatotev <boyan.karatotev@arm.com>2026-02-06 16:18:46 -0600
committerBoyan Karatotev <boyan.karatotev@arm.com>2026-06-22 14:37:49 +0100
commitd7aa847231d6f27cb8505d2f24d45af3bb70a08c (patch)
treee1c2d6e13a4e922860902f592ab905a722f1b860 /docs
parent1ae9aeb925d3703a9068f98e37ef5a3834445a7a (diff)
downloadarm-trusted-firmware-d7aa847231d6f27cb8505d2f24d45af3bb70a08c.tar.gz
arm-trusted-firmware-d7aa847231d6f27cb8505d2f24d45af3bb70a08c.zip
feat(cpufeat): add support for FEAT_BRBEv1p1
Add support for Branch Record Buffer Extension v1.1. FEAT_BRBEv1p1 introduces MDCR_EL3.{E3BREW, E3BREC} which allow for branch recording at EL3. This patch introduces helpers to start and stop recording as well as dumping the branch record buffer to the console. The helpers make sure that starting and stopping branch recording saves and restores the lower EL BRBE context. This should help prevent security and BRBE inconsistency issues if an actual payload is running along side this. As this is a debug feature, no calls are expected to be committed to the repository. Note that this feature is marked as experimental. That is because firmware does not need to support FEAT_BRBEv1p1 for the system to be fully functional. As such, this flag may be renamed or removed in future iterations once a precise usage model is arrived at. Change-Id: Ibf2f1a5e9d36f759d7b381f06103d39debe23428 Co-developed-by: Arvind Ram Prakash <arvind.ramprakash@arm.com> Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
Diffstat (limited to 'docs')
-rw-r--r--docs/about/features.rst3
-rw-r--r--docs/architecture_features.rst2
-rw-r--r--docs/getting_started/build-options.rst7
3 files changed, 10 insertions, 2 deletions
diff --git a/docs/about/features.rst b/docs/about/features.rst
index 5c00694ca..f931a10a0 100644
--- a/docs/about/features.rst
+++ b/docs/about/features.rst
@@ -132,6 +132,7 @@ in a platform:
- RSE comms driver ``drivers/arm/rse``
- GICv5 driver ``drivers/arm/gicv5`` via ``USE_GIC_DRIVER=5``
- FEAT_IDTE3 ``lib/extensions/idte/`` via ``ENABLE_FEAT_IDTE3``
+- FEAT_BRBEV1P1 ``lib/extensions/brbe/`` via ``ENABLE_FEAT_BRBEV1P1``
Still to come
-------------
@@ -154,4 +155,4 @@ Still to come
--------------
-*Copyright (c) 2019-2025, Arm Limited. All rights reserved.*
+*Copyright (c) 2019-2026, Arm Limited. All rights reserved.*
diff --git a/docs/architecture_features.rst b/docs/architecture_features.rst
index e09d43e90..7799e559e 100644
--- a/docs/architecture_features.rst
+++ b/docs/architecture_features.rst
@@ -378,7 +378,7 @@ versions (8.X, 9.X) to which they apply can be found in `Feature_description`_
+------------------+--------+
| FEAT_MEC | OK |
+------------------+--------+
-| FEAT_BRBEv1p1 | WIP |
+| FEAT_BRBEv1p1 | OK |
+------------------+--------+
| FEAT_CMOW | NA |
+------------------+--------+
diff --git a/docs/getting_started/build-options.rst b/docs/getting_started/build-options.rst
index 59a85cea8..7a571495f 100644
--- a/docs/getting_started/build-options.rst
+++ b/docs/getting_started/build-options.rst
@@ -1347,6 +1347,13 @@ flags support :ref:`enable_feat_mechanism` and take numeric values from 0 to 2.
optional architectural feature for AArch64. The default is 0 and it is
automatically disabled when the target architecture is AArch32.
+- ``ENABLE_FEAT_BRBEV1P1``: Numeric value to enable support for
+ ``FEAT_BRBEv1p1``, which allows Branch recording at EL3 via the functions
+ ``brbe_start_recording()``, ``brbe_stop_recording()``, and
+ ``brbe_dump_branch_records()``. FEAT_BRBEv1p1 is an optional architectural
+ feature available from Arm v9.2 onwards and is EXPERIMENTAL. This flag may be
+ renamed or removed in the future. Default value is 0.
+
- ``ENABLE_TRBE_FOR_NS``: Enables access of trace buffer
control registers from NS ELs, NS-EL2 or NS-EL1(when NS-EL2 is implemented
but unused) when FEAT_TRBE is implemented. TRBE is an optional architectural