@@ -359,7 +359,7 @@ static const struct arm64_ftr_bits ftr_ctr[] = {
359
359
* make use of *minLine.
360
360
* If we have differing I-cache policies, report it as the weakest - VIPT.
361
361
*/
362
- ARM64_FTR_BITS (FTR_VISIBLE , FTR_NONSTRICT , FTR_EXACT , 14 , 2 , ICACHE_POLICY_VIPT ), /* L1Ip */
362
+ ARM64_FTR_BITS (FTR_VISIBLE , FTR_NONSTRICT , FTR_EXACT , CTR_L1IP_SHIFT , 2 , ICACHE_POLICY_VIPT ), /* L1Ip */
363
363
ARM64_FTR_BITS (FTR_VISIBLE , FTR_STRICT , FTR_LOWER_SAFE , CTR_IMINLINE_SHIFT , 4 , 0 ),
364
364
ARM64_FTR_END ,
365
365
};
@@ -370,19 +370,19 @@ struct arm64_ftr_reg arm64_ftr_reg_ctrel0 = {
370
370
};
371
371
372
372
static const struct arm64_ftr_bits ftr_id_mmfr0 [] = {
373
- S_ARM64_FTR_BITS (FTR_HIDDEN , FTR_STRICT , FTR_LOWER_SAFE , 28 , 4 , 0xf ), /* InnerShr */
374
- ARM64_FTR_BITS (FTR_HIDDEN , FTR_STRICT , FTR_LOWER_SAFE , 24 , 4 , 0 ), /* FCSE */
375
- ARM64_FTR_BITS (FTR_HIDDEN , FTR_NONSTRICT , FTR_LOWER_SAFE , 20 , 4 , 0 ), /* AuxReg */
376
- ARM64_FTR_BITS (FTR_HIDDEN , FTR_STRICT , FTR_LOWER_SAFE , 16 , 4 , 0 ), /* TCM */
377
- ARM64_FTR_BITS (FTR_HIDDEN , FTR_STRICT , FTR_LOWER_SAFE , 12 , 4 , 0 ), /* ShareLvl */
378
- S_ARM64_FTR_BITS (FTR_HIDDEN , FTR_STRICT , FTR_LOWER_SAFE , 8 , 4 , 0xf ), /* OuterShr */
379
- ARM64_FTR_BITS (FTR_HIDDEN , FTR_STRICT , FTR_LOWER_SAFE , 4 , 4 , 0 ), /* PMSA */
380
- ARM64_FTR_BITS (FTR_HIDDEN , FTR_STRICT , FTR_LOWER_SAFE , 0 , 4 , 0 ), /* VMSA */
373
+ S_ARM64_FTR_BITS (FTR_HIDDEN , FTR_STRICT , FTR_LOWER_SAFE , ID_MMFR0_INNERSHR_SHIFT , 4 , 0xf ),
374
+ ARM64_FTR_BITS (FTR_HIDDEN , FTR_STRICT , FTR_LOWER_SAFE , ID_MMFR0_FCSE_SHIFT , 4 , 0 ),
375
+ ARM64_FTR_BITS (FTR_HIDDEN , FTR_NONSTRICT , FTR_LOWER_SAFE , ID_MMFR0_AUXREG_SHIFT , 4 , 0 ),
376
+ ARM64_FTR_BITS (FTR_HIDDEN , FTR_STRICT , FTR_LOWER_SAFE , ID_MMFR0_TCM_SHIFT , 4 , 0 ),
377
+ ARM64_FTR_BITS (FTR_HIDDEN , FTR_STRICT , FTR_LOWER_SAFE , ID_MMFR0_SHARELVL_SHIFT , 4 , 0 ),
378
+ S_ARM64_FTR_BITS (FTR_HIDDEN , FTR_STRICT , FTR_LOWER_SAFE , ID_MMFR0_OUTERSHR_SHIFT , 4 , 0xf ),
379
+ ARM64_FTR_BITS (FTR_HIDDEN , FTR_STRICT , FTR_LOWER_SAFE , ID_MMFR0_PMSA_SHIFT , 4 , 0 ),
380
+ ARM64_FTR_BITS (FTR_HIDDEN , FTR_STRICT , FTR_LOWER_SAFE , ID_MMFR0_VMSA_SHIFT , 4 , 0 ),
381
381
ARM64_FTR_END ,
382
382
};
383
383
384
384
static const struct arm64_ftr_bits ftr_id_aa64dfr0 [] = {
385
- S_ARM64_FTR_BITS (FTR_HIDDEN , FTR_STRICT , FTR_LOWER_SAFE , 36 , 4 , 0 ),
385
+ S_ARM64_FTR_BITS (FTR_HIDDEN , FTR_STRICT , FTR_LOWER_SAFE , ID_AA64DFR0_DOUBLELOCK_SHIFT , 4 , 0 ),
386
386
ARM64_FTR_BITS (FTR_HIDDEN , FTR_NONSTRICT , FTR_LOWER_SAFE , ID_AA64DFR0_PMSVER_SHIFT , 4 , 0 ),
387
387
ARM64_FTR_BITS (FTR_HIDDEN , FTR_STRICT , FTR_LOWER_SAFE , ID_AA64DFR0_CTX_CMPS_SHIFT , 4 , 0 ),
388
388
ARM64_FTR_BITS (FTR_HIDDEN , FTR_STRICT , FTR_LOWER_SAFE , ID_AA64DFR0_WRPS_SHIFT , 4 , 0 ),
@@ -398,14 +398,14 @@ static const struct arm64_ftr_bits ftr_id_aa64dfr0[] = {
398
398
};
399
399
400
400
static const struct arm64_ftr_bits ftr_mvfr2 [] = {
401
- ARM64_FTR_BITS (FTR_HIDDEN , FTR_STRICT , FTR_LOWER_SAFE , 4 , 4 , 0 ), /* FPMisc */
402
- ARM64_FTR_BITS (FTR_HIDDEN , FTR_STRICT , FTR_LOWER_SAFE , 0 , 4 , 0 ), /* SIMDMisc */
401
+ ARM64_FTR_BITS (FTR_HIDDEN , FTR_STRICT , FTR_LOWER_SAFE , MVFR2_FPMISC_SHIFT , 4 , 0 ),
402
+ ARM64_FTR_BITS (FTR_HIDDEN , FTR_STRICT , FTR_LOWER_SAFE , MVFR2_SIMDMISC_SHIFT , 4 , 0 ),
403
403
ARM64_FTR_END ,
404
404
};
405
405
406
406
static const struct arm64_ftr_bits ftr_dczid [] = {
407
- ARM64_FTR_BITS (FTR_VISIBLE , FTR_STRICT , FTR_EXACT , 4 , 1 , 1 ), /* DZP */
408
- ARM64_FTR_BITS (FTR_VISIBLE , FTR_STRICT , FTR_LOWER_SAFE , 0 , 4 , 0 ), /* BS */
407
+ ARM64_FTR_BITS (FTR_VISIBLE , FTR_STRICT , FTR_EXACT , DCZID_DZP_SHIFT , 1 , 1 ),
408
+ ARM64_FTR_BITS (FTR_VISIBLE , FTR_STRICT , FTR_LOWER_SAFE , DCZID_BS_SHIFT , 4 , 0 ),
409
409
ARM64_FTR_END ,
410
410
};
411
411
@@ -437,7 +437,8 @@ static const struct arm64_ftr_bits ftr_id_mmfr4[] = {
437
437
ARM64_FTR_BITS (FTR_HIDDEN , FTR_STRICT , FTR_LOWER_SAFE , ID_MMFR4_HPDS_SHIFT , 4 , 0 ),
438
438
ARM64_FTR_BITS (FTR_HIDDEN , FTR_STRICT , FTR_LOWER_SAFE , ID_MMFR4_CNP_SHIFT , 4 , 0 ),
439
439
ARM64_FTR_BITS (FTR_HIDDEN , FTR_STRICT , FTR_LOWER_SAFE , ID_MMFR4_XNX_SHIFT , 4 , 0 ),
440
- ARM64_FTR_BITS (FTR_HIDDEN , FTR_STRICT , FTR_LOWER_SAFE , 4 , 4 , 0 ), /* ac2 */
440
+ ARM64_FTR_BITS (FTR_HIDDEN , FTR_STRICT , FTR_LOWER_SAFE , ID_MMFR4_AC2_SHIFT , 4 , 0 ),
441
+
441
442
/*
442
443
* SpecSEI = 1 indicates that the PE might generate an SError on an
443
444
* external abort on speculative read. It is safe to assume that an
@@ -479,10 +480,10 @@ static const struct arm64_ftr_bits ftr_id_isar6[] = {
479
480
static const struct arm64_ftr_bits ftr_id_pfr0 [] = {
480
481
ARM64_FTR_BITS (FTR_HIDDEN , FTR_STRICT , FTR_LOWER_SAFE , ID_PFR0_DIT_SHIFT , 4 , 0 ),
481
482
ARM64_FTR_BITS (FTR_HIDDEN , FTR_NONSTRICT , FTR_LOWER_SAFE , ID_PFR0_CSV2_SHIFT , 4 , 0 ),
482
- ARM64_FTR_BITS (FTR_HIDDEN , FTR_STRICT , FTR_LOWER_SAFE , 12 , 4 , 0 ), /* State3 */
483
- ARM64_FTR_BITS (FTR_HIDDEN , FTR_STRICT , FTR_LOWER_SAFE , 8 , 4 , 0 ), /* State2 */
484
- ARM64_FTR_BITS (FTR_HIDDEN , FTR_STRICT , FTR_LOWER_SAFE , 4 , 4 , 0 ), /* State1 */
485
- ARM64_FTR_BITS (FTR_HIDDEN , FTR_STRICT , FTR_LOWER_SAFE , 0 , 4 , 0 ), /* State0 */
483
+ ARM64_FTR_BITS (FTR_HIDDEN , FTR_STRICT , FTR_LOWER_SAFE , ID_PFR0_STATE3_SHIFT , 4 , 0 ),
484
+ ARM64_FTR_BITS (FTR_HIDDEN , FTR_STRICT , FTR_LOWER_SAFE , ID_PFR0_STATE2_SHIFT , 4 , 0 ),
485
+ ARM64_FTR_BITS (FTR_HIDDEN , FTR_STRICT , FTR_LOWER_SAFE , ID_PFR0_STATE1_SHIFT , 4 , 0 ),
486
+ ARM64_FTR_BITS (FTR_HIDDEN , FTR_STRICT , FTR_LOWER_SAFE , ID_PFR0_STATE0_SHIFT , 4 , 0 ),
486
487
ARM64_FTR_END ,
487
488
};
488
489
@@ -506,13 +507,13 @@ static const struct arm64_ftr_bits ftr_id_pfr2[] = {
506
507
507
508
static const struct arm64_ftr_bits ftr_id_dfr0 [] = {
508
509
/* [31:28] TraceFilt */
509
- S_ARM64_FTR_BITS (FTR_HIDDEN , FTR_STRICT , FTR_LOWER_SAFE , 24 , 4 , 0xf ), /* PerfMon */
510
- ARM64_FTR_BITS (FTR_HIDDEN , FTR_STRICT , FTR_LOWER_SAFE , 20 , 4 , 0 ),
511
- ARM64_FTR_BITS (FTR_HIDDEN , FTR_STRICT , FTR_LOWER_SAFE , 16 , 4 , 0 ),
512
- ARM64_FTR_BITS (FTR_HIDDEN , FTR_STRICT , FTR_LOWER_SAFE , 12 , 4 , 0 ),
513
- ARM64_FTR_BITS (FTR_HIDDEN , FTR_STRICT , FTR_LOWER_SAFE , 8 , 4 , 0 ),
514
- ARM64_FTR_BITS (FTR_HIDDEN , FTR_STRICT , FTR_LOWER_SAFE , 4 , 4 , 0 ),
515
- ARM64_FTR_BITS (FTR_HIDDEN , FTR_STRICT , FTR_LOWER_SAFE , 0 , 4 , 0 ),
510
+ S_ARM64_FTR_BITS (FTR_HIDDEN , FTR_STRICT , FTR_LOWER_SAFE , ID_DFR0_PERFMON_SHIFT , 4 , 0xf ),
511
+ ARM64_FTR_BITS (FTR_HIDDEN , FTR_STRICT , FTR_LOWER_SAFE , ID_DFR0_MPROFDBG_SHIFT , 4 , 0 ),
512
+ ARM64_FTR_BITS (FTR_HIDDEN , FTR_STRICT , FTR_LOWER_SAFE , ID_DFR0_MMAPTRC_SHIFT , 4 , 0 ),
513
+ ARM64_FTR_BITS (FTR_HIDDEN , FTR_STRICT , FTR_LOWER_SAFE , ID_DFR0_COPTRC_SHIFT , 4 , 0 ),
514
+ ARM64_FTR_BITS (FTR_HIDDEN , FTR_STRICT , FTR_LOWER_SAFE , ID_DFR0_MMAPDBG_SHIFT , 4 , 0 ),
515
+ ARM64_FTR_BITS (FTR_HIDDEN , FTR_STRICT , FTR_LOWER_SAFE , ID_DFR0_COPSDBG_SHIFT , 4 , 0 ),
516
+ ARM64_FTR_BITS (FTR_HIDDEN , FTR_STRICT , FTR_LOWER_SAFE , ID_DFR0_COPDBG_SHIFT , 4 , 0 ),
516
517
ARM64_FTR_END ,
517
518
};
518
519
0 commit comments