|
|
|
@ -4,87 +4,95 @@ |
|
|
|
|
|
|
|
/*
|
|
|
|
* This file is auto-generated by running 'make' in |
|
|
|
* https://github.com/riscv/riscv-opcodes (3deaa8c)
|
|
|
|
* https://github.com/riscv/riscv-opcodes (4644ba3)
|
|
|
|
*/ |
|
|
|
|
|
|
|
#ifndef RISCV_CSR_ENCODING_H |
|
|
|
#define RISCV_CSR_ENCODING_H |
|
|
|
|
|
|
|
#define MSTATUS_UIE 0x00000001 |
|
|
|
#define MSTATUS_SIE 0x00000002 |
|
|
|
#define MSTATUS_HIE 0x00000004 |
|
|
|
#define MSTATUS_MIE 0x00000008 |
|
|
|
#define MSTATUS_UPIE 0x00000010 |
|
|
|
#define MSTATUS_SPIE 0x00000020 |
|
|
|
#define MSTATUS_UBE 0x00000040 |
|
|
|
#define MSTATUS_MPIE 0x00000080 |
|
|
|
#define MSTATUS_SPP 0x00000100 |
|
|
|
#define MSTATUS_VS 0x00000600 |
|
|
|
#define MSTATUS_MPP 0x00001800 |
|
|
|
#define MSTATUS_FS 0x00006000 |
|
|
|
#define MSTATUS_XS 0x00018000 |
|
|
|
#define MSTATUS_MPRV 0x00020000 |
|
|
|
#define MSTATUS_SUM 0x00040000 |
|
|
|
#define MSTATUS_MXR 0x00080000 |
|
|
|
#define MSTATUS_TVM 0x00100000 |
|
|
|
#define MSTATUS_TW 0x00200000 |
|
|
|
#define MSTATUS_TSR 0x00400000 |
|
|
|
#define MSTATUS_SPELP 0x00800000 |
|
|
|
#define MSTATUS_SDT 0x01000000 |
|
|
|
#define MSTATUS32_SD 0x80000000 |
|
|
|
#define MSTATUS_UXL 0x0000000300000000 |
|
|
|
#define MSTATUS_SXL 0x0000000C00000000 |
|
|
|
#define MSTATUS_SBE 0x0000001000000000 |
|
|
|
#define MSTATUS_MBE 0x0000002000000000 |
|
|
|
#define MSTATUS_GVA 0x0000004000000000 |
|
|
|
#define MSTATUS_MPV 0x0000008000000000 |
|
|
|
#define MSTATUS_MPELP 0x0000020000000000 |
|
|
|
#define MSTATUS_MDT 0x0000040000000000 |
|
|
|
#define MSTATUS64_SD 0x8000000000000000 |
|
|
|
#ifdef __ASSEMBLY__ |
|
|
|
#define _RISCV_UL(x) x |
|
|
|
#define _RISCV_ULL(x) x |
|
|
|
#else |
|
|
|
#define _RISCV_UL(x) x##UL |
|
|
|
#define _RISCV_ULL(x) x##ULL |
|
|
|
#endif |
|
|
|
|
|
|
|
#define MSTATUS_UIE _RISCV_UL(0x00000001) |
|
|
|
#define MSTATUS_SIE _RISCV_UL(0x00000002) |
|
|
|
#define MSTATUS_HIE _RISCV_UL(0x00000004) |
|
|
|
#define MSTATUS_MIE _RISCV_UL(0x00000008) |
|
|
|
#define MSTATUS_UPIE _RISCV_UL(0x00000010) |
|
|
|
#define MSTATUS_SPIE _RISCV_UL(0x00000020) |
|
|
|
#define MSTATUS_UBE _RISCV_UL(0x00000040) |
|
|
|
#define MSTATUS_MPIE _RISCV_UL(0x00000080) |
|
|
|
#define MSTATUS_SPP _RISCV_UL(0x00000100) |
|
|
|
#define MSTATUS_VS _RISCV_UL(0x00000600) |
|
|
|
#define MSTATUS_MPP _RISCV_UL(0x00001800) |
|
|
|
#define MSTATUS_FS _RISCV_UL(0x00006000) |
|
|
|
#define MSTATUS_XS _RISCV_UL(0x00018000) |
|
|
|
#define MSTATUS_MPRV _RISCV_UL(0x00020000) |
|
|
|
#define MSTATUS_SUM _RISCV_UL(0x00040000) |
|
|
|
#define MSTATUS_MXR _RISCV_UL(0x00080000) |
|
|
|
#define MSTATUS_TVM _RISCV_UL(0x00100000) |
|
|
|
#define MSTATUS_TW _RISCV_UL(0x00200000) |
|
|
|
#define MSTATUS_TSR _RISCV_UL(0x00400000) |
|
|
|
#define MSTATUS_SPELP _RISCV_UL(0x00800000) |
|
|
|
#define MSTATUS_SDT _RISCV_UL(0x01000000) |
|
|
|
#define MSTATUS32_SD _RISCV_UL(0x80000000) |
|
|
|
#define MSTATUS_UXL _RISCV_ULL(0x0000000300000000) |
|
|
|
#define MSTATUS_SXL _RISCV_ULL(0x0000000C00000000) |
|
|
|
#define MSTATUS_SBE _RISCV_ULL(0x0000001000000000) |
|
|
|
#define MSTATUS_MBE _RISCV_ULL(0x0000002000000000) |
|
|
|
#define MSTATUS_GVA _RISCV_ULL(0x0000004000000000) |
|
|
|
#define MSTATUS_MPV _RISCV_ULL(0x0000008000000000) |
|
|
|
#define MSTATUS_MPELP _RISCV_ULL(0x0000020000000000) |
|
|
|
#define MSTATUS_MDT _RISCV_ULL(0x0000040000000000) |
|
|
|
#define MSTATUS64_SD _RISCV_ULL(0x8000000000000000) |
|
|
|
|
|
|
|
#define MSTATUSH_SBE 0x00000010 |
|
|
|
#define MSTATUSH_MBE 0x00000020 |
|
|
|
#define MSTATUSH_GVA 0x00000040 |
|
|
|
#define MSTATUSH_MPV 0x00000080 |
|
|
|
#define MSTATUSH_MDT 0x00000400 |
|
|
|
#define MSTATUSH_SBE _RISCV_UL(0x00000010) |
|
|
|
#define MSTATUSH_MBE _RISCV_UL(0x00000020) |
|
|
|
#define MSTATUSH_GVA _RISCV_UL(0x00000040) |
|
|
|
#define MSTATUSH_MPV _RISCV_UL(0x00000080) |
|
|
|
#define MSTATUSH_MDT _RISCV_UL(0x00000400) |
|
|
|
|
|
|
|
#define SSTATUS_UIE 0x00000001 |
|
|
|
#define SSTATUS_SIE 0x00000002 |
|
|
|
#define SSTATUS_UPIE 0x00000010 |
|
|
|
#define SSTATUS_SPIE 0x00000020 |
|
|
|
#define SSTATUS_UBE 0x00000040 |
|
|
|
#define SSTATUS_SPP 0x00000100 |
|
|
|
#define SSTATUS_VS 0x00000600 |
|
|
|
#define SSTATUS_FS 0x00006000 |
|
|
|
#define SSTATUS_XS 0x00018000 |
|
|
|
#define SSTATUS_SUM 0x00040000 |
|
|
|
#define SSTATUS_MXR 0x00080000 |
|
|
|
#define SSTATUS_SPELP 0x00800000 |
|
|
|
#define SSTATUS_SDT 0x01000000 |
|
|
|
#define SSTATUS32_SD 0x80000000 |
|
|
|
#define SSTATUS_UXL 0x0000000300000000 |
|
|
|
#define SSTATUS64_SD 0x8000000000000000 |
|
|
|
#define SSTATUS_UIE _RISCV_UL(0x00000001) |
|
|
|
#define SSTATUS_SIE _RISCV_UL(0x00000002) |
|
|
|
#define SSTATUS_UPIE _RISCV_UL(0x00000010) |
|
|
|
#define SSTATUS_SPIE _RISCV_UL(0x00000020) |
|
|
|
#define SSTATUS_UBE _RISCV_UL(0x00000040) |
|
|
|
#define SSTATUS_SPP _RISCV_UL(0x00000100) |
|
|
|
#define SSTATUS_VS _RISCV_UL(0x00000600) |
|
|
|
#define SSTATUS_FS _RISCV_UL(0x00006000) |
|
|
|
#define SSTATUS_XS _RISCV_UL(0x00018000) |
|
|
|
#define SSTATUS_SUM _RISCV_UL(0x00040000) |
|
|
|
#define SSTATUS_MXR _RISCV_UL(0x00080000) |
|
|
|
#define SSTATUS_SPELP _RISCV_UL(0x00800000) |
|
|
|
#define SSTATUS_SDT _RISCV_UL(0x01000000) |
|
|
|
#define SSTATUS32_SD _RISCV_UL(0x80000000) |
|
|
|
#define SSTATUS_UXL _RISCV_ULL(0x0000000300000000) |
|
|
|
#define SSTATUS64_SD _RISCV_ULL(0x8000000000000000) |
|
|
|
|
|
|
|
#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 HSTATUS_VSBE _RISCV_UL(0x00000020) |
|
|
|
#define HSTATUS_GVA _RISCV_UL(0x00000040) |
|
|
|
#define HSTATUS_SPV _RISCV_UL(0x00000080) |
|
|
|
#define HSTATUS_SPVP _RISCV_UL(0x00000100) |
|
|
|
#define HSTATUS_HU _RISCV_UL(0x00000200) |
|
|
|
#define HSTATUS_VGEIN _RISCV_UL(0x0003f000) |
|
|
|
#define HSTATUS_VTVM _RISCV_UL(0x00100000) |
|
|
|
#define HSTATUS_VTW _RISCV_UL(0x00200000) |
|
|
|
#define HSTATUS_VTSR _RISCV_UL(0x00400000) |
|
|
|
#define HSTATUS_HUKTE _RISCV_UL(0x01000000) |
|
|
|
#define HSTATUS_VSXL _RISCV_ULL(0x0000000300000000) |
|
|
|
#define HSTATUS_HUPMM _RISCV_ULL(0x0003000000000000) |
|
|
|
|
|
|
|
#define USTATUS_UIE 0x00000001 |
|
|
|
#define USTATUS_UPIE 0x00000010 |
|
|
|
#define USTATUS_UIE _RISCV_UL(0x00000001) |
|
|
|
#define USTATUS_UPIE _RISCV_UL(0x00000010) |
|
|
|
|
|
|
|
#define MNSTATUS_NMIE 0x00000008 |
|
|
|
#define MNSTATUS_MNPV 0x00000080 |
|
|
|
#define MNSTATUS_MNPELP 0x00000200 |
|
|
|
#define MNSTATUS_MNPP 0x00001800 |
|
|
|
#define MNSTATUS_NMIE _RISCV_UL(0x00000008) |
|
|
|
#define MNSTATUS_MNPV _RISCV_UL(0x00000080) |
|
|
|
#define MNSTATUS_MNPELP _RISCV_UL(0x00000200) |
|
|
|
#define MNSTATUS_MNPP _RISCV_UL(0x00001800) |
|
|
|
|
|
|
|
#define DCSR_XDEBUGVER (15U<<28) |
|
|
|
#define DCSR_EXTCAUSE (7<<24) |
|
|
|
@ -116,9 +124,9 @@ |
|
|
|
|
|
|
|
#define DCSR_EXTCAUSE_CRITERR 0 |
|
|
|
|
|
|
|
#define MCONTROL_TYPE(xlen) (0xfULL<<((xlen)-4)) |
|
|
|
#define MCONTROL_DMODE(xlen) (1ULL<<((xlen)-5)) |
|
|
|
#define MCONTROL_MASKMAX(xlen) (0x3fULL<<((xlen)-11)) |
|
|
|
#define MCONTROL_TYPE(xlen) (_RISCV_ULL(0xf)<<((xlen)-4)) |
|
|
|
#define MCONTROL_DMODE(xlen) (_RISCV_ULL(1)<<((xlen)-5)) |
|
|
|
#define MCONTROL_MASKMAX(xlen) (_RISCV_ULL(0x3f)<<((xlen)-11)) |
|
|
|
|
|
|
|
#define MCONTROL_SELECT (1<<19) |
|
|
|
#define MCONTROL_TIMING (1<<18) |
|
|
|
@ -163,8 +171,8 @@ |
|
|
|
#define MIP_MEIP (1 << IRQ_M_EXT) |
|
|
|
#define MIP_SGEIP (1 << IRQ_S_GEXT) |
|
|
|
#define MIP_LCOFIP (1 << IRQ_LCOF) |
|
|
|
#define MIP_RAS_LOW_PRIO (1ULL << IRQ_RAS_LOW_PRIO) |
|
|
|
#define MIP_RAS_HIGH_PRIO (1ULL << IRQ_RAS_HIGH_PRIO) |
|
|
|
#define MIP_RAS_LOW_PRIO (_RISCV_ULL(1) << IRQ_RAS_LOW_PRIO) |
|
|
|
#define MIP_RAS_HIGH_PRIO (_RISCV_ULL(1) << IRQ_RAS_HIGH_PRIO) |
|
|
|
|
|
|
|
#define MIP_S_MASK (MIP_SSIP | MIP_STIP | MIP_SEIP) |
|
|
|
#define MIP_VS_MASK (MIP_VSSIP | MIP_VSTIP | MIP_VSEIP) |
|
|
|
@ -175,61 +183,61 @@ |
|
|
|
#define SIP_SSIP MIP_SSIP |
|
|
|
#define SIP_STIP MIP_STIP |
|
|
|
|
|
|
|
#define MENVCFG_FIOM 0x00000001 |
|
|
|
#define MENVCFG_LPE 0x00000004 |
|
|
|
#define MENVCFG_SSE 0x00000008 |
|
|
|
#define MENVCFG_CBIE 0x00000030 |
|
|
|
#define MENVCFG_CBCFE 0x00000040 |
|
|
|
#define MENVCFG_CBZE 0x00000080 |
|
|
|
#define MENVCFG_PMM 0x0000000300000000 |
|
|
|
#define MENVCFG_DTE 0x0800000000000000 |
|
|
|
#define MENVCFG_CDE 0x1000000000000000 |
|
|
|
#define MENVCFG_ADUE 0x2000000000000000 |
|
|
|
#define MENVCFG_PBMTE 0x4000000000000000 |
|
|
|
#define MENVCFG_STCE 0x8000000000000000 |
|
|
|
#define MENVCFG_FIOM _RISCV_UL(0x00000001) |
|
|
|
#define MENVCFG_LPE _RISCV_UL(0x00000004) |
|
|
|
#define MENVCFG_SSE _RISCV_UL(0x00000008) |
|
|
|
#define MENVCFG_CBIE _RISCV_UL(0x00000030) |
|
|
|
#define MENVCFG_CBCFE _RISCV_UL(0x00000040) |
|
|
|
#define MENVCFG_CBZE _RISCV_UL(0x00000080) |
|
|
|
#define MENVCFG_PMM _RISCV_ULL(0x0000000300000000) |
|
|
|
#define MENVCFG_DTE _RISCV_ULL(0x0800000000000000) |
|
|
|
#define MENVCFG_CDE _RISCV_ULL(0x1000000000000000) |
|
|
|
#define MENVCFG_ADUE _RISCV_ULL(0x2000000000000000) |
|
|
|
#define MENVCFG_PBMTE _RISCV_ULL(0x4000000000000000) |
|
|
|
#define MENVCFG_STCE _RISCV_ULL(0x8000000000000000) |
|
|
|
|
|
|
|
#define MENVCFGH_DTE 0x08000000 |
|
|
|
#define MENVCFGH_CDE 0x10000000 |
|
|
|
#define MENVCFGH_ADUE 0x20000000 |
|
|
|
#define MENVCFGH_PBMTE 0x40000000 |
|
|
|
#define MENVCFGH_STCE 0x80000000 |
|
|
|
#define MENVCFGH_DTE _RISCV_UL(0x08000000) |
|
|
|
#define MENVCFGH_CDE _RISCV_UL(0x10000000) |
|
|
|
#define MENVCFGH_ADUE _RISCV_UL(0x20000000) |
|
|
|
#define MENVCFGH_PBMTE _RISCV_UL(0x40000000) |
|
|
|
#define MENVCFGH_STCE _RISCV_UL(0x80000000) |
|
|
|
|
|
|
|
#define MSTATEEN0_CS 0x00000001 |
|
|
|
#define MSTATEEN0_FCSR 0x00000002 |
|
|
|
#define MSTATEEN0_JVT 0x00000004 |
|
|
|
#define MSTATEEN0_CTR 0x0040000000000000 |
|
|
|
#define MSTATEEN0_PRIV114 0x0080000000000000 |
|
|
|
#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 MSTATEEN0_CS _RISCV_UL(0x00000001) |
|
|
|
#define MSTATEEN0_FCSR _RISCV_UL(0x00000002) |
|
|
|
#define MSTATEEN0_JVT _RISCV_UL(0x00000004) |
|
|
|
#define MSTATEEN0_CTR _RISCV_ULL(0x0040000000000000) |
|
|
|
#define MSTATEEN0_PRIV114 _RISCV_ULL(0x0080000000000000) |
|
|
|
#define MSTATEEN0_PRIV113 _RISCV_ULL(0x0100000000000000) |
|
|
|
#define MSTATEEN0_HCONTEXT _RISCV_ULL(0x0200000000000000) |
|
|
|
#define MSTATEEN0_IMSIC _RISCV_ULL(0x0400000000000000) |
|
|
|
#define MSTATEEN0_AIA _RISCV_ULL(0x0800000000000000) |
|
|
|
#define MSTATEEN0_CSRIND _RISCV_ULL(0x1000000000000000) |
|
|
|
#define MSTATEEN0_HENVCFG _RISCV_ULL(0x4000000000000000) |
|
|
|
#define MSTATEEN_HSTATEEN _RISCV_ULL(0x8000000000000000) |
|
|
|
|
|
|
|
#define MSTATEEN0H_CTR 0x00400000 |
|
|
|
#define MSTATEEN0H_PRIV114 0x00800000 |
|
|
|
#define MSTATEEN0H_PRIV113 0x01000000 |
|
|
|
#define MSTATEEN0H_HCONTEXT 0x02000000 |
|
|
|
#define MSTATEEN0H_IMSIC 0x04000000 |
|
|
|
#define MSTATEEN0H_AIA 0x08000000 |
|
|
|
#define MSTATEEN0H_CSRIND 0x10000000 |
|
|
|
#define MSTATEEN0H_HENVCFG 0x40000000 |
|
|
|
#define MSTATEENH_HSTATEEN 0x80000000 |
|
|
|
#define MSTATEEN0H_CTR _RISCV_UL(0x00400000) |
|
|
|
#define MSTATEEN0H_PRIV114 _RISCV_UL(0x00800000) |
|
|
|
#define MSTATEEN0H_PRIV113 _RISCV_UL(0x01000000) |
|
|
|
#define MSTATEEN0H_HCONTEXT _RISCV_UL(0x02000000) |
|
|
|
#define MSTATEEN0H_IMSIC _RISCV_UL(0x04000000) |
|
|
|
#define MSTATEEN0H_AIA _RISCV_UL(0x08000000) |
|
|
|
#define MSTATEEN0H_CSRIND _RISCV_UL(0x10000000) |
|
|
|
#define MSTATEEN0H_HENVCFG _RISCV_UL(0x40000000) |
|
|
|
#define MSTATEENH_HSTATEEN _RISCV_UL(0x80000000) |
|
|
|
|
|
|
|
#define MHPMEVENT_VUINH 0x0400000000000000 |
|
|
|
#define MHPMEVENT_VSINH 0x0800000000000000 |
|
|
|
#define MHPMEVENT_UINH 0x1000000000000000 |
|
|
|
#define MHPMEVENT_SINH 0x2000000000000000 |
|
|
|
#define MHPMEVENT_MINH 0x4000000000000000 |
|
|
|
#define MHPMEVENT_OF 0x8000000000000000 |
|
|
|
#define MHPMEVENT_VUINH _RISCV_ULL(0x0400000000000000) |
|
|
|
#define MHPMEVENT_VSINH _RISCV_ULL(0x0800000000000000) |
|
|
|
#define MHPMEVENT_UINH _RISCV_ULL(0x1000000000000000) |
|
|
|
#define MHPMEVENT_SINH _RISCV_ULL(0x2000000000000000) |
|
|
|
#define MHPMEVENT_MINH _RISCV_ULL(0x4000000000000000) |
|
|
|
#define MHPMEVENT_OF _RISCV_ULL(0x8000000000000000) |
|
|
|
|
|
|
|
#define MHPMEVENTH_VUINH 0x04000000 |
|
|
|
#define MHPMEVENTH_VSINH 0x08000000 |
|
|
|
#define MHPMEVENTH_UINH 0x10000000 |
|
|
|
#define MHPMEVENTH_SINH 0x20000000 |
|
|
|
#define MHPMEVENTH_MINH 0x40000000 |
|
|
|
#define MHPMEVENTH_OF 0x80000000 |
|
|
|
#define MHPMEVENTH_VUINH _RISCV_UL(0x04000000) |
|
|
|
#define MHPMEVENTH_VSINH _RISCV_UL(0x08000000) |
|
|
|
#define MHPMEVENTH_UINH _RISCV_UL(0x10000000) |
|
|
|
#define MHPMEVENTH_SINH _RISCV_UL(0x20000000) |
|
|
|
#define MHPMEVENTH_MINH _RISCV_UL(0x40000000) |
|
|
|
#define MHPMEVENTH_OF _RISCV_UL(0x80000000) |
|
|
|
|
|
|
|
#define MCOUNTEREN_CY_SHIFT 0 |
|
|
|
#define MCOUNTEREN_TIME_SHIFT 1 |
|
|
|
@ -242,100 +250,100 @@ |
|
|
|
#define MCOUNTINHIBIT_CY MCOUNTEREN_CY |
|
|
|
#define MCOUNTINHIBIT_IR MCOUNTEREN_IR |
|
|
|
|
|
|
|
#define HENVCFG_FIOM 0x00000001 |
|
|
|
#define HENVCFG_LPE 0x00000004 |
|
|
|
#define HENVCFG_SSE 0x00000008 |
|
|
|
#define HENVCFG_CBIE 0x00000030 |
|
|
|
#define HENVCFG_CBCFE 0x00000040 |
|
|
|
#define HENVCFG_CBZE 0x00000080 |
|
|
|
#define HENVCFG_PMM 0x0000000300000000 |
|
|
|
#define HENVCFG_DTE 0x0800000000000000 |
|
|
|
#define HENVCFG_ADUE 0x2000000000000000 |
|
|
|
#define HENVCFG_PBMTE 0x4000000000000000 |
|
|
|
#define HENVCFG_STCE 0x8000000000000000 |
|
|
|
#define HENVCFG_FIOM _RISCV_UL(0x00000001) |
|
|
|
#define HENVCFG_LPE _RISCV_UL(0x00000004) |
|
|
|
#define HENVCFG_SSE _RISCV_UL(0x00000008) |
|
|
|
#define HENVCFG_CBIE _RISCV_UL(0x00000030) |
|
|
|
#define HENVCFG_CBCFE _RISCV_UL(0x00000040) |
|
|
|
#define HENVCFG_CBZE _RISCV_UL(0x00000080) |
|
|
|
#define HENVCFG_PMM _RISCV_ULL(0x0000000300000000) |
|
|
|
#define HENVCFG_DTE _RISCV_ULL(0x0800000000000000) |
|
|
|
#define HENVCFG_ADUE _RISCV_ULL(0x2000000000000000) |
|
|
|
#define HENVCFG_PBMTE _RISCV_ULL(0x4000000000000000) |
|
|
|
#define HENVCFG_STCE _RISCV_ULL(0x8000000000000000) |
|
|
|
|
|
|
|
#define HENVCFGH_DTE 0x08000000 |
|
|
|
#define HENVCFGH_ADUE 0x20000000 |
|
|
|
#define HENVCFGH_PBMTE 0x40000000 |
|
|
|
#define HENVCFGH_STCE 0x80000000 |
|
|
|
#define HENVCFGH_DTE _RISCV_UL(0x08000000) |
|
|
|
#define HENVCFGH_ADUE _RISCV_UL(0x20000000) |
|
|
|
#define HENVCFGH_PBMTE _RISCV_UL(0x40000000) |
|
|
|
#define HENVCFGH_STCE _RISCV_UL(0x80000000) |
|
|
|
|
|
|
|
#define SISELECT_SMCDELEG_START 0x40 |
|
|
|
#define SISELECT_SMCDELEG_UNUSED 0x41 |
|
|
|
#define SISELECT_SMCDELEG_INSTRET 0x42 |
|
|
|
#define SISELECT_SMCDELEG_INSTRETCFG 0x42 |
|
|
|
#define SISELECT_SMCDELEG_START _RISCV_UL(0x40) |
|
|
|
#define SISELECT_SMCDELEG_UNUSED _RISCV_UL(0x41) |
|
|
|
#define SISELECT_SMCDELEG_INSTRET _RISCV_UL(0x42) |
|
|
|
#define SISELECT_SMCDELEG_INSTRETCFG _RISCV_UL(0x42) |
|
|
|
/*
|
|
|
|
* ?iselect values for hpmcounters4..31 and hpmevent4..31 |
|
|
|
* can easily computed, and were elided for brevity. |
|
|
|
*/ |
|
|
|
#define SISELECT_SMCDELEG_HPMCOUNTER_3 0x43 |
|
|
|
#define SISELECT_SMCDELEG_HPMEVENT_3 0x43 |
|
|
|
#define SISELECT_SMCDELEG_END 0x5f |
|
|
|
#define SISELECT_SMCDELEG_HPMCOUNTER_3 _RISCV_UL(0x43) |
|
|
|
#define SISELECT_SMCDELEG_HPMEVENT_3 _RISCV_UL(0x43) |
|
|
|
#define SISELECT_SMCDELEG_END _RISCV_UL(0x5f) |
|
|
|
|
|
|
|
#define MISELECT_IPRIO 0x30 |
|
|
|
#define MISELECT_IPRIO_TOP 0x3f |
|
|
|
#define MISELECT_IMSIC 0x70 |
|
|
|
#define MISELECT_IMSIC_TOP 0xff |
|
|
|
#define MISELECT_IPRIO _RISCV_UL(0x30) |
|
|
|
#define MISELECT_IPRIO_TOP _RISCV_UL(0x3f) |
|
|
|
#define MISELECT_IMSIC _RISCV_UL(0x70) |
|
|
|
#define MISELECT_IMSIC_TOP _RISCV_UL(0xff) |
|
|
|
|
|
|
|
#define SISELECT_IPRIO 0x30 |
|
|
|
#define SISELECT_IPRIO_TOP 0x3f |
|
|
|
#define SISELECT_IMSIC 0x70 |
|
|
|
#define SISELECT_IMSIC_TOP 0xff |
|
|
|
#define SISELECT_IPRIO _RISCV_UL(0x30) |
|
|
|
#define SISELECT_IPRIO_TOP _RISCV_UL(0x3f) |
|
|
|
#define SISELECT_IMSIC _RISCV_UL(0x70) |
|
|
|
#define SISELECT_IMSIC_TOP _RISCV_UL(0xff) |
|
|
|
|
|
|
|
#define VSISELECT_IMSIC 0x70 |
|
|
|
#define VSISELECT_IMSIC_TOP 0xff |
|
|
|
#define VSISELECT_IMSIC _RISCV_UL(0x70) |
|
|
|
#define VSISELECT_IMSIC_TOP _RISCV_UL(0xff) |
|
|
|
|
|
|
|
#define HSTATEEN0_CS 0x00000001 |
|
|
|
#define HSTATEEN0_FCSR 0x00000002 |
|
|
|
#define HSTATEEN0_JVT 0x00000004 |
|
|
|
#define HSTATEEN0_CTR 0x0040000000000000 |
|
|
|
#define HSTATEEN0_SCONTEXT 0x0200000000000000 |
|
|
|
#define HSTATEEN0_IMSIC 0x0400000000000000 |
|
|
|
#define HSTATEEN0_AIA 0x0800000000000000 |
|
|
|
#define HSTATEEN0_CSRIND 0x1000000000000000 |
|
|
|
#define HSTATEEN0_SENVCFG 0x4000000000000000 |
|
|
|
#define HSTATEEN_SSTATEEN 0x8000000000000000 |
|
|
|
#define HSTATEEN0_CS _RISCV_UL(0x00000001) |
|
|
|
#define HSTATEEN0_FCSR _RISCV_UL(0x00000002) |
|
|
|
#define HSTATEEN0_JVT _RISCV_UL(0x00000004) |
|
|
|
#define HSTATEEN0_CTR _RISCV_ULL(0x0040000000000000) |
|
|
|
#define HSTATEEN0_SCONTEXT _RISCV_ULL(0x0200000000000000) |
|
|
|
#define HSTATEEN0_IMSIC _RISCV_ULL(0x0400000000000000) |
|
|
|
#define HSTATEEN0_AIA _RISCV_ULL(0x0800000000000000) |
|
|
|
#define HSTATEEN0_CSRIND _RISCV_ULL(0x1000000000000000) |
|
|
|
#define HSTATEEN0_SENVCFG _RISCV_ULL(0x4000000000000000) |
|
|
|
#define HSTATEEN_SSTATEEN _RISCV_ULL(0x8000000000000000) |
|
|
|
|
|
|
|
#define HSTATEEN0H_CTR 0x00400000 |
|
|
|
#define HSTATEEN0H_SCONTEXT 0x02000000 |
|
|
|
#define HSTATEEN0H_IMSIC 0x04000000 |
|
|
|
#define HSTATEEN0H_AIA 0x08000000 |
|
|
|
#define HSTATEEN0H_CSRIND 0x10000000 |
|
|
|
#define HSTATEEN0H_SENVCFG 0x40000000 |
|
|
|
#define HSTATEENH_SSTATEEN 0x80000000 |
|
|
|
#define HSTATEEN0H_CTR _RISCV_UL(0x00400000) |
|
|
|
#define HSTATEEN0H_SCONTEXT _RISCV_UL(0x02000000) |
|
|
|
#define HSTATEEN0H_IMSIC _RISCV_UL(0x04000000) |
|
|
|
#define HSTATEEN0H_AIA _RISCV_UL(0x08000000) |
|
|
|
#define HSTATEEN0H_CSRIND _RISCV_UL(0x10000000) |
|
|
|
#define HSTATEEN0H_SENVCFG _RISCV_UL(0x40000000) |
|
|
|
#define HSTATEENH_SSTATEEN _RISCV_UL(0x80000000) |
|
|
|
|
|
|
|
#define SENVCFG_FIOM 0x00000001 |
|
|
|
#define SENVCFG_LPE 0x00000004 |
|
|
|
#define SENVCFG_SSE 0x00000008 |
|
|
|
#define SENVCFG_CBIE 0x00000030 |
|
|
|
#define SENVCFG_CBCFE 0x00000040 |
|
|
|
#define SENVCFG_CBZE 0x00000080 |
|
|
|
#define SENVCFG_UKTE 0x00000100 |
|
|
|
#define SENVCFG_PMM 0x0000000300000000 |
|
|
|
#define SENVCFG_FIOM _RISCV_UL(0x00000001) |
|
|
|
#define SENVCFG_LPE _RISCV_UL(0x00000004) |
|
|
|
#define SENVCFG_SSE _RISCV_UL(0x00000008) |
|
|
|
#define SENVCFG_CBIE _RISCV_UL(0x00000030) |
|
|
|
#define SENVCFG_CBCFE _RISCV_UL(0x00000040) |
|
|
|
#define SENVCFG_CBZE _RISCV_UL(0x00000080) |
|
|
|
#define SENVCFG_UKTE _RISCV_UL(0x00000100) |
|
|
|
#define SENVCFG_PMM _RISCV_ULL(0x0000000300000000) |
|
|
|
|
|
|
|
#define SSTATEEN0_CS 0x00000001 |
|
|
|
#define SSTATEEN0_FCSR 0x00000002 |
|
|
|
#define SSTATEEN0_JVT 0x00000004 |
|
|
|
#define SSTATEEN0_CS _RISCV_UL(0x00000001) |
|
|
|
#define SSTATEEN0_FCSR _RISCV_UL(0x00000002) |
|
|
|
#define SSTATEEN0_JVT _RISCV_UL(0x00000004) |
|
|
|
|
|
|
|
#define MSECCFG_MML 0x00000001 |
|
|
|
#define MSECCFG_MMWP 0x00000002 |
|
|
|
#define MSECCFG_RLB 0x00000004 |
|
|
|
#define MSECCFG_USEED 0x00000100 |
|
|
|
#define MSECCFG_SSEED 0x00000200 |
|
|
|
#define MSECCFG_MLPE 0x00000400 |
|
|
|
#define MSECCFG_PMM 0x0000000300000000 |
|
|
|
#define MSECCFG_MML _RISCV_UL(0x00000001) |
|
|
|
#define MSECCFG_MMWP _RISCV_UL(0x00000002) |
|
|
|
#define MSECCFG_RLB _RISCV_UL(0x00000004) |
|
|
|
#define MSECCFG_USEED _RISCV_UL(0x00000100) |
|
|
|
#define MSECCFG_SSEED _RISCV_UL(0x00000200) |
|
|
|
#define MSECCFG_MLPE _RISCV_UL(0x00000400) |
|
|
|
#define MSECCFG_PMM _RISCV_ULL(0x0000000300000000) |
|
|
|
|
|
|
|
/* jvt fields */ |
|
|
|
#define JVT_MODE 0x3F |
|
|
|
#define JVT_MODE _RISCV_UL(0x3F) |
|
|
|
#define JVT_BASE (~0x3F) |
|
|
|
|
|
|
|
#define HVICTL_VTI 0x40000000 |
|
|
|
#define HVICTL_IID 0x003F0000 |
|
|
|
#define HVICTL_DPR 0x00000200 |
|
|
|
#define HVICTL_IPRIOM 0x00000100 |
|
|
|
#define HVICTL_IPRIO 0x000000FF |
|
|
|
#define HVICTL_VTI _RISCV_UL(0x40000000) |
|
|
|
#define HVICTL_IID _RISCV_UL(0x003F0000) |
|
|
|
#define HVICTL_DPR _RISCV_UL(0x00000200) |
|
|
|
#define HVICTL_IPRIOM _RISCV_UL(0x00000100) |
|
|
|
#define HVICTL_IPRIO _RISCV_UL(0x000000FF) |
|
|
|
|
|
|
|
#define MTOPI_IID 0x0FFF0000 |
|
|
|
#define MTOPI_IPRIO 0x000000FF |
|
|
|
#define MTOPI_IID _RISCV_UL(0x0FFF0000) |
|
|
|
#define MTOPI_IPRIO _RISCV_UL(0x000000FF) |
|
|
|
|
|
|
|
#define PRV_U 0 |
|
|
|
#define PRV_S 1 |
|
|
|
@ -343,12 +351,12 @@ |
|
|
|
|
|
|
|
#define PRV_HS (PRV_S + 1) |
|
|
|
|
|
|
|
#define SATP32_MODE 0x80000000 |
|
|
|
#define SATP32_ASID 0x7FC00000 |
|
|
|
#define SATP32_PPN 0x003FFFFF |
|
|
|
#define SATP64_MODE 0xF000000000000000 |
|
|
|
#define SATP64_ASID 0x0FFFF00000000000 |
|
|
|
#define SATP64_PPN 0x00000FFFFFFFFFFF |
|
|
|
#define SATP32_MODE _RISCV_UL(0x80000000) |
|
|
|
#define SATP32_ASID _RISCV_UL(0x7FC00000) |
|
|
|
#define SATP32_PPN _RISCV_UL(0x003FFFFF) |
|
|
|
#define SATP64_MODE _RISCV_ULL(0xF000000000000000) |
|
|
|
#define SATP64_ASID _RISCV_ULL(0x0FFFF00000000000) |
|
|
|
#define SATP64_PPN _RISCV_ULL(0x00000FFFFFFFFFFF) |
|
|
|
|
|
|
|
#define SATP_MODE_OFF 0 |
|
|
|
#define SATP_MODE_SV32 1 |
|
|
|
@ -357,13 +365,13 @@ |
|
|
|
#define SATP_MODE_SV57 10 |
|
|
|
#define SATP_MODE_SV64 11 |
|
|
|
|
|
|
|
#define HGATP32_MODE 0x80000000 |
|
|
|
#define HGATP32_VMID 0x1FC00000 |
|
|
|
#define HGATP32_PPN 0x003FFFFF |
|
|
|
#define HGATP32_MODE _RISCV_UL(0x80000000) |
|
|
|
#define HGATP32_VMID _RISCV_UL(0x1FC00000) |
|
|
|
#define HGATP32_PPN _RISCV_UL(0x003FFFFF) |
|
|
|
|
|
|
|
#define HGATP64_MODE 0xF000000000000000 |
|
|
|
#define HGATP64_VMID 0x03FFF00000000000 |
|
|
|
#define HGATP64_PPN 0x00000FFFFFFFFFFF |
|
|
|
#define HGATP64_MODE _RISCV_ULL(0xF000000000000000) |
|
|
|
#define HGATP64_VMID _RISCV_ULL(0x03FFF00000000000) |
|
|
|
#define HGATP64_PPN _RISCV_ULL(0x00000FFFFFFFFFFF) |
|
|
|
|
|
|
|
#define HGATP_MODE_OFF 0 |
|
|
|
#define HGATP_MODE_SV32X4 1 |
|
|
|
@ -371,101 +379,101 @@ |
|
|
|
#define HGATP_MODE_SV48X4 9 |
|
|
|
#define HGATP_MODE_SV57X4 10 |
|
|
|
|
|
|
|
#define PMP_R 0x01 |
|
|
|
#define PMP_W 0x02 |
|
|
|
#define PMP_X 0x04 |
|
|
|
#define PMP_A 0x18 |
|
|
|
#define PMP_MT 0x60 |
|
|
|
#define PMP_L 0x80 |
|
|
|
#define PMP_R _RISCV_UL(0x01) |
|
|
|
#define PMP_W _RISCV_UL(0x02) |
|
|
|
#define PMP_X _RISCV_UL(0x04) |
|
|
|
#define PMP_A _RISCV_UL(0x18) |
|
|
|
#define PMP_MT _RISCV_UL(0x60) |
|
|
|
#define PMP_L _RISCV_UL(0x80) |
|
|
|
#define PMP_SHIFT 2 |
|
|
|
|
|
|
|
#define PMP_TOR 0x08 |
|
|
|
#define PMP_NA4 0x10 |
|
|
|
#define PMP_NAPOT 0x18 |
|
|
|
#define PMP_TOR _RISCV_UL(0x08) |
|
|
|
#define PMP_NA4 _RISCV_UL(0x10) |
|
|
|
#define PMP_NAPOT _RISCV_UL(0x18) |
|
|
|
|
|
|
|
#define SPMP_U 0x100 |
|
|
|
#define SPMP_SHARED 0x200 |
|
|
|
#define SPMP_U _RISCV_UL(0x100) |
|
|
|
#define SPMP_SHARED _RISCV_UL(0x200) |
|
|
|
|
|
|
|
#define MCTRCTL_U 0x0000000000000001 |
|
|
|
#define MCTRCTL_S 0x0000000000000002 |
|
|
|
#define MCTRCTL_M 0x0000000000000004 |
|
|
|
#define MCTRCTL_RASEMU 0x0000000000000080 |
|
|
|
#define MCTRCTL_STE 0x0000000000000100 |
|
|
|
#define MCTRCTL_MTE 0x0000000000000200 |
|
|
|
#define MCTRCTL_BPFRZ 0x0000000000000800 |
|
|
|
#define MCTRCTL_LCOFIFRZ 0x0000000000001000 |
|
|
|
#define MCTRCTL_EXCINH 0x0000000200000000 |
|
|
|
#define MCTRCTL_INTRINH 0x0000000400000000 |
|
|
|
#define MCTRCTL_TRETINH 0x0000000800000000 |
|
|
|
#define MCTRCTL_NTBREN 0x0000001000000000 |
|
|
|
#define MCTRCTL_TKBRINH 0x0000002000000000 |
|
|
|
#define MCTRCTL_INDCALLINH 0x0000010000000000 |
|
|
|
#define MCTRCTL_DIRCALLINH 0x0000020000000000 |
|
|
|
#define MCTRCTL_INDJMPINH 0x0000040000000000 |
|
|
|
#define MCTRCTL_DIRJMPINH 0x0000080000000000 |
|
|
|
#define MCTRCTL_CORSWAPINH 0x0000100000000000 |
|
|
|
#define MCTRCTL_RETINH 0x0000200000000000 |
|
|
|
#define MCTRCTL_INDLJMPINH 0x0000400000000000 |
|
|
|
#define MCTRCTL_DIRLJMPINH 0x0000800000000000 |
|
|
|
#define MCTRCTL_CUSTOM 0xF000000000000000 |
|
|
|
#define MCTRCTL_U _RISCV_ULL(0x0000000000000001) |
|
|
|
#define MCTRCTL_S _RISCV_ULL(0x0000000000000002) |
|
|
|
#define MCTRCTL_M _RISCV_ULL(0x0000000000000004) |
|
|
|
#define MCTRCTL_RASEMU _RISCV_ULL(0x0000000000000080) |
|
|
|
#define MCTRCTL_STE _RISCV_ULL(0x0000000000000100) |
|
|
|
#define MCTRCTL_MTE _RISCV_ULL(0x0000000000000200) |
|
|
|
#define MCTRCTL_BPFRZ _RISCV_ULL(0x0000000000000800) |
|
|
|
#define MCTRCTL_LCOFIFRZ _RISCV_ULL(0x0000000000001000) |
|
|
|
#define MCTRCTL_EXCINH _RISCV_ULL(0x0000000200000000) |
|
|
|
#define MCTRCTL_INTRINH _RISCV_ULL(0x0000000400000000) |
|
|
|
#define MCTRCTL_TRETINH _RISCV_ULL(0x0000000800000000) |
|
|
|
#define MCTRCTL_NTBREN _RISCV_ULL(0x0000001000000000) |
|
|
|
#define MCTRCTL_TKBRINH _RISCV_ULL(0x0000002000000000) |
|
|
|
#define MCTRCTL_INDCALLINH _RISCV_ULL(0x0000010000000000) |
|
|
|
#define MCTRCTL_DIRCALLINH _RISCV_ULL(0x0000020000000000) |
|
|
|
#define MCTRCTL_INDJMPINH _RISCV_ULL(0x0000040000000000) |
|
|
|
#define MCTRCTL_DIRJMPINH _RISCV_ULL(0x0000080000000000) |
|
|
|
#define MCTRCTL_CORSWAPINH _RISCV_ULL(0x0000100000000000) |
|
|
|
#define MCTRCTL_RETINH _RISCV_ULL(0x0000200000000000) |
|
|
|
#define MCTRCTL_INDLJMPINH _RISCV_ULL(0x0000400000000000) |
|
|
|
#define MCTRCTL_DIRLJMPINH _RISCV_ULL(0x0000800000000000) |
|
|
|
#define MCTRCTL_CUSTOM _RISCV_ULL(0xF000000000000000) |
|
|
|
|
|
|
|
#define SCTRCTL_U 0x0000000000000001 |
|
|
|
#define SCTRCTL_S 0x0000000000000002 |
|
|
|
#define SCTRCTL_RASEMU 0x0000000000000080 |
|
|
|
#define SCTRCTL_STE 0x0000000000000100 |
|
|
|
#define SCTRCTL_BPFRZ 0x0000000000000800 |
|
|
|
#define SCTRCTL_LCOFIFRZ 0x0000000000001000 |
|
|
|
#define SCTRCTL_EXCINH 0x0000000200000000 |
|
|
|
#define SCTRCTL_INTRINH 0x0000000400000000 |
|
|
|
#define SCTRCTL_TRETINH 0x0000000800000000 |
|
|
|
#define SCTRCTL_NTBREN 0x0000001000000000 |
|
|
|
#define SCTRCTL_TKBRINH 0x0000002000000000 |
|
|
|
#define SCTRCTL_INDCALLINH 0x0000010000000000 |
|
|
|
#define SCTRCTL_DIRCALLINH 0x0000020000000000 |
|
|
|
#define SCTRCTL_INDJMPINH 0x0000040000000000 |
|
|
|
#define SCTRCTL_DIRJMPINH 0x0000080000000000 |
|
|
|
#define SCTRCTL_CORSWAPINH 0x0000100000000000 |
|
|
|
#define SCTRCTL_RETINH 0x0000200000000000 |
|
|
|
#define SCTRCTL_INDLJMPINH 0x0000400000000000 |
|
|
|
#define SCTRCTL_DIRLJMPINH 0x0000800000000000 |
|
|
|
#define SCTRCTL_U _RISCV_ULL(0x0000000000000001) |
|
|
|
#define SCTRCTL_S _RISCV_ULL(0x0000000000000002) |
|
|
|
#define SCTRCTL_RASEMU _RISCV_ULL(0x0000000000000080) |
|
|
|
#define SCTRCTL_STE _RISCV_ULL(0x0000000000000100) |
|
|
|
#define SCTRCTL_BPFRZ _RISCV_ULL(0x0000000000000800) |
|
|
|
#define SCTRCTL_LCOFIFRZ _RISCV_ULL(0x0000000000001000) |
|
|
|
#define SCTRCTL_EXCINH _RISCV_ULL(0x0000000200000000) |
|
|
|
#define SCTRCTL_INTRINH _RISCV_ULL(0x0000000400000000) |
|
|
|
#define SCTRCTL_TRETINH _RISCV_ULL(0x0000000800000000) |
|
|
|
#define SCTRCTL_NTBREN _RISCV_ULL(0x0000001000000000) |
|
|
|
#define SCTRCTL_TKBRINH _RISCV_ULL(0x0000002000000000) |
|
|
|
#define SCTRCTL_INDCALLINH _RISCV_ULL(0x0000010000000000) |
|
|
|
#define SCTRCTL_DIRCALLINH _RISCV_ULL(0x0000020000000000) |
|
|
|
#define SCTRCTL_INDJMPINH _RISCV_ULL(0x0000040000000000) |
|
|
|
#define SCTRCTL_DIRJMPINH _RISCV_ULL(0x0000080000000000) |
|
|
|
#define SCTRCTL_CORSWAPINH _RISCV_ULL(0x0000100000000000) |
|
|
|
#define SCTRCTL_RETINH _RISCV_ULL(0x0000200000000000) |
|
|
|
#define SCTRCTL_INDLJMPINH _RISCV_ULL(0x0000400000000000) |
|
|
|
#define SCTRCTL_DIRLJMPINH _RISCV_ULL(0x0000800000000000) |
|
|
|
|
|
|
|
#define VSCTRCTL_U 0x0000000000000001 |
|
|
|
#define VSCTRCTL_S 0x0000000000000002 |
|
|
|
#define VSCTRCTL_RASEMU 0x0000000000000080 |
|
|
|
#define VSCTRCTL_STE 0x0000000000000100 |
|
|
|
#define VSCTRCTL_BPFRZ 0x0000000000000800 |
|
|
|
#define VSCTRCTL_LCOFIFRZ 0x0000000000001000 |
|
|
|
#define VSCTRCTL_EXCINH 0x0000000200000000 |
|
|
|
#define VSCTRCTL_INTRINH 0x0000000400000000 |
|
|
|
#define VSCTRCTL_TRETINH 0x0000000800000000 |
|
|
|
#define VSCTRCTL_NTBREN 0x0000001000000000 |
|
|
|
#define VSCTRCTL_TKBRINH 0x0000002000000000 |
|
|
|
#define VSCTRCTL_INDCALLINH 0x0000010000000000 |
|
|
|
#define VSCTRCTL_DIRCALLINH 0x0000020000000000 |
|
|
|
#define VSCTRCTL_INDJMPINH 0x0000040000000000 |
|
|
|
#define VSCTRCTL_DIRJMPINH 0x0000080000000000 |
|
|
|
#define VSCTRCTL_CORSWAPINH 0x0000100000000000 |
|
|
|
#define VSCTRCTL_RETINH 0x0000200000000000 |
|
|
|
#define VSCTRCTL_INDLJMPINH 0x0000400000000000 |
|
|
|
#define VSCTRCTL_DIRLJMPINH 0x0000800000000000 |
|
|
|
#define VSCTRCTL_CUSTOM 0xF000000000000000 |
|
|
|
#define VSCTRCTL_U _RISCV_ULL(0x0000000000000001) |
|
|
|
#define VSCTRCTL_S _RISCV_ULL(0x0000000000000002) |
|
|
|
#define VSCTRCTL_RASEMU _RISCV_ULL(0x0000000000000080) |
|
|
|
#define VSCTRCTL_STE _RISCV_ULL(0x0000000000000100) |
|
|
|
#define VSCTRCTL_BPFRZ _RISCV_ULL(0x0000000000000800) |
|
|
|
#define VSCTRCTL_LCOFIFRZ _RISCV_ULL(0x0000000000001000) |
|
|
|
#define VSCTRCTL_EXCINH _RISCV_ULL(0x0000000200000000) |
|
|
|
#define VSCTRCTL_INTRINH _RISCV_ULL(0x0000000400000000) |
|
|
|
#define VSCTRCTL_TRETINH _RISCV_ULL(0x0000000800000000) |
|
|
|
#define VSCTRCTL_NTBREN _RISCV_ULL(0x0000001000000000) |
|
|
|
#define VSCTRCTL_TKBRINH _RISCV_ULL(0x0000002000000000) |
|
|
|
#define VSCTRCTL_INDCALLINH _RISCV_ULL(0x0000010000000000) |
|
|
|
#define VSCTRCTL_DIRCALLINH _RISCV_ULL(0x0000020000000000) |
|
|
|
#define VSCTRCTL_INDJMPINH _RISCV_ULL(0x0000040000000000) |
|
|
|
#define VSCTRCTL_DIRJMPINH _RISCV_ULL(0x0000080000000000) |
|
|
|
#define VSCTRCTL_CORSWAPINH _RISCV_ULL(0x0000100000000000) |
|
|
|
#define VSCTRCTL_RETINH _RISCV_ULL(0x0000200000000000) |
|
|
|
#define VSCTRCTL_INDLJMPINH _RISCV_ULL(0x0000400000000000) |
|
|
|
#define VSCTRCTL_DIRLJMPINH _RISCV_ULL(0x0000800000000000) |
|
|
|
#define VSCTRCTL_CUSTOM _RISCV_ULL(0xF000000000000000) |
|
|
|
|
|
|
|
#define SCTRDEPTH_DEPTH 0x00000007 |
|
|
|
#define SCTRDEPTH_DEPTH _RISCV_UL(0x00000007) |
|
|
|
|
|
|
|
#define SCTRSTATUS_WRPTR 0x000000FF |
|
|
|
#define SCTRSTATUS_FROZEN 0x80000000 |
|
|
|
#define SCTRSTATUS_WRPTR _RISCV_UL(0x000000FF) |
|
|
|
#define SCTRSTATUS_FROZEN _RISCV_UL(0x80000000) |
|
|
|
|
|
|
|
#define SCTR_ENTRY_BASE 0x200 |
|
|
|
#define SCTR_ENTRY_BASE _RISCV_UL(0x200) |
|
|
|
|
|
|
|
#define SCTR_SOURCE_V 0x0000000000000001 |
|
|
|
#define SCTR_SOURCE_PC 0xFFFFFFFFFFFFFFFE |
|
|
|
#define SCTR_SOURCE_V _RISCV_ULL(0x0000000000000001) |
|
|
|
#define SCTR_SOURCE_PC _RISCV_ULL(0xFFFFFFFFFFFFFFFE) |
|
|
|
|
|
|
|
#define SCTR_TARGET_MISP 0x0000000000000001 |
|
|
|
#define SCTR_TARGET_PC 0xFFFFFFFFFFFFFFFE |
|
|
|
#define SCTR_TARGET_MISP _RISCV_ULL(0x0000000000000001) |
|
|
|
#define SCTR_TARGET_PC _RISCV_ULL(0xFFFFFFFFFFFFFFFE) |
|
|
|
|
|
|
|
#define SCTR_DATA_TYPE 0x000000000000000F |
|
|
|
#define SCTR_DATA_CCV 0x0000000000008000 |
|
|
|
#define SCTR_DATA_CC 0x00000000FFFF0000 |
|
|
|
#define SCTR_DATA_TYPE _RISCV_ULL(0x000000000000000F) |
|
|
|
#define SCTR_DATA_CCV _RISCV_ULL(0x0000000000008000) |
|
|
|
#define SCTR_DATA_CC _RISCV_ULL(0x00000000FFFF0000) |
|
|
|
|
|
|
|
#define IRQ_U_SOFT 0 |
|
|
|
#define IRQ_S_SOFT 1 |
|
|
|
@ -495,19 +503,19 @@ |
|
|
|
#define PTE_A 0x040 /* Accessed */ |
|
|
|
#define PTE_D 0x080 /* Dirty */ |
|
|
|
#define PTE_SOFT 0x300 /* Reserved for Software */ |
|
|
|
#define PTE_SVRSW60T59B 0x1800000000000000 /* Svrsw60t59b: Reserved for software use */ |
|
|
|
#define PTE_RSVD 0x07C0000000000000 /* Reserved for future standard use */ |
|
|
|
#define PTE_PBMT 0x6000000000000000 /* Svpbmt: Page-based memory types */ |
|
|
|
#define PTE_N 0x8000000000000000 /* Svnapot: NAPOT translation contiguity */ |
|
|
|
#define PTE_ATTR 0xFFC0000000000000 /* All attributes and reserved bits */ |
|
|
|
#define PTE_SVRSW60T59B _RISCV_ULL(0x1800000000000000) /* Svrsw60t59b: Reserved for software use */ |
|
|
|
#define PTE_RSVD _RISCV_ULL(0x07C0000000000000) /* Reserved for future standard use */ |
|
|
|
#define PTE_PBMT _RISCV_ULL(0x6000000000000000) /* Svpbmt: Page-based memory types */ |
|
|
|
#define PTE_N _RISCV_ULL(0x8000000000000000) /* Svnapot: NAPOT translation contiguity */ |
|
|
|
#define PTE_ATTR _RISCV_ULL(0xFFC0000000000000) /* All attributes and reserved bits */ |
|
|
|
|
|
|
|
#define PTE_PPN_SHIFT 10 |
|
|
|
|
|
|
|
#define PTE_TABLE(PTE) (((PTE) & (PTE_V | PTE_R | PTE_W | PTE_X)) == PTE_V) |
|
|
|
|
|
|
|
/* srmcfg CSR fields */ |
|
|
|
#define SRMCFG_RCID 0x00000FFF |
|
|
|
#define SRMCFG_MCID 0x0FFF0000 |
|
|
|
#define SRMCFG_RCID _RISCV_UL(0x00000FFF) |
|
|
|
#define SRMCFG_MCID _RISCV_UL(0x0FFF0000) |
|
|
|
|
|
|
|
/* software check exception xtval codes */ |
|
|
|
#define LANDING_PAD_FAULT 2 |
|
|
|
@ -717,6 +725,8 @@ |
|
|
|
#define MASK_BNE 0x707f |
|
|
|
#define MATCH_BNEI 0x3063 |
|
|
|
#define MASK_BNEI 0x707f |
|
|
|
#define MATCH_BREV8 0x68705013 |
|
|
|
#define MASK_BREV8 0xfff0707f |
|
|
|
#define MATCH_BSET 0x28001033 |
|
|
|
#define MASK_BSET 0xfe00707f |
|
|
|
#define MATCH_BSETI 0x28001013 |
|
|
|
@ -1255,10 +1265,6 @@ |
|
|
|
#define MASK_FSUB_S 0xfe00007f |
|
|
|
#define MATCH_FSW 0x2027 |
|
|
|
#define MASK_FSW 0x707f |
|
|
|
#define MATCH_GORCI 0x28005013 |
|
|
|
#define MASK_GORCI 0xfc00707f |
|
|
|
#define MATCH_GREVI 0x68005013 |
|
|
|
#define MASK_GREVI 0xfc00707f |
|
|
|
#define MATCH_HFENCE_GVMA 0x62000073 |
|
|
|
#define MASK_HFENCE_GVMA 0xfe007fff |
|
|
|
#define MATCH_HFENCE_VVMA 0x22000073 |
|
|
|
@ -1435,6 +1441,8 @@ |
|
|
|
#define MASK_MULW 0xfe00707f |
|
|
|
#define MATCH_OR 0x6033 |
|
|
|
#define MASK_OR 0xfe00707f |
|
|
|
#define MATCH_ORC_B 0x28705013 |
|
|
|
#define MASK_ORC_B 0xfff0707f |
|
|
|
#define MATCH_ORI 0x6013 |
|
|
|
#define MASK_ORI 0x707f |
|
|
|
#define MATCH_ORN 0x40006033 |
|
|
|
@ -1461,6 +1469,10 @@ |
|
|
|
#define MASK_REMUW 0xfe00707f |
|
|
|
#define MATCH_REMW 0x200603b |
|
|
|
#define MASK_REMW 0xfe00707f |
|
|
|
#define MATCH_REV8 0x6b805013 |
|
|
|
#define MASK_REV8 0xfff0707f |
|
|
|
#define MATCH_REV8_RV32 0x69805013 |
|
|
|
#define MASK_REV8_RV32 0xfff0707f |
|
|
|
#define MATCH_ROL 0x60001033 |
|
|
|
#define MASK_ROL 0xfe00707f |
|
|
|
#define MATCH_ROLW 0x6000103b |
|
|
|
@ -1541,8 +1553,6 @@ |
|
|
|
#define MASK_SHA512SUM1 0xfff0707f |
|
|
|
#define MATCH_SHA512SUM1R 0x52000033 |
|
|
|
#define MASK_SHA512SUM1R 0xfe00707f |
|
|
|
#define MATCH_SHFLI 0x8001013 |
|
|
|
#define MASK_SHFLI 0xfe00707f |
|
|
|
#define MATCH_SINVAL_VMA 0x16000073 |
|
|
|
#define MASK_SINVAL_VMA 0xfe007fff |
|
|
|
#define MATCH_SLL 0x1033 |
|
|
|
@ -1617,8 +1627,8 @@ |
|
|
|
#define MASK_SW 0x707f |
|
|
|
#define MATCH_SW_RL 0x3a00202f |
|
|
|
#define MASK_SW_RL 0xfa007fff |
|
|
|
#define MATCH_UNSHFLI 0x8005013 |
|
|
|
#define MASK_UNSHFLI 0xfe00707f |
|
|
|
#define MATCH_UNZIP 0x8f05013 |
|
|
|
#define MASK_UNZIP 0xfff0707f |
|
|
|
#define MATCH_VAADD_VV 0x24002057 |
|
|
|
#define MASK_VAADD_VV 0xfc00707f |
|
|
|
#define MATCH_VAADD_VX 0x24006057 |
|
|
|
@ -1627,6 +1637,12 @@ |
|
|
|
#define MASK_VAADDU_VV 0xfc00707f |
|
|
|
#define MATCH_VAADDU_VX 0x20006057 |
|
|
|
#define MASK_VAADDU_VX 0xfc00707f |
|
|
|
#define MATCH_VABD_VV 0x44002057 |
|
|
|
#define MASK_VABD_VV 0xfc00707f |
|
|
|
#define MATCH_VABDU_VV 0x4c002057 |
|
|
|
#define MASK_VABDU_VV 0xfc00707f |
|
|
|
#define MATCH_VABS_V 0x48082057 |
|
|
|
#define MASK_VABS_V 0xfc0ff07f |
|
|
|
#define MATCH_VADC_VIM 0x40003057 |
|
|
|
#define MASK_VADC_VIM 0xfe00707f |
|
|
|
#define MATCH_VADC_VVM 0x40000057 |
|
|
|
@ -2209,6 +2225,10 @@ |
|
|
|
#define MASK_VOR_VV 0xfc00707f |
|
|
|
#define MATCH_VOR_VX 0x28004057 |
|
|
|
#define MASK_VOR_VX 0xfc00707f |
|
|
|
#define MATCH_VPAIRE_VV 0x3c000057 |
|
|
|
#define MASK_VPAIRE_VV 0xfc00707f |
|
|
|
#define MATCH_VPAIRO_VV 0x3c002057 |
|
|
|
#define MASK_VPAIRO_VV 0xfc00707f |
|
|
|
#define MATCH_VQBDOTS_VV 0xbc000077 |
|
|
|
#define MASK_VQBDOTS_VV 0xfc00707f |
|
|
|
#define MATCH_VQBDOTU_VV 0xb8000077 |
|
|
|
@ -2423,6 +2443,14 @@ |
|
|
|
#define MASK_VSUXEI64_V 0x1c00707f |
|
|
|
#define MATCH_VSUXEI8_V 0x4000027 |
|
|
|
#define MASK_VSUXEI8_V 0x1c00707f |
|
|
|
#define MATCH_VUNZIPE_V 0x4805a057 |
|
|
|
#define MASK_VUNZIPE_V 0xfc0ff07f |
|
|
|
#define MATCH_VUNZIPO_V 0x4807a057 |
|
|
|
#define MASK_VUNZIPO_V 0xfc0ff07f |
|
|
|
#define MATCH_VWABDA_VV 0x54002057 |
|
|
|
#define MASK_VWABDA_VV 0xfc00707f |
|
|
|
#define MATCH_VWABDAU_VV 0x58002057 |
|
|
|
#define MASK_VWABDAU_VV 0xfc00707f |
|
|
|
#define MATCH_VWADD_VV 0xc4002057 |
|
|
|
#define MASK_VWADD_VV 0xfc00707f |
|
|
|
#define MATCH_VWADD_VX 0xc4006057 |
|
|
|
@ -2503,6 +2531,8 @@ |
|
|
|
#define MASK_VZEXT_VF4 0xfc0ff07f |
|
|
|
#define MATCH_VZEXT_VF8 0x48012057 |
|
|
|
#define MASK_VZEXT_VF8 0xfc0ff07f |
|
|
|
#define MATCH_VZIP_VV 0xf8002057 |
|
|
|
#define MASK_VZIP_VV 0xfc00707f |
|
|
|
#define MATCH_WFI 0x10500073 |
|
|
|
#define MASK_WFI 0xffffffff |
|
|
|
#define MATCH_WRS_NTO 0xd00073 |
|
|
|
@ -2523,6 +2553,8 @@ |
|
|
|
#define MASK_XPERM4 0xfe00707f |
|
|
|
#define MATCH_XPERM8 0x28004033 |
|
|
|
#define MASK_XPERM8 0xfe00707f |
|
|
|
#define MATCH_ZIP 0x8f01013 |
|
|
|
#define MASK_ZIP 0xfff0707f |
|
|
|
|
|
|
|
#define CSR_FFLAGS 0x1 |
|
|
|
#define CSR_FRM 0x2 |
|
|
|
@ -3192,6 +3224,7 @@ 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(brev8, MATCH_BREV8, MASK_BREV8) |
|
|
|
DECLARE_INSN(bset, MATCH_BSET, MASK_BSET) |
|
|
|
DECLARE_INSN(bseti, MATCH_BSETI, MASK_BSETI) |
|
|
|
DECLARE_INSN(c_add, MATCH_C_ADD, MASK_C_ADD) |
|
|
|
@ -3461,8 +3494,6 @@ DECLARE_INSN(fsub_h, MATCH_FSUB_H, MASK_FSUB_H) |
|
|
|
DECLARE_INSN(fsub_q, MATCH_FSUB_Q, MASK_FSUB_Q) |
|
|
|
DECLARE_INSN(fsub_s, MATCH_FSUB_S, MASK_FSUB_S) |
|
|
|
DECLARE_INSN(fsw, MATCH_FSW, MASK_FSW) |
|
|
|
DECLARE_INSN(gorci, MATCH_GORCI, MASK_GORCI) |
|
|
|
DECLARE_INSN(grevi, MATCH_GREVI, MASK_GREVI) |
|
|
|
DECLARE_INSN(hfence_gvma, MATCH_HFENCE_GVMA, MASK_HFENCE_GVMA) |
|
|
|
DECLARE_INSN(hfence_vvma, MATCH_HFENCE_VVMA, MASK_HFENCE_VVMA) |
|
|
|
DECLARE_INSN(hinval_gvma, MATCH_HINVAL_GVMA, MASK_HINVAL_GVMA) |
|
|
|
@ -3551,6 +3582,7 @@ DECLARE_INSN(mulhsu, MATCH_MULHSU, MASK_MULHSU) |
|
|
|
DECLARE_INSN(mulhu, MATCH_MULHU, MASK_MULHU) |
|
|
|
DECLARE_INSN(mulw, MATCH_MULW, MASK_MULW) |
|
|
|
DECLARE_INSN(or, MATCH_OR, MASK_OR) |
|
|
|
DECLARE_INSN(orc_b, MATCH_ORC_B, MASK_ORC_B) |
|
|
|
DECLARE_INSN(ori, MATCH_ORI, MASK_ORI) |
|
|
|
DECLARE_INSN(orn, MATCH_ORN, MASK_ORN) |
|
|
|
DECLARE_INSN(pack, MATCH_PACK, MASK_PACK) |
|
|
|
@ -3564,6 +3596,8 @@ DECLARE_INSN(rem, MATCH_REM, MASK_REM) |
|
|
|
DECLARE_INSN(remu, MATCH_REMU, MASK_REMU) |
|
|
|
DECLARE_INSN(remuw, MATCH_REMUW, MASK_REMUW) |
|
|
|
DECLARE_INSN(remw, MATCH_REMW, MASK_REMW) |
|
|
|
DECLARE_INSN(rev8, MATCH_REV8, MASK_REV8) |
|
|
|
DECLARE_INSN(rev8_rv32, MATCH_REV8_RV32, MASK_REV8_RV32) |
|
|
|
DECLARE_INSN(rol, MATCH_ROL, MASK_ROL) |
|
|
|
DECLARE_INSN(rolw, MATCH_ROLW, MASK_ROLW) |
|
|
|
DECLARE_INSN(ror, MATCH_ROR, MASK_ROR) |
|
|
|
@ -3604,7 +3638,6 @@ DECLARE_INSN(sha512sum0, MATCH_SHA512SUM0, MASK_SHA512SUM0) |
|
|
|
DECLARE_INSN(sha512sum0r, MATCH_SHA512SUM0R, MASK_SHA512SUM0R) |
|
|
|
DECLARE_INSN(sha512sum1, MATCH_SHA512SUM1, MASK_SHA512SUM1) |
|
|
|
DECLARE_INSN(sha512sum1r, MATCH_SHA512SUM1R, MASK_SHA512SUM1R) |
|
|
|
DECLARE_INSN(shfli, MATCH_SHFLI, MASK_SHFLI) |
|
|
|
DECLARE_INSN(sinval_vma, MATCH_SINVAL_VMA, MASK_SINVAL_VMA) |
|
|
|
DECLARE_INSN(sll, MATCH_SLL, MASK_SLL) |
|
|
|
DECLARE_INSN(slli, MATCH_SLLI, MASK_SLLI) |
|
|
|
@ -3642,11 +3675,14 @@ DECLARE_INSN(sub, MATCH_SUB, MASK_SUB) |
|
|
|
DECLARE_INSN(subw, MATCH_SUBW, MASK_SUBW) |
|
|
|
DECLARE_INSN(sw, MATCH_SW, MASK_SW) |
|
|
|
DECLARE_INSN(sw_rl, MATCH_SW_RL, MASK_SW_RL) |
|
|
|
DECLARE_INSN(unshfli, MATCH_UNSHFLI, MASK_UNSHFLI) |
|
|
|
DECLARE_INSN(unzip, MATCH_UNZIP, MASK_UNZIP) |
|
|
|
DECLARE_INSN(vaadd_vv, MATCH_VAADD_VV, MASK_VAADD_VV) |
|
|
|
DECLARE_INSN(vaadd_vx, MATCH_VAADD_VX, MASK_VAADD_VX) |
|
|
|
DECLARE_INSN(vaaddu_vv, MATCH_VAADDU_VV, MASK_VAADDU_VV) |
|
|
|
DECLARE_INSN(vaaddu_vx, MATCH_VAADDU_VX, MASK_VAADDU_VX) |
|
|
|
DECLARE_INSN(vabd_vv, MATCH_VABD_VV, MASK_VABD_VV) |
|
|
|
DECLARE_INSN(vabdu_vv, MATCH_VABDU_VV, MASK_VABDU_VV) |
|
|
|
DECLARE_INSN(vabs_v, MATCH_VABS_V, MASK_VABS_V) |
|
|
|
DECLARE_INSN(vadc_vim, MATCH_VADC_VIM, MASK_VADC_VIM) |
|
|
|
DECLARE_INSN(vadc_vvm, MATCH_VADC_VVM, MASK_VADC_VVM) |
|
|
|
DECLARE_INSN(vadc_vxm, MATCH_VADC_VXM, MASK_VADC_VXM) |
|
|
|
@ -3938,6 +3974,8 @@ DECLARE_INSN(vnsrl_wx, MATCH_VNSRL_WX, MASK_VNSRL_WX) |
|
|
|
DECLARE_INSN(vor_vi, MATCH_VOR_VI, MASK_VOR_VI) |
|
|
|
DECLARE_INSN(vor_vv, MATCH_VOR_VV, MASK_VOR_VV) |
|
|
|
DECLARE_INSN(vor_vx, MATCH_VOR_VX, MASK_VOR_VX) |
|
|
|
DECLARE_INSN(vpaire_vv, MATCH_VPAIRE_VV, MASK_VPAIRE_VV) |
|
|
|
DECLARE_INSN(vpairo_vv, MATCH_VPAIRO_VV, MASK_VPAIRO_VV) |
|
|
|
DECLARE_INSN(vqbdots_vv, MATCH_VQBDOTS_VV, MASK_VQBDOTS_VV) |
|
|
|
DECLARE_INSN(vqbdotu_vv, MATCH_VQBDOTU_VV, MASK_VQBDOTU_VV) |
|
|
|
DECLARE_INSN(vqdot_vv, MATCH_VQDOT_VV, MASK_VQDOT_VV) |
|
|
|
@ -4045,6 +4083,10 @@ DECLARE_INSN(vsuxei16_v, MATCH_VSUXEI16_V, MASK_VSUXEI16_V) |
|
|
|
DECLARE_INSN(vsuxei32_v, MATCH_VSUXEI32_V, MASK_VSUXEI32_V) |
|
|
|
DECLARE_INSN(vsuxei64_v, MATCH_VSUXEI64_V, MASK_VSUXEI64_V) |
|
|
|
DECLARE_INSN(vsuxei8_v, MATCH_VSUXEI8_V, MASK_VSUXEI8_V) |
|
|
|
DECLARE_INSN(vunzipe_v, MATCH_VUNZIPE_V, MASK_VUNZIPE_V) |
|
|
|
DECLARE_INSN(vunzipo_v, MATCH_VUNZIPO_V, MASK_VUNZIPO_V) |
|
|
|
DECLARE_INSN(vwabda_vv, MATCH_VWABDA_VV, MASK_VWABDA_VV) |
|
|
|
DECLARE_INSN(vwabdau_vv, MATCH_VWABDAU_VV, MASK_VWABDAU_VV) |
|
|
|
DECLARE_INSN(vwadd_vv, MATCH_VWADD_VV, MASK_VWADD_VV) |
|
|
|
DECLARE_INSN(vwadd_vx, MATCH_VWADD_VX, MASK_VWADD_VX) |
|
|
|
DECLARE_INSN(vwadd_wv, MATCH_VWADD_WV, MASK_VWADD_WV) |
|
|
|
@ -4085,6 +4127,7 @@ DECLARE_INSN(vxor_vx, MATCH_VXOR_VX, MASK_VXOR_VX) |
|
|
|
DECLARE_INSN(vzext_vf2, MATCH_VZEXT_VF2, MASK_VZEXT_VF2) |
|
|
|
DECLARE_INSN(vzext_vf4, MATCH_VZEXT_VF4, MASK_VZEXT_VF4) |
|
|
|
DECLARE_INSN(vzext_vf8, MATCH_VZEXT_VF8, MASK_VZEXT_VF8) |
|
|
|
DECLARE_INSN(vzip_vv, MATCH_VZIP_VV, MASK_VZIP_VV) |
|
|
|
DECLARE_INSN(wfi, MATCH_WFI, MASK_WFI) |
|
|
|
DECLARE_INSN(wrs_nto, MATCH_WRS_NTO, MASK_WRS_NTO) |
|
|
|
DECLARE_INSN(wrs_sto, MATCH_WRS_STO, MASK_WRS_STO) |
|
|
|
@ -4095,6 +4138,7 @@ DECLARE_INSN(xperm16, MATCH_XPERM16, MASK_XPERM16) |
|
|
|
DECLARE_INSN(xperm32, MATCH_XPERM32, MASK_XPERM32) |
|
|
|
DECLARE_INSN(xperm4, MATCH_XPERM4, MASK_XPERM4) |
|
|
|
DECLARE_INSN(xperm8, MATCH_XPERM8, MASK_XPERM8) |
|
|
|
DECLARE_INSN(zip, MATCH_ZIP, MASK_ZIP) |
|
|
|
#endif |
|
|
|
#ifdef DECLARE_CSR |
|
|
|
DECLARE_CSR(fflags, CSR_FFLAGS) |
|
|
|
|