|
51 | 51 | #define ESR_ELx_EC_FP_EXC32 UL(0x28) |
52 | 52 | /* Unallocated EC: 0x29 - 0x2B */ |
53 | 53 | #define ESR_ELx_EC_FP_EXC64 UL(0x2C) |
54 | | -/* Unallocated EC: 0x2D - 0x2E */ |
| 54 | +#define ESR_ELx_EC_GCS UL(0x2D) |
| 55 | +/* Unallocated EC: 0x2E */ |
55 | 56 | #define ESR_ELx_EC_SERROR UL(0x2F) |
56 | 57 | #define ESR_ELx_EC_BREAKPT_LOW UL(0x30) |
57 | 58 | #define ESR_ELx_EC_BREAKPT_CUR UL(0x31) |
|
386 | 387 | #define ESR_ELx_MOPS_ISS_SRCREG(esr) (((esr) & (UL(0x1f) << 5)) >> 5) |
387 | 388 | #define ESR_ELx_MOPS_ISS_SIZEREG(esr) (((esr) & (UL(0x1f) << 0)) >> 0) |
388 | 389 |
|
| 390 | +/* ISS field definitions for GCS */ |
| 391 | +#define ESR_ELx_ExType_SHIFT (20) |
| 392 | +#define ESR_ELx_ExType_MASK GENMASK(23, 20) |
| 393 | +#define ESR_ELx_Raddr_SHIFT (10) |
| 394 | +#define ESR_ELx_Raddr_MASK GENMASK(14, 10) |
| 395 | +#define ESR_ELx_Rn_SHIFT (5) |
| 396 | +#define ESR_ELx_Rn_MASK GENMASK(9, 5) |
| 397 | +#define ESR_ELx_Rvalue_SHIFT 5 |
| 398 | +#define ESR_ELx_Rvalue_MASK GENMASK(9, 5) |
| 399 | +#define ESR_ELx_IT_SHIFT (0) |
| 400 | +#define ESR_ELx_IT_MASK GENMASK(4, 0) |
| 401 | + |
| 402 | +#define ESR_ELx_ExType_DATA_CHECK 0 |
| 403 | +#define ESR_ELx_ExType_EXLOCK 1 |
| 404 | +#define ESR_ELx_ExType_STR 2 |
| 405 | + |
| 406 | +#define ESR_ELx_IT_RET 0 |
| 407 | +#define ESR_ELx_IT_GCSPOPM 1 |
| 408 | +#define ESR_ELx_IT_RET_KEYA 2 |
| 409 | +#define ESR_ELx_IT_RET_KEYB 3 |
| 410 | +#define ESR_ELx_IT_GCSSS1 4 |
| 411 | +#define ESR_ELx_IT_GCSSS2 5 |
| 412 | +#define ESR_ELx_IT_GCSPOPCX 6 |
| 413 | +#define ESR_ELx_IT_GCSPOPX 7 |
| 414 | + |
389 | 415 | #ifndef __ASSEMBLY__ |
390 | 416 | #include <asm/types.h> |
391 | 417 |
|
|
0 commit comments