|
645 | 645 | #define OP_AT_S1E0W sys_insn(AT_Op0, 0, AT_CRn, 8, 3)
|
646 | 646 | #define OP_AT_S1E1RP sys_insn(AT_Op0, 0, AT_CRn, 9, 0)
|
647 | 647 | #define OP_AT_S1E1WP sys_insn(AT_Op0, 0, AT_CRn, 9, 1)
|
| 648 | +#define OP_AT_S1E1A sys_insn(AT_Op0, 0, AT_CRn, 9, 2) |
648 | 649 | #define OP_AT_S1E2R sys_insn(AT_Op0, 4, AT_CRn, 8, 0)
|
649 | 650 | #define OP_AT_S1E2W sys_insn(AT_Op0, 4, AT_CRn, 8, 1)
|
650 | 651 | #define OP_AT_S12E1R sys_insn(AT_Op0, 4, AT_CRn, 8, 4)
|
|
781 | 782 | #define OP_TLBI_VMALLS12E1NXS sys_insn(1, 4, 9, 7, 6)
|
782 | 783 |
|
783 | 784 | /* Misc instructions */
|
| 785 | +#define OP_GCSPUSHX sys_insn(1, 0, 7, 7, 4) |
| 786 | +#define OP_GCSPOPCX sys_insn(1, 0, 7, 7, 5) |
| 787 | +#define OP_GCSPOPX sys_insn(1, 0, 7, 7, 6) |
| 788 | +#define OP_GCSPUSHM sys_insn(1, 3, 7, 7, 0) |
| 789 | + |
784 | 790 | #define OP_BRB_IALL sys_insn(1, 1, 7, 2, 4)
|
785 | 791 | #define OP_BRB_INJ sys_insn(1, 1, 7, 2, 5)
|
786 | 792 | #define OP_CFP_RCTX sys_insn(1, 3, 7, 3, 4)
|
787 | 793 | #define OP_DVP_RCTX sys_insn(1, 3, 7, 3, 5)
|
| 794 | +#define OP_COSP_RCTX sys_insn(1, 3, 7, 3, 6) |
788 | 795 | #define OP_CPP_RCTX sys_insn(1, 3, 7, 3, 7)
|
789 | 796 |
|
790 | 797 | /* Common SCTLR_ELx flags. */
|
|
1044 | 1051 |
|
1045 | 1052 | #define PIRx_ELx_PERM(idx, perm) ((perm) << ((idx) * 4))
|
1046 | 1053 |
|
| 1054 | +/* |
| 1055 | + * Permission Overlay Extension (POE) permission encodings. |
| 1056 | + */ |
| 1057 | +#define POE_NONE UL(0x0) |
| 1058 | +#define POE_R UL(0x1) |
| 1059 | +#define POE_X UL(0x2) |
| 1060 | +#define POE_RX UL(0x3) |
| 1061 | +#define POE_W UL(0x4) |
| 1062 | +#define POE_RW UL(0x5) |
| 1063 | +#define POE_XW UL(0x6) |
| 1064 | +#define POE_RXW UL(0x7) |
| 1065 | +#define POE_MASK UL(0xf) |
| 1066 | + |
1047 | 1067 | #define ARM64_FEATURE_FIELD_BITS 4
|
1048 | 1068 |
|
1049 | 1069 | /* Defined for compatibility only, do not add new users. */
|
|
0 commit comments