From 14c27f82930281709f2f947f2b9170dd37f42ac3 Mon Sep 17 00:00:00 2001 From: Juan Pablo Conde Date: Wed, 3 Apr 2024 13:18:40 -0500 Subject: [PATCH] build(amu): restrict counters (RAZ) The use of AMU counters at the highest implemented exception level can expose information about them to lower exception levels, such as specific behavior happening in the CPU (e.g.: MPMM gear shifting in TC2). In order to prevent this, read accesses to AMU counters are restricted by default, so they are RAZ (read-as-zero) from lower exception levels from now on. Change-Id: I660b0928bea3fe09436ad53b0bb43c3067523178 Signed-off-by: Juan Pablo Conde --- docs/getting_started/build-options.rst | 5 +++-- make_helpers/arch_features.mk | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/docs/getting_started/build-options.rst b/docs/getting_started/build-options.rst index 2892dc6e6..4146e33d6 100644 --- a/docs/getting_started/build-options.rst +++ b/docs/getting_started/build-options.rst @@ -23,8 +23,9 @@ Common build options is expected to contain a makefile called ``.mk``. - ``AMU_RESTRICT_COUNTERS``: Register reads to the group 1 counters will return - zero at all but the highest implemented exception level. Reads from the - memory mapped view are unaffected by this control. + zero at all but the highest implemented exception level. External + memory-mapped debug accesses are unaffected by this control. + The default value is 1 for all platforms. - ``ARCH`` : Choose the target build architecture for TF-A. It can take either ``aarch64`` or ``aarch32`` as values. By default, it is defined to diff --git a/make_helpers/arch_features.mk b/make_helpers/arch_features.mk index ac4796063..044aef0b6 100644 --- a/make_helpers/arch_features.mk +++ b/make_helpers/arch_features.mk @@ -280,7 +280,7 @@ endif ENABLE_FEAT_AMU ?= 0 ENABLE_AMU_AUXILIARY_COUNTERS ?= 0 ENABLE_AMU_FCONF ?= 0 -AMU_RESTRICT_COUNTERS ?= 0 +AMU_RESTRICT_COUNTERS ?= 1 # Build option to enable MPAM for lower ELs. # Enabling it by default