mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-05-09 02:51:21 +00:00
fix(amu): fault handling on EL2 context switch
The HAFGRTR_EL2 register is UNDEFINED unless the CPU supports both FEAT_FGT and FEAT_AMUv1. FEAT_FGT is mandatory for v8.6-A and upwards, but FEAT_AMUv1 is optional (from v8.4-A upwards), and as such any 8.6-A cores today without support for FEAT_AMUv1 will trigger an undefined instruction exception on accessing this register. Currently ARM_ARCH_AT_LEAST macro has been used to associate with an architecture extension allowing to access HAFGRTR_EL2 register. This condition should be replaced with macros specific to individual features. This patch adds a new set of macros "ENABLE_FEAT_FGT, ENABLE_FEAT_AMUv1, ENABLE_FEAT_ECV" under build options to provide controlled access to the HAFGRTR_EL2 register. Further to ensure that the the build options passed comply with the given hardware implementation, a feature detection mechanism, checking whether build options match with the architecture is required at bootime. This will be implemented and pushed later in a separate patch. Signed-off-by: Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com> Change-Id: Ie390f4babe233b8b09455290277edbddecd33ead
This commit is contained in:
parent
0628fe3fff
commit
f74cb0be8a
4 changed files with 41 additions and 11 deletions
|
@ -207,8 +207,8 @@
|
|||
#define CTX_MPAMVPMV_EL2 U(0x158)
|
||||
|
||||
// Starting with Armv8.6
|
||||
#define CTX_HAFGRTR_EL2 U(0x160)
|
||||
#define CTX_HDFGRTR_EL2 U(0x168)
|
||||
#define CTX_HDFGRTR_EL2 U(0x160)
|
||||
#define CTX_HAFGRTR_EL2 U(0x168)
|
||||
#define CTX_HDFGWTR_EL2 U(0x170)
|
||||
#define CTX_HFGITR_EL2 U(0x178)
|
||||
#define CTX_HFGRTR_EL2 U(0x180)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue