diff --git a/riscv/encoding.h b/riscv/encoding.h index 13cbcf03..4d41b855 100644 --- a/riscv/encoding.h +++ b/riscv/encoding.h @@ -4,7 +4,7 @@ /* * This file is auto-generated by running 'make' in - * https://github.com/riscv/riscv-opcodes (74c1158) + * https://github.com/riscv/riscv-opcodes (a974baa) */ #ifndef RISCV_CSR_ENCODING_H @@ -65,16 +65,17 @@ #define SSTATUS_UXL 0x0000000300000000 #define SSTATUS64_SD 0x8000000000000000 -#define HSTATUS_VSXL 0x300000000 -#define HSTATUS_VTSR 0x00400000 -#define HSTATUS_VTW 0x00200000 -#define HSTATUS_VTVM 0x00100000 -#define HSTATUS_VGEIN 0x0003f000 -#define HSTATUS_HU 0x00000200 -#define HSTATUS_SPVP 0x00000100 -#define HSTATUS_SPV 0x00000080 -#define HSTATUS_GVA 0x00000040 #define HSTATUS_VSBE 0x00000020 +#define HSTATUS_GVA 0x00000040 +#define HSTATUS_SPV 0x00000080 +#define HSTATUS_SPVP 0x00000100 +#define HSTATUS_HU 0x00000200 +#define HSTATUS_VGEIN 0x0003f000 +#define HSTATUS_VTVM 0x00100000 +#define HSTATUS_VTW 0x00200000 +#define HSTATUS_VTSR 0x00400000 +#define HSTATUS_HUKTE 0x01000000 +#define HSTATUS_VSXL 0x0000000300000000 #define HSTATUS_HUPMM 0x0003000000000000 #define USTATUS_UIE 0x00000001 @@ -197,20 +198,20 @@ #define MSTATEEN0_FCSR 0x00000002 #define MSTATEEN0_JVT 0x00000004 #define MSTATEEN0_CTR 0x0040000000000000 -#define MSTATEEN0_PRIV113 0x0100000000000000 #define MSTATEEN0_PRIV114 0x0080000000000000 -#define MSTATEEN0_IMSIC 0x0400000000000000 +#define MSTATEEN0_PRIV113 0x0100000000000000 #define MSTATEEN0_HCONTEXT 0x0200000000000000 +#define MSTATEEN0_IMSIC 0x0400000000000000 #define MSTATEEN0_AIA 0x0800000000000000 #define MSTATEEN0_CSRIND 0x1000000000000000 #define MSTATEEN0_HENVCFG 0x4000000000000000 #define MSTATEEN_HSTATEEN 0x8000000000000000 #define MSTATEEN0H_CTR 0x00400000 -#define MSTATEEN0H_PRIV113 0x01000000 #define MSTATEEN0H_PRIV114 0x00800000 -#define MSTATEEN0H_IMSIC 0x04000000 +#define MSTATEEN0H_PRIV113 0x01000000 #define MSTATEEN0H_HCONTEXT 0x02000000 +#define MSTATEEN0H_IMSIC 0x04000000 #define MSTATEEN0H_AIA 0x08000000 #define MSTATEEN0H_CSRIND 0x10000000 #define MSTATEEN0H_HENVCFG 0x40000000 @@ -308,6 +309,7 @@ #define SENVCFG_CBIE 0x00000030 #define SENVCFG_CBCFE 0x00000040 #define SENVCFG_CBZE 0x00000080 +#define SENVCFG_UKTE 0x00000100 #define SENVCFG_PMM 0x0000000300000000 #define SSTATEEN0_CS 0x00000001 @@ -401,6 +403,7 @@ #define MCTRCTL_RETINH 0x0000200000000000 #define MCTRCTL_INDLJMPINH 0x0000400000000000 #define MCTRCTL_DIRLJMPINH 0x0000800000000000 +#define MCTRCTL_CUSTOM 0xF000000000000000 #define SCTRCTL_U 0x0000000000000001 #define SCTRCTL_S 0x0000000000000002 @@ -441,12 +444,25 @@ #define VSCTRCTL_RETINH 0x0000200000000000 #define VSCTRCTL_INDLJMPINH 0x0000400000000000 #define VSCTRCTL_DIRLJMPINH 0x0000800000000000 +#define VSCTRCTL_CUSTOM 0xF000000000000000 #define SCTRDEPTH_DEPTH 0x00000007 #define SCTRSTATUS_WRPTR 0x000000FF #define SCTRSTATUS_FROZEN 0x80000000 +#define SCTR_ENTRY_BASE 0x200 + +#define SCTR_SOURCE_V 0x0000000000000001 +#define SCTR_SOURCE_PC 0xFFFFFFFFFFFFFFFE + +#define SCTR_TARGET_MISP 0x0000000000000001 +#define SCTR_TARGET_PC 0xFFFFFFFFFFFFFFFE + +#define SCTR_DATA_TYPE 0x000000000000000F +#define SCTR_DATA_CCV 0x0000000000008000 +#define SCTR_DATA_CC 0x00000000FFFF0000 + #define IRQ_U_SOFT 0 #define IRQ_S_SOFT 1 #define IRQ_VS_SOFT 2 @@ -674,6 +690,8 @@ #define MASK_BCLRI 0xfc00707f #define MATCH_BEQ 0x63 #define MASK_BEQ 0x707f +#define MATCH_BEQI 0x2063 +#define MASK_BEQI 0x707f #define MATCH_BEXT 0x48005033 #define MASK_BEXT 0xfe00707f #define MATCH_BEXTI 0x48005013 @@ -692,6 +710,8 @@ #define MASK_BLTU 0x707f #define MATCH_BNE 0x1063 #define MASK_BNE 0x707f +#define MATCH_BNEI 0x3063 +#define MASK_BNEI 0x707f #define MATCH_BSET 0x28001033 #define MASK_BSET 0xfe00707f #define MATCH_BSETI 0x28001013 @@ -1708,6 +1728,8 @@ #define MASK_VFDIV_VF 0xfc00707f #define MATCH_VFDIV_VV 0x80001057 #define MASK_VFDIV_VV 0xfc00707f +#define MATCH_VFEXT_VF2 0x480b2057 +#define MASK_VFEXT_VF2 0xfc0ff07f #define MATCH_VFIRST_M 0x4008a057 #define MASK_VFIRST_M 0xfc0ff07f #define MATCH_VFMACC_VF 0xb0005057 @@ -3154,6 +3176,7 @@ DECLARE_INSN(auipc, MATCH_AUIPC, MASK_AUIPC) DECLARE_INSN(bclr, MATCH_BCLR, MASK_BCLR) DECLARE_INSN(bclri, MATCH_BCLRI, MASK_BCLRI) DECLARE_INSN(beq, MATCH_BEQ, MASK_BEQ) +DECLARE_INSN(beqi, MATCH_BEQI, MASK_BEQI) DECLARE_INSN(bext, MATCH_BEXT, MASK_BEXT) DECLARE_INSN(bexti, MATCH_BEXTI, MASK_BEXTI) DECLARE_INSN(bge, MATCH_BGE, MASK_BGE) @@ -3163,6 +3186,7 @@ DECLARE_INSN(binvi, MATCH_BINVI, MASK_BINVI) DECLARE_INSN(blt, MATCH_BLT, MASK_BLT) DECLARE_INSN(bltu, MATCH_BLTU, MASK_BLTU) DECLARE_INSN(bne, MATCH_BNE, MASK_BNE) +DECLARE_INSN(bnei, MATCH_BNEI, MASK_BNEI) DECLARE_INSN(bset, MATCH_BSET, MASK_BSET) DECLARE_INSN(bseti, MATCH_BSETI, MASK_BSETI) DECLARE_INSN(c_add, MATCH_C_ADD, MASK_C_ADD) @@ -3671,6 +3695,7 @@ DECLARE_INSN(vfcvt_x_f_v, MATCH_VFCVT_X_F_V, MASK_VFCVT_X_F_V) DECLARE_INSN(vfcvt_xu_f_v, MATCH_VFCVT_XU_F_V, MASK_VFCVT_XU_F_V) DECLARE_INSN(vfdiv_vf, MATCH_VFDIV_VF, MASK_VFDIV_VF) DECLARE_INSN(vfdiv_vv, MATCH_VFDIV_VV, MASK_VFDIV_VV) +DECLARE_INSN(vfext_vf2, MATCH_VFEXT_VF2, MASK_VFEXT_VF2) DECLARE_INSN(vfirst_m, MATCH_VFIRST_M, MASK_VFIRST_M) DECLARE_INSN(vfmacc_vf, MATCH_VFMACC_VF, MASK_VFMACC_VF) DECLARE_INSN(vfmacc_vv, MATCH_VFMACC_VV, MASK_VFMACC_VV)