@@ -392,7 +392,20 @@ static const struct arm64_ftr_bits ftr_id_isar5[] = {
392
392
};
393
393
394
394
static const struct arm64_ftr_bits ftr_id_mmfr4 [] = {
395
+ ARM64_FTR_BITS (FTR_HIDDEN , FTR_STRICT , FTR_LOWER_SAFE , ID_MMFR4_EVT_SHIFT , 4 , 0 ),
396
+ ARM64_FTR_BITS (FTR_HIDDEN , FTR_STRICT , FTR_LOWER_SAFE , ID_MMFR4_CCIDX_SHIFT , 4 , 0 ),
397
+ ARM64_FTR_BITS (FTR_HIDDEN , FTR_STRICT , FTR_LOWER_SAFE , ID_MMFR4_LSM_SHIFT , 4 , 0 ),
398
+ ARM64_FTR_BITS (FTR_HIDDEN , FTR_STRICT , FTR_LOWER_SAFE , ID_MMFR4_HPDS_SHIFT , 4 , 0 ),
399
+ ARM64_FTR_BITS (FTR_HIDDEN , FTR_STRICT , FTR_LOWER_SAFE , ID_MMFR4_CNP_SHIFT , 4 , 0 ),
400
+ ARM64_FTR_BITS (FTR_HIDDEN , FTR_STRICT , FTR_LOWER_SAFE , ID_MMFR4_XNX_SHIFT , 4 , 0 ),
395
401
ARM64_FTR_BITS (FTR_HIDDEN , FTR_STRICT , FTR_LOWER_SAFE , 4 , 4 , 0 ), /* ac2 */
402
+ /*
403
+ * SpecSEI = 1 indicates that the PE might generate an SError on an
404
+ * external abort on speculative read. It is safe to assume that an
405
+ * SError might be generated than it will not be. Hence it has been
406
+ * classified as FTR_HIGHER_SAFE.
407
+ */
408
+ ARM64_FTR_BITS (FTR_HIDDEN , FTR_STRICT , FTR_HIGHER_SAFE , ID_MMFR4_SPECSEI_SHIFT , 4 , 0 ),
396
409
ARM64_FTR_END ,
397
410
};
398
411
0 commit comments