Merge "Enable MTE support unilaterally for Normal World" into integration
authorSoby Mathew <soby.mathew@arm.com>
Tue, 23 Jul 2019 08:55:10 +0000 (08:55 +0000)
committerTrustedFirmware Code Review <review@review.trustedfirmware.org>
Tue, 23 Jul 2019 08:55:10 +0000 (08:55 +0000)
1  2 
include/arch/aarch64/arch.h

index 913b62c532253ad01add286023ab1dd033fde1c1,fdc1b6465aae3c11eb3409ee4b6c586d8fe32172..e4147d7e97ab6ed32807c04e155fb59b8f0d3db3
  
  #define BTI_IMPLEMENTED               ULL(1)  /* The BTI mechanism is implemented */
  
+ #define ID_AA64PFR1_EL1_MTE_SHIFT     U(8)
+ #define ID_AA64PFR1_EL1_MTE_MASK      ULL(0xf)
+ #define MTE_UNIMPLEMENTED     ULL(0)
+ #define MTE_IMPLEMENTED_EL0   ULL(1)  /* MTE is only implemented at EL0 */
+ #define MTE_IMPLEMENTED_ELX   ULL(2)  /* MTE is implemented at all ELs */
  /* ID_PFR1_EL1 definitions */
  #define ID_PFR1_VIRTEXT_SHIFT U(12)
  #define ID_PFR1_VIRTEXT_MASK  U(0xf)
  #define SCTLR_SED_BIT         (ULL(1) << 8)
  #define SCTLR_UMA_BIT         (ULL(1) << 9)
  #define SCTLR_I_BIT           (ULL(1) << 12)
 -#define SCTLR_V_BIT           (ULL(1) << 13)
 +#define SCTLR_EnDB_BIT                (ULL(1) << 13)
  #define SCTLR_DZE_BIT         (ULL(1) << 14)
  #define SCTLR_UCT_BIT         (ULL(1) << 15)
  #define SCTLR_NTWI_BIT                (ULL(1) << 16)
  #define SCTLR_E0E_BIT         (ULL(1) << 24)
  #define SCTLR_EE_BIT          (ULL(1) << 25)
  #define SCTLR_UCI_BIT         (ULL(1) << 26)
 +#define SCTLR_EnDA_BIT                (ULL(1) << 27)
 +#define SCTLR_EnIB_BIT                (ULL(1) << 30)
  #define SCTLR_EnIA_BIT                (ULL(1) << 31)
  #define SCTLR_BT0_BIT         (ULL(1) << 35)
  #define SCTLR_BT1_BIT         (ULL(1) << 36)
  
  /* SCR definitions */
  #define SCR_RES1_BITS         ((U(1) << 4) | (U(1) << 5))
+ #define SCR_ATA_BIT           (U(1) << 26)
  #define SCR_FIEN_BIT          (U(1) << 21)
  #define SCR_API_BIT           (U(1) << 17)
  #define SCR_APK_BIT           (U(1) << 16)