|
18 | 18 | #define HCR_DCT (UL(1) << 57)
|
19 | 19 | #define HCR_ATA_SHIFT 56
|
20 | 20 | #define HCR_ATA (UL(1) << HCR_ATA_SHIFT)
|
| 21 | +#define HCR_TTLBOS (UL(1) << 55) |
| 22 | +#define HCR_TTLBIS (UL(1) << 54) |
| 23 | +#define HCR_ENSCXT (UL(1) << 53) |
| 24 | +#define HCR_TOCU (UL(1) << 52) |
21 | 25 | #define HCR_AMVOFFEN (UL(1) << 51)
|
| 26 | +#define HCR_TICAB (UL(1) << 50) |
22 | 27 | #define HCR_TID4 (UL(1) << 49)
|
23 | 28 | #define HCR_FIEN (UL(1) << 47)
|
24 | 29 | #define HCR_FWB (UL(1) << 46)
|
| 30 | +#define HCR_NV2 (UL(1) << 45) |
| 31 | +#define HCR_AT (UL(1) << 44) |
| 32 | +#define HCR_NV1 (UL(1) << 43) |
| 33 | +#define HCR_NV (UL(1) << 42) |
25 | 34 | #define HCR_API (UL(1) << 41)
|
26 | 35 | #define HCR_APK (UL(1) << 40)
|
27 | 36 | #define HCR_TEA (UL(1) << 37)
|
|
324 | 333 | BIT(18) | \
|
325 | 334 | GENMASK(16, 15))
|
326 | 335 |
|
| 336 | +/* |
| 337 | + * FGT register definitions |
| 338 | + * |
| 339 | + * RES0 and polarity masks as of DDI0487J.a, to be updated as needed. |
| 340 | + * We're not using the generated masks as they are usually ahead of |
| 341 | + * the published ARM ARM, which we use as a reference. |
| 342 | + * |
| 343 | + * Once we get to a point where the two describe the same thing, we'll |
| 344 | + * merge the definitions. One day. |
| 345 | + */ |
| 346 | +#define __HFGRTR_EL2_RES0 (GENMASK(63, 56) | GENMASK(53, 51)) |
| 347 | +#define __HFGRTR_EL2_MASK GENMASK(49, 0) |
| 348 | +#define __HFGRTR_EL2_nMASK (GENMASK(55, 54) | BIT(50)) |
| 349 | + |
| 350 | +#define __HFGWTR_EL2_RES0 (GENMASK(63, 56) | GENMASK(53, 51) | \ |
| 351 | + BIT(46) | BIT(42) | BIT(40) | BIT(28) | \ |
| 352 | + GENMASK(26, 25) | BIT(21) | BIT(18) | \ |
| 353 | + GENMASK(15, 14) | GENMASK(10, 9) | BIT(2)) |
| 354 | +#define __HFGWTR_EL2_MASK GENMASK(49, 0) |
| 355 | +#define __HFGWTR_EL2_nMASK (GENMASK(55, 54) | BIT(50)) |
| 356 | + |
| 357 | +#define __HFGITR_EL2_RES0 GENMASK(63, 57) |
| 358 | +#define __HFGITR_EL2_MASK GENMASK(54, 0) |
| 359 | +#define __HFGITR_EL2_nMASK GENMASK(56, 55) |
| 360 | + |
| 361 | +#define __HDFGRTR_EL2_RES0 (BIT(49) | BIT(42) | GENMASK(39, 38) | \ |
| 362 | + GENMASK(21, 20) | BIT(8)) |
| 363 | +#define __HDFGRTR_EL2_MASK ~__HDFGRTR_EL2_nMASK |
| 364 | +#define __HDFGRTR_EL2_nMASK GENMASK(62, 59) |
| 365 | + |
| 366 | +#define __HDFGWTR_EL2_RES0 (BIT(63) | GENMASK(59, 58) | BIT(51) | BIT(47) | \ |
| 367 | + BIT(43) | GENMASK(40, 38) | BIT(34) | BIT(30) | \ |
| 368 | + BIT(22) | BIT(9) | BIT(6)) |
| 369 | +#define __HDFGWTR_EL2_MASK ~__HDFGWTR_EL2_nMASK |
| 370 | +#define __HDFGWTR_EL2_nMASK GENMASK(62, 60) |
| 371 | + |
| 372 | +/* Similar definitions for HCRX_EL2 */ |
| 373 | +#define __HCRX_EL2_RES0 (GENMASK(63, 16) | GENMASK(13, 12)) |
| 374 | +#define __HCRX_EL2_MASK (0) |
| 375 | +#define __HCRX_EL2_nMASK (GENMASK(15, 14) | GENMASK(4, 0)) |
| 376 | + |
327 | 377 | /* Hyp Prefetch Fault Address Register (HPFAR/HDFAR) */
|
328 | 378 | #define HPFAR_MASK (~UL(0xf))
|
329 | 379 | /*
|
|
0 commit comments