CI130X SDK API手册  2.2.0
本手册用于描述CI130X SDK各个组件和驱动API
宏定义
riscv_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_HPIE   0x00000040
 
#define MSTATUS_MPIE   0x00000080
 
#define MSTATUS_SPP   0x00000100
 
#define MSTATUS_MPP   0x00001800
 
#define MSTATUS_FS   0x00006000
 
#define MSTATUS_XS   0x00018000
 
#define MSTATUS_MPRV   0x00020000
 
#define MSTATUS_PUM   0x00040000
 
#define MSTATUS_MXR   0x00080000
 
#define MSTATUS_VM   0x1F000000
 
#define MSTATUS32_SD   0x80000000
 
#define MSTATUS64_SD   0x8000000000000000
 
#define SSTATUS_UIE   0x00000001
 
#define SSTATUS_SIE   0x00000002
 
#define SSTATUS_UPIE   0x00000010
 
#define SSTATUS_SPIE   0x00000020
 
#define SSTATUS_SPP   0x00000100
 
#define SSTATUS_FS   0x00006000
 
#define SSTATUS_XS   0x00018000
 
#define SSTATUS_PUM   0x00040000
 
#define SSTATUS32_SD   0x80000000
 
#define SSTATUS64_SD   0x8000000000000000
 
#define DCSR_XDEBUGVER   (3U<<30)
 
#define DCSR_NDRESET   (1<<29)
 
#define DCSR_FULLRESET   (1<<28)
 
#define DCSR_EBREAKM   (1<<15)
 
#define DCSR_EBREAKH   (1<<14)
 
#define DCSR_EBREAKS   (1<<13)
 
#define DCSR_EBREAKU   (1<<12)
 
#define DCSR_STOPCYCLE   (1<<10)
 
#define DCSR_STOPTIME   (1<<9)
 
#define DCSR_CAUSE   (7<<6)
 
#define DCSR_DEBUGINT   (1<<5)
 
#define DCSR_HALT   (1<<3)
 
#define DCSR_STEP   (1<<2)
 
#define DCSR_PRV   (3<<0)
 
#define DCSR_CAUSE_NONE   0
 
#define DCSR_CAUSE_SWBP   1
 
#define DCSR_CAUSE_HWBP   2
 
#define DCSR_CAUSE_DEBUGINT   3
 
#define DCSR_CAUSE_STEP   4
 
#define DCSR_CAUSE_HALT   5
 
#define MCONTROL_TYPE(xlen)   (0xfULL<<((xlen)-4))
 
#define MCONTROL_DMODE(xlen)   (1ULL<<((xlen)-5))
 
#define MCONTROL_MASKMAX(xlen)   (0x3fULL<<((xlen)-11))
 
#define MCONTROL_SELECT   (1<<19)
 
#define MCONTROL_TIMING   (1<<18)
 
#define MCONTROL_ACTION   (0x3f<<12)
 
#define MCONTROL_CHAIN   (1<<11)
 
#define MCONTROL_MATCH   (0xf<<7)
 
#define MCONTROL_M   (1<<6)
 
#define MCONTROL_H   (1<<5)
 
#define MCONTROL_S   (1<<4)
 
#define MCONTROL_U   (1<<3)
 
#define MCONTROL_EXECUTE   (1<<2)
 
#define MCONTROL_STORE   (1<<1)
 
#define MCONTROL_LOAD   (1<<0)
 
#define MCONTROL_TYPE_NONE   0
 
#define MCONTROL_TYPE_MATCH   2
 
#define MCONTROL_ACTION_DEBUG_EXCEPTION   0
 
#define MCONTROL_ACTION_DEBUG_MODE   1
 
#define MCONTROL_ACTION_TRACE_START   2
 
#define MCONTROL_ACTION_TRACE_STOP   3
 
#define MCONTROL_ACTION_TRACE_EMIT   4
 
#define MCONTROL_MATCH_EQUAL   0
 
#define MCONTROL_MATCH_NAPOT   1
 
#define MCONTROL_MATCH_GE   2
 
#define MCONTROL_MATCH_LT   3
 
#define MCONTROL_MATCH_MASK_LOW   4
 
#define MCONTROL_MATCH_MASK_HIGH   5
 
#define MIP_SSIP   (1 << IRQ_S_SOFT)
 
#define MIP_HSIP   (1 << IRQ_H_SOFT)
 
#define MIP_MSIP   (1 << IRQ_M_SOFT)
 
#define MIP_STIP   (1 << IRQ_S_TIMER)
 
#define MIP_HTIP   (1 << IRQ_H_TIMER)
 
#define MIP_MTIP   (1 << IRQ_M_TIMER)
 
#define MIP_SEIP   (1 << IRQ_S_EXT)
 
#define MIP_HEIP   (1 << IRQ_H_EXT)
 
#define MIP_MEIP   (1 << IRQ_M_EXT)
 
#define MIE_SSIE   MIP_SSIP
 
#define MIE_HSIE   MIP_HSIP
 
#define MIE_MSIE   MIP_MSIP
 
#define MIE_STIE   MIP_STIP
 
#define MIE_HTIE   MIP_HTIP
 
#define MIE_MTIE   MIP_MTIP
 
#define MIE_SEIE   MIP_SEIP
 
#define MIE_HEIE   MIP_HEIP
 
#define MIE_MEIE   MIP_MEIP
 
#define SIP_SSIP   MIP_SSIP
 
#define SIP_STIP   MIP_STIP
 
#define PRV_U   0
 
#define PRV_S   1
 
#define PRV_H   2
 
#define PRV_M   3
 
#define VM_MBARE   0
 
#define VM_MBB   1
 
#define VM_MBBID   2
 
#define VM_SV32   8
 
#define VM_SV39   9
 
#define VM_SV48   10
 
#define IRQ_S_SOFT   1
 
#define IRQ_H_SOFT   2
 
#define IRQ_M_SOFT   3
 
#define IRQ_S_TIMER   5
 
#define IRQ_H_TIMER   6
 
#define IRQ_M_TIMER   7
 
#define IRQ_S_EXT   9
 
#define IRQ_H_EXT   10
 
#define IRQ_M_EXT   11
 
#define IRQ_COP   12
 
#define IRQ_HOST   13
 
#define DEFAULT_RSTVEC   0x00001000
 
#define DEFAULT_NMIVEC   0x00001004
 
#define DEFAULT_MTVEC   0x00001010
 
#define CONFIG_STRING_ADDR   0x0000100C
 
#define EXT_IO_BASE   0x40000000
 
#define DRAM_BASE   0x80000000
 
#define PTE_V   0x001
 
#define PTE_R   0x002
 
#define PTE_W   0x004
 
#define PTE_X   0x008
 
#define PTE_U   0x010
 
#define PTE_G   0x020
 
#define PTE_A   0x040
 
#define PTE_D   0x080
 
#define PTE_SOFT   0x300
 
#define PTE_PPN_SHIFT   10
 
#define PTE_TABLE(PTE)   (((PTE) & (PTE_V | PTE_R | PTE_W | PTE_X)) == PTE_V)
 
#define RISCV_ENCODING_H
 
#define MATCH_BEQ   0x63
 
#define MASK_BEQ   0x707f
 
#define MATCH_BNE   0x1063
 
#define MASK_BNE   0x707f
 
#define MATCH_BLT   0x4063
 
#define MASK_BLT   0x707f
 
#define MATCH_BGE   0x5063
 
#define MASK_BGE   0x707f
 
#define MATCH_BLTU   0x6063
 
#define MASK_BLTU   0x707f
 
#define MATCH_BGEU   0x7063
 
#define MASK_BGEU   0x707f
 
#define MATCH_JALR   0x67
 
#define MASK_JALR   0x707f
 
#define MATCH_JAL   0x6f
 
#define MASK_JAL   0x7f
 
#define MATCH_LUI   0x37
 
#define MASK_LUI   0x7f
 
#define MATCH_AUIPC   0x17
 
#define MASK_AUIPC   0x7f
 
#define MATCH_ADDI   0x13
 
#define MASK_ADDI   0x707f
 
#define MATCH_SLLI   0x1013
 
#define MASK_SLLI   0xfc00707f
 
#define MATCH_SLTI   0x2013
 
#define MASK_SLTI   0x707f
 
#define MATCH_SLTIU   0x3013
 
#define MASK_SLTIU   0x707f
 
#define MATCH_XORI   0x4013
 
#define MASK_XORI   0x707f
 
#define MATCH_SRLI   0x5013
 
#define MASK_SRLI   0xfc00707f
 
#define MATCH_SRAI   0x40005013
 
#define MASK_SRAI   0xfc00707f
 
#define MATCH_ORI   0x6013
 
#define MASK_ORI   0x707f
 
#define MATCH_ANDI   0x7013
 
#define MASK_ANDI   0x707f
 
#define MATCH_ADD   0x33
 
#define MASK_ADD   0xfe00707f
 
#define MATCH_SUB   0x40000033
 
#define MASK_SUB   0xfe00707f
 
#define MATCH_SLL   0x1033
 
#define MASK_SLL   0xfe00707f
 
#define MATCH_SLT   0x2033
 
#define MASK_SLT   0xfe00707f
 
#define MATCH_SLTU   0x3033
 
#define MASK_SLTU   0xfe00707f
 
#define MATCH_XOR   0x4033
 
#define MASK_XOR   0xfe00707f
 
#define MATCH_SRL   0x5033
 
#define MASK_SRL   0xfe00707f
 
#define MATCH_SRA   0x40005033
 
#define MASK_SRA   0xfe00707f
 
#define MATCH_OR   0x6033
 
#define MASK_OR   0xfe00707f
 
#define MATCH_AND   0x7033
 
#define MASK_AND   0xfe00707f
 
#define MATCH_ADDIW   0x1b
 
#define MASK_ADDIW   0x707f
 
#define MATCH_SLLIW   0x101b
 
#define MASK_SLLIW   0xfe00707f
 
#define MATCH_SRLIW   0x501b
 
#define MASK_SRLIW   0xfe00707f
 
#define MATCH_SRAIW   0x4000501b
 
#define MASK_SRAIW   0xfe00707f
 
#define MATCH_ADDW   0x3b
 
#define MASK_ADDW   0xfe00707f
 
#define MATCH_SUBW   0x4000003b
 
#define MASK_SUBW   0xfe00707f
 
#define MATCH_SLLW   0x103b
 
#define MASK_SLLW   0xfe00707f
 
#define MATCH_SRLW   0x503b
 
#define MASK_SRLW   0xfe00707f
 
#define MATCH_SRAW   0x4000503b
 
#define MASK_SRAW   0xfe00707f
 
#define MATCH_LB   0x3
 
#define MASK_LB   0x707f
 
#define MATCH_LH   0x1003
 
#define MASK_LH   0x707f
 
#define MATCH_LW   0x2003
 
#define MASK_LW   0x707f
 
#define MATCH_LD   0x3003
 
#define MASK_LD   0x707f
 
#define MATCH_LBU   0x4003
 
#define MASK_LBU   0x707f
 
#define MATCH_LHU   0x5003
 
#define MASK_LHU   0x707f
 
#define MATCH_LWU   0x6003
 
#define MASK_LWU   0x707f
 
#define MATCH_SB   0x23
 
#define MASK_SB   0x707f
 
#define MATCH_SH   0x1023
 
#define MASK_SH   0x707f
 
#define MATCH_SW   0x2023
 
#define MASK_SW   0x707f
 
#define MATCH_SD   0x3023
 
#define MASK_SD   0x707f
 
#define MATCH_FENCE   0xf
 
#define MASK_FENCE   0x707f
 
#define MATCH_FENCE_I   0x100f
 
#define MASK_FENCE_I   0x707f
 
#define MATCH_MUL   0x2000033
 
#define MASK_MUL   0xfe00707f
 
#define MATCH_MULH   0x2001033
 
#define MASK_MULH   0xfe00707f
 
#define MATCH_MULHSU   0x2002033
 
#define MASK_MULHSU   0xfe00707f
 
#define MATCH_MULHU   0x2003033
 
#define MASK_MULHU   0xfe00707f
 
#define MATCH_DIV   0x2004033
 
#define MASK_DIV   0xfe00707f
 
#define MATCH_DIVU   0x2005033
 
#define MASK_DIVU   0xfe00707f
 
#define MATCH_REM   0x2006033
 
#define MASK_REM   0xfe00707f
 
#define MATCH_REMU   0x2007033
 
#define MASK_REMU   0xfe00707f
 
#define MATCH_MULW   0x200003b
 
#define MASK_MULW   0xfe00707f
 
#define MATCH_DIVW   0x200403b
 
#define MASK_DIVW   0xfe00707f
 
#define MATCH_DIVUW   0x200503b
 
#define MASK_DIVUW   0xfe00707f
 
#define MATCH_REMW   0x200603b
 
#define MASK_REMW   0xfe00707f
 
#define MATCH_REMUW   0x200703b
 
#define MASK_REMUW   0xfe00707f
 
#define MATCH_AMOADD_W   0x202f
 
#define MASK_AMOADD_W   0xf800707f
 
#define MATCH_AMOXOR_W   0x2000202f
 
#define MASK_AMOXOR_W   0xf800707f
 
#define MATCH_AMOOR_W   0x4000202f
 
#define MASK_AMOOR_W   0xf800707f
 
#define MATCH_AMOAND_W   0x6000202f
 
#define MASK_AMOAND_W   0xf800707f
 
#define MATCH_AMOMIN_W   0x8000202f
 
#define MASK_AMOMIN_W   0xf800707f
 
#define MATCH_AMOMAX_W   0xa000202f
 
#define MASK_AMOMAX_W   0xf800707f
 
#define MATCH_AMOMINU_W   0xc000202f
 
#define MASK_AMOMINU_W   0xf800707f
 
#define MATCH_AMOMAXU_W   0xe000202f
 
#define MASK_AMOMAXU_W   0xf800707f
 
#define MATCH_AMOSWAP_W   0x800202f
 
#define MASK_AMOSWAP_W   0xf800707f
 
#define MATCH_LR_W   0x1000202f
 
#define MASK_LR_W   0xf9f0707f
 
#define MATCH_SC_W   0x1800202f
 
#define MASK_SC_W   0xf800707f
 
#define MATCH_AMOADD_D   0x302f
 
#define MASK_AMOADD_D   0xf800707f
 
#define MATCH_AMOXOR_D   0x2000302f
 
#define MASK_AMOXOR_D   0xf800707f
 
#define MATCH_AMOOR_D   0x4000302f
 
#define MASK_AMOOR_D   0xf800707f
 
#define MATCH_AMOAND_D   0x6000302f
 
#define MASK_AMOAND_D   0xf800707f
 
#define MATCH_AMOMIN_D   0x8000302f
 
#define MASK_AMOMIN_D   0xf800707f
 
#define MATCH_AMOMAX_D   0xa000302f
 
#define MASK_AMOMAX_D   0xf800707f
 
#define MATCH_AMOMINU_D   0xc000302f
 
#define MASK_AMOMINU_D   0xf800707f
 
#define MATCH_AMOMAXU_D   0xe000302f
 
#define MASK_AMOMAXU_D   0xf800707f
 
#define MATCH_AMOSWAP_D   0x800302f
 
#define MASK_AMOSWAP_D   0xf800707f
 
#define MATCH_LR_D   0x1000302f
 
#define MASK_LR_D   0xf9f0707f
 
#define MATCH_SC_D   0x1800302f
 
#define MASK_SC_D   0xf800707f
 
#define MATCH_ECALL   0x73
 
#define MASK_ECALL   0xffffffff
 
#define MATCH_EBREAK   0x100073
 
#define MASK_EBREAK   0xffffffff
 
#define MATCH_URET   0x200073
 
#define MASK_URET   0xffffffff
 
#define MATCH_SRET   0x10200073
 
#define MASK_SRET   0xffffffff
 
#define MATCH_HRET   0x20200073
 
#define MASK_HRET   0xffffffff
 
#define MATCH_MRET   0x30200073
 
#define MASK_MRET   0xffffffff
 
#define MATCH_DRET   0x7b200073
 
#define MASK_DRET   0xffffffff
 
#define MATCH_SFENCE_VM   0x10400073
 
#define MASK_SFENCE_VM   0xfff07fff
 
#define MATCH_WFI   0x10500073
 
#define MASK_WFI   0xffffffff
 
#define MATCH_CSRRW   0x1073
 
#define MASK_CSRRW   0x707f
 
#define MATCH_CSRRS   0x2073
 
#define MASK_CSRRS   0x707f
 
#define MATCH_CSRRC   0x3073
 
#define MASK_CSRRC   0x707f
 
#define MATCH_CSRRWI   0x5073
 
#define MASK_CSRRWI   0x707f
 
#define MATCH_CSRRSI   0x6073
 
#define MASK_CSRRSI   0x707f
 
#define MATCH_CSRRCI   0x7073
 
#define MASK_CSRRCI   0x707f
 
#define MATCH_FADD_S   0x53
 
#define MASK_FADD_S   0xfe00007f
 
#define MATCH_FSUB_S   0x8000053
 
#define MASK_FSUB_S   0xfe00007f
 
#define MATCH_FMUL_S   0x10000053
 
#define MASK_FMUL_S   0xfe00007f
 
#define MATCH_FDIV_S   0x18000053
 
#define MASK_FDIV_S   0xfe00007f
 
#define MATCH_FSGNJ_S   0x20000053
 
#define MASK_FSGNJ_S   0xfe00707f
 
#define MATCH_FSGNJN_S   0x20001053
 
#define MASK_FSGNJN_S   0xfe00707f
 
#define MATCH_FSGNJX_S   0x20002053
 
#define MASK_FSGNJX_S   0xfe00707f
 
#define MATCH_FMIN_S   0x28000053
 
#define MASK_FMIN_S   0xfe00707f
 
#define MATCH_FMAX_S   0x28001053
 
#define MASK_FMAX_S   0xfe00707f
 
#define MATCH_FSQRT_S   0x58000053
 
#define MASK_FSQRT_S   0xfff0007f
 
#define MATCH_FADD_D   0x2000053
 
#define MASK_FADD_D   0xfe00007f
 
#define MATCH_FSUB_D   0xa000053
 
#define MASK_FSUB_D   0xfe00007f
 
#define MATCH_FMUL_D   0x12000053
 
#define MASK_FMUL_D   0xfe00007f
 
#define MATCH_FDIV_D   0x1a000053
 
#define MASK_FDIV_D   0xfe00007f
 
#define MATCH_FSGNJ_D   0x22000053
 
#define MASK_FSGNJ_D   0xfe00707f
 
#define MATCH_FSGNJN_D   0x22001053
 
#define MASK_FSGNJN_D   0xfe00707f
 
#define MATCH_FSGNJX_D   0x22002053
 
#define MASK_FSGNJX_D   0xfe00707f
 
#define MATCH_FMIN_D   0x2a000053
 
#define MASK_FMIN_D   0xfe00707f
 
#define MATCH_FMAX_D   0x2a001053
 
#define MASK_FMAX_D   0xfe00707f
 
#define MATCH_FCVT_S_D   0x40100053
 
#define MASK_FCVT_S_D   0xfff0007f
 
#define MATCH_FCVT_D_S   0x42000053
 
#define MASK_FCVT_D_S   0xfff0007f
 
#define MATCH_FSQRT_D   0x5a000053
 
#define MASK_FSQRT_D   0xfff0007f
 
#define MATCH_FLE_S   0xa0000053
 
#define MASK_FLE_S   0xfe00707f
 
#define MATCH_FLT_S   0xa0001053
 
#define MASK_FLT_S   0xfe00707f
 
#define MATCH_FEQ_S   0xa0002053
 
#define MASK_FEQ_S   0xfe00707f
 
#define MATCH_FLE_D   0xa2000053
 
#define MASK_FLE_D   0xfe00707f
 
#define MATCH_FLT_D   0xa2001053
 
#define MASK_FLT_D   0xfe00707f
 
#define MATCH_FEQ_D   0xa2002053
 
#define MASK_FEQ_D   0xfe00707f
 
#define MATCH_FCVT_W_S   0xc0000053
 
#define MASK_FCVT_W_S   0xfff0007f
 
#define MATCH_FCVT_WU_S   0xc0100053
 
#define MASK_FCVT_WU_S   0xfff0007f
 
#define MATCH_FCVT_L_S   0xc0200053
 
#define MASK_FCVT_L_S   0xfff0007f
 
#define MATCH_FCVT_LU_S   0xc0300053
 
#define MASK_FCVT_LU_S   0xfff0007f
 
#define MATCH_FMV_X_S   0xe0000053
 
#define MASK_FMV_X_S   0xfff0707f
 
#define MATCH_FCLASS_S   0xe0001053
 
#define MASK_FCLASS_S   0xfff0707f
 
#define MATCH_FCVT_W_D   0xc2000053
 
#define MASK_FCVT_W_D   0xfff0007f
 
#define MATCH_FCVT_WU_D   0xc2100053
 
#define MASK_FCVT_WU_D   0xfff0007f
 
#define MATCH_FCVT_L_D   0xc2200053
 
#define MASK_FCVT_L_D   0xfff0007f
 
#define MATCH_FCVT_LU_D   0xc2300053
 
#define MASK_FCVT_LU_D   0xfff0007f
 
#define MATCH_FMV_X_D   0xe2000053
 
#define MASK_FMV_X_D   0xfff0707f
 
#define MATCH_FCLASS_D   0xe2001053
 
#define MASK_FCLASS_D   0xfff0707f
 
#define MATCH_FCVT_S_W   0xd0000053
 
#define MASK_FCVT_S_W   0xfff0007f
 
#define MATCH_FCVT_S_WU   0xd0100053
 
#define MASK_FCVT_S_WU   0xfff0007f
 
#define MATCH_FCVT_S_L   0xd0200053
 
#define MASK_FCVT_S_L   0xfff0007f
 
#define MATCH_FCVT_S_LU   0xd0300053
 
#define MASK_FCVT_S_LU   0xfff0007f
 
#define MATCH_FMV_S_X   0xf0000053
 
#define MASK_FMV_S_X   0xfff0707f
 
#define MATCH_FCVT_D_W   0xd2000053
 
#define MASK_FCVT_D_W   0xfff0007f
 
#define MATCH_FCVT_D_WU   0xd2100053
 
#define MASK_FCVT_D_WU   0xfff0007f
 
#define MATCH_FCVT_D_L   0xd2200053
 
#define MASK_FCVT_D_L   0xfff0007f
 
#define MATCH_FCVT_D_LU   0xd2300053
 
#define MASK_FCVT_D_LU   0xfff0007f
 
#define MATCH_FMV_D_X   0xf2000053
 
#define MASK_FMV_D_X   0xfff0707f
 
#define MATCH_FLW   0x2007
 
#define MASK_FLW   0x707f
 
#define MATCH_FLD   0x3007
 
#define MASK_FLD   0x707f
 
#define MATCH_FSW   0x2027
 
#define MASK_FSW   0x707f
 
#define MATCH_FSD   0x3027
 
#define MASK_FSD   0x707f
 
#define MATCH_FMADD_S   0x43
 
#define MASK_FMADD_S   0x600007f
 
#define MATCH_FMSUB_S   0x47
 
#define MASK_FMSUB_S   0x600007f
 
#define MATCH_FNMSUB_S   0x4b
 
#define MASK_FNMSUB_S   0x600007f
 
#define MATCH_FNMADD_S   0x4f
 
#define MASK_FNMADD_S   0x600007f
 
#define MATCH_FMADD_D   0x2000043
 
#define MASK_FMADD_D   0x600007f
 
#define MATCH_FMSUB_D   0x2000047
 
#define MASK_FMSUB_D   0x600007f
 
#define MATCH_FNMSUB_D   0x200004b
 
#define MASK_FNMSUB_D   0x600007f
 
#define MATCH_FNMADD_D   0x200004f
 
#define MASK_FNMADD_D   0x600007f
 
#define MATCH_C_NOP   0x1
 
#define MASK_C_NOP   0xffff
 
#define MATCH_C_ADDI16SP   0x6101
 
#define MASK_C_ADDI16SP   0xef83
 
#define MATCH_C_JR   0x8002
 
#define MASK_C_JR   0xf07f
 
#define MATCH_C_JALR   0x9002
 
#define MASK_C_JALR   0xf07f
 
#define MATCH_C_EBREAK   0x9002
 
#define MASK_C_EBREAK   0xffff
 
#define MATCH_C_LD   0x6000
 
#define MASK_C_LD   0xe003
 
#define MATCH_C_SD   0xe000
 
#define MASK_C_SD   0xe003
 
#define MATCH_C_ADDIW   0x2001
 
#define MASK_C_ADDIW   0xe003
 
#define MATCH_C_LDSP   0x6002
 
#define MASK_C_LDSP   0xe003
 
#define MATCH_C_SDSP   0xe002
 
#define MASK_C_SDSP   0xe003
 
#define MATCH_C_ADDI4SPN   0x0
 
#define MASK_C_ADDI4SPN   0xe003
 
#define MATCH_C_FLD   0x2000
 
#define MASK_C_FLD   0xe003
 
#define MATCH_C_LW   0x4000
 
#define MASK_C_LW   0xe003
 
#define MATCH_C_FLW   0x6000
 
#define MASK_C_FLW   0xe003
 
#define MATCH_C_FSD   0xa000
 
#define MASK_C_FSD   0xe003
 
#define MATCH_C_SW   0xc000
 
#define MASK_C_SW   0xe003
 
#define MATCH_C_FSW   0xe000
 
#define MASK_C_FSW   0xe003
 
#define MATCH_C_ADDI   0x1
 
#define MASK_C_ADDI   0xe003
 
#define MATCH_C_JAL   0x2001
 
#define MASK_C_JAL   0xe003
 
#define MATCH_C_LI   0x4001
 
#define MASK_C_LI   0xe003
 
#define MATCH_C_LUI   0x6001
 
#define MASK_C_LUI   0xe003
 
#define MATCH_C_SRLI   0x8001
 
#define MASK_C_SRLI   0xec03
 
#define MATCH_C_SRAI   0x8401
 
#define MASK_C_SRAI   0xec03
 
#define MATCH_C_ANDI   0x8801
 
#define MASK_C_ANDI   0xec03
 
#define MATCH_C_SUB   0x8c01
 
#define MASK_C_SUB   0xfc63
 
#define MATCH_C_XOR   0x8c21
 
#define MASK_C_XOR   0xfc63
 
#define MATCH_C_OR   0x8c41
 
#define MASK_C_OR   0xfc63
 
#define MATCH_C_AND   0x8c61
 
#define MASK_C_AND   0xfc63
 
#define MATCH_C_SUBW   0x9c01
 
#define MASK_C_SUBW   0xfc63
 
#define MATCH_C_ADDW   0x9c21
 
#define MASK_C_ADDW   0xfc63
 
#define MATCH_C_J   0xa001
 
#define MASK_C_J   0xe003
 
#define MATCH_C_BEQZ   0xc001
 
#define MASK_C_BEQZ   0xe003
 
#define MATCH_C_BNEZ   0xe001
 
#define MASK_C_BNEZ   0xe003
 
#define MATCH_C_SLLI   0x2
 
#define MASK_C_SLLI   0xe003
 
#define MATCH_C_FLDSP   0x2002
 
#define MASK_C_FLDSP   0xe003
 
#define MATCH_C_LWSP   0x4002
 
#define MASK_C_LWSP   0xe003
 
#define MATCH_C_FLWSP   0x6002
 
#define MASK_C_FLWSP   0xe003
 
#define MATCH_C_MV   0x8002
 
#define MASK_C_MV   0xf003
 
#define MATCH_C_ADD   0x9002
 
#define MASK_C_ADD   0xf003
 
#define MATCH_C_FSDSP   0xa002
 
#define MASK_C_FSDSP   0xe003
 
#define MATCH_C_SWSP   0xc002
 
#define MASK_C_SWSP   0xe003
 
#define MATCH_C_FSWSP   0xe002
 
#define MASK_C_FSWSP   0xe003
 
#define MATCH_CUSTOM0   0xb
 
#define MASK_CUSTOM0   0x707f
 
#define MATCH_CUSTOM0_RS1   0x200b
 
#define MASK_CUSTOM0_RS1   0x707f
 
#define MATCH_CUSTOM0_RS1_RS2   0x300b
 
#define MASK_CUSTOM0_RS1_RS2   0x707f
 
#define MATCH_CUSTOM0_RD   0x400b
 
#define MASK_CUSTOM0_RD   0x707f
 
#define MATCH_CUSTOM0_RD_RS1   0x600b
 
#define MASK_CUSTOM0_RD_RS1   0x707f
 
#define MATCH_CUSTOM0_RD_RS1_RS2   0x700b
 
#define MASK_CUSTOM0_RD_RS1_RS2   0x707f
 
#define MATCH_CUSTOM1   0x2b
 
#define MASK_CUSTOM1   0x707f
 
#define MATCH_CUSTOM1_RS1   0x202b
 
#define MASK_CUSTOM1_RS1   0x707f
 
#define MATCH_CUSTOM1_RS1_RS2   0x302b
 
#define MASK_CUSTOM1_RS1_RS2   0x707f
 
#define MATCH_CUSTOM1_RD   0x402b
 
#define MASK_CUSTOM1_RD   0x707f
 
#define MATCH_CUSTOM1_RD_RS1   0x602b
 
#define MASK_CUSTOM1_RD_RS1   0x707f
 
#define MATCH_CUSTOM1_RD_RS1_RS2   0x702b
 
#define MASK_CUSTOM1_RD_RS1_RS2   0x707f
 
#define MATCH_CUSTOM2   0x5b
 
#define MASK_CUSTOM2   0x707f
 
#define MATCH_CUSTOM2_RS1   0x205b
 
#define MASK_CUSTOM2_RS1   0x707f
 
#define MATCH_CUSTOM2_RS1_RS2   0x305b
 
#define MASK_CUSTOM2_RS1_RS2   0x707f
 
#define MATCH_CUSTOM2_RD   0x405b
 
#define MASK_CUSTOM2_RD   0x707f
 
#define MATCH_CUSTOM2_RD_RS1   0x605b
 
#define MASK_CUSTOM2_RD_RS1   0x707f
 
#define MATCH_CUSTOM2_RD_RS1_RS2   0x705b
 
#define MASK_CUSTOM2_RD_RS1_RS2   0x707f
 
#define MATCH_CUSTOM3   0x7b
 
#define MASK_CUSTOM3   0x707f
 
#define MATCH_CUSTOM3_RS1   0x207b
 
#define MASK_CUSTOM3_RS1   0x707f
 
#define MATCH_CUSTOM3_RS1_RS2   0x307b
 
#define MASK_CUSTOM3_RS1_RS2   0x707f
 
#define MATCH_CUSTOM3_RD   0x407b
 
#define MASK_CUSTOM3_RD   0x707f
 
#define MATCH_CUSTOM3_RD_RS1   0x607b
 
#define MASK_CUSTOM3_RD_RS1   0x707f
 
#define MATCH_CUSTOM3_RD_RS1_RS2   0x707b
 
#define MASK_CUSTOM3_RD_RS1_RS2   0x707f
 
#define CSR_FFLAGS   0x1
 
#define CSR_FRM   0x2
 
#define CSR_FCSR   0x3
 
#define CSR_CYCLE   0xc00
 
#define CSR_TIME   0xc01
 
#define CSR_INSTRET   0xc02
 
#define CSR_HPMCOUNTER3   0xc03
 
#define CSR_HPMCOUNTER4   0xc04
 
#define CSR_HPMCOUNTER5   0xc05
 
#define CSR_HPMCOUNTER6   0xc06
 
#define CSR_HPMCOUNTER7   0xc07
 
#define CSR_HPMCOUNTER8   0xc08
 
#define CSR_HPMCOUNTER9   0xc09
 
#define CSR_HPMCOUNTER10   0xc0a
 
#define CSR_HPMCOUNTER11   0xc0b
 
#define CSR_HPMCOUNTER12   0xc0c
 
#define CSR_HPMCOUNTER13   0xc0d
 
#define CSR_HPMCOUNTER14   0xc0e
 
#define CSR_HPMCOUNTER15   0xc0f
 
#define CSR_HPMCOUNTER16   0xc10
 
#define CSR_HPMCOUNTER17   0xc11
 
#define CSR_HPMCOUNTER18   0xc12
 
#define CSR_HPMCOUNTER19   0xc13
 
#define CSR_HPMCOUNTER20   0xc14
 
#define CSR_HPMCOUNTER21   0xc15
 
#define CSR_HPMCOUNTER22   0xc16
 
#define CSR_HPMCOUNTER23   0xc17
 
#define CSR_HPMCOUNTER24   0xc18
 
#define CSR_HPMCOUNTER25   0xc19
 
#define CSR_HPMCOUNTER26   0xc1a
 
#define CSR_HPMCOUNTER27   0xc1b
 
#define CSR_HPMCOUNTER28   0xc1c
 
#define CSR_HPMCOUNTER29   0xc1d
 
#define CSR_HPMCOUNTER30   0xc1e
 
#define CSR_HPMCOUNTER31   0xc1f
 
#define CSR_SSTATUS   0x100
 
#define CSR_SIE   0x104
 
#define CSR_STVEC   0x105
 
#define CSR_SSCRATCH   0x140
 
#define CSR_SEPC   0x141
 
#define CSR_SCAUSE   0x142
 
#define CSR_SBADADDR   0x143
 
#define CSR_SIP   0x144
 
#define CSR_SPTBR   0x180
 
#define CSR_MSTATUS   0x300
 
#define CSR_MISA   0x301
 
#define CSR_MEDELEG   0x302
 
#define CSR_MIDELEG   0x303
 
#define CSR_MIE   0x304
 
#define CSR_MTVEC   0x305
 
#define CSR_MCOUNTEREN   0x306
 
#define CSR_MSCRATCH   0x340
 
#define CSR_MEPC   0x341
 
#define CSR_MCAUSE   0x342
 
#define CSR_MBADADDR   0x343
 
#define CSR_MIP   0x344
 
#define CSR_MSCRATCHCSWL   0x349
 
#define CSR_TSELECT   0x7a0
 
#define CSR_TDATA1   0x7a1
 
#define CSR_TDATA2   0x7a2
 
#define CSR_TDATA3   0x7a3
 
#define CSR_DCSR   0x7b0
 
#define CSR_DPC   0x7b1
 
#define CSR_DSCRATCH   0x7b2
 
#define CSR_MCYCLE   0xb00
 
#define CSR_MINSTRET   0xb02
 
#define CSR_MHPMCOUNTER3   0xb03
 
#define CSR_MHPMCOUNTER4   0xb04
 
#define CSR_MHPMCOUNTER5   0xb05
 
#define CSR_MHPMCOUNTER6   0xb06
 
#define CSR_MHPMCOUNTER7   0xb07
 
#define CSR_MHPMCOUNTER8   0xb08
 
#define CSR_MHPMCOUNTER9   0xb09
 
#define CSR_MHPMCOUNTER10   0xb0a
 
#define CSR_MHPMCOUNTER11   0xb0b
 
#define CSR_MHPMCOUNTER12   0xb0c
 
#define CSR_MHPMCOUNTER13   0xb0d
 
#define CSR_MHPMCOUNTER14   0xb0e
 
#define CSR_MHPMCOUNTER15   0xb0f
 
#define CSR_MHPMCOUNTER16   0xb10
 
#define CSR_MHPMCOUNTER17   0xb11
 
#define CSR_MHPMCOUNTER18   0xb12
 
#define CSR_MHPMCOUNTER19   0xb13
 
#define CSR_MHPMCOUNTER20   0xb14
 
#define CSR_MHPMCOUNTER21   0xb15
 
#define CSR_MHPMCOUNTER22   0xb16
 
#define CSR_MHPMCOUNTER23   0xb17
 
#define CSR_MHPMCOUNTER24   0xb18
 
#define CSR_MHPMCOUNTER25   0xb19
 
#define CSR_MHPMCOUNTER26   0xb1a
 
#define CSR_MHPMCOUNTER27   0xb1b
 
#define CSR_MHPMCOUNTER28   0xb1c
 
#define CSR_MHPMCOUNTER29   0xb1d
 
#define CSR_MHPMCOUNTER30   0xb1e
 
#define CSR_MHPMCOUNTER31   0xb1f
 
#define CSR_MUCOUNTEREN   0x320
 
#define CSR_MSCOUNTEREN   0x321
 
#define CSR_MHPMEVENT3   0x323
 
#define CSR_MHPMEVENT4   0x324
 
#define CSR_MHPMEVENT5   0x325
 
#define CSR_MHPMEVENT6   0x326
 
#define CSR_MHPMEVENT7   0x327
 
#define CSR_MHPMEVENT8   0x328
 
#define CSR_MHPMEVENT9   0x329
 
#define CSR_MHPMEVENT10   0x32a
 
#define CSR_MHPMEVENT11   0x32b
 
#define CSR_MHPMEVENT12   0x32c
 
#define CSR_MHPMEVENT13   0x32d
 
#define CSR_MHPMEVENT14   0x32e
 
#define CSR_MHPMEVENT15   0x32f
 
#define CSR_MHPMEVENT16   0x330
 
#define CSR_MHPMEVENT17   0x331
 
#define CSR_MHPMEVENT18   0x332
 
#define CSR_MHPMEVENT19   0x333
 
#define CSR_MHPMEVENT20   0x334
 
#define CSR_MHPMEVENT21   0x335
 
#define CSR_MHPMEVENT22   0x336
 
#define CSR_MHPMEVENT23   0x337
 
#define CSR_MHPMEVENT24   0x338
 
#define CSR_MHPMEVENT25   0x339
 
#define CSR_MHPMEVENT26   0x33a
 
#define CSR_MHPMEVENT27   0x33b
 
#define CSR_MHPMEVENT28   0x33c
 
#define CSR_MHPMEVENT29   0x33d
 
#define CSR_MHPMEVENT30   0x33e
 
#define CSR_MHPMEVENT31   0x33f
 
#define CSR_MVENDORID   0xf11
 
#define CSR_MARCHID   0xf12
 
#define CSR_MIMPID   0xf13
 
#define CSR_MHARTID   0xf14
 
#define CSR_CYCLEH   0xc80
 
#define CSR_TIMEH   0xc81
 
#define CSR_INSTRETH   0xc82
 
#define CSR_HPMCOUNTER3H   0xc83
 
#define CSR_HPMCOUNTER4H   0xc84
 
#define CSR_HPMCOUNTER5H   0xc85
 
#define CSR_HPMCOUNTER6H   0xc86
 
#define CSR_HPMCOUNTER7H   0xc87
 
#define CSR_HPMCOUNTER8H   0xc88
 
#define CSR_HPMCOUNTER9H   0xc89
 
#define CSR_HPMCOUNTER10H   0xc8a
 
#define CSR_HPMCOUNTER11H   0xc8b
 
#define CSR_HPMCOUNTER12H   0xc8c
 
#define CSR_HPMCOUNTER13H   0xc8d
 
#define CSR_HPMCOUNTER14H   0xc8e
 
#define CSR_HPMCOUNTER15H   0xc8f
 
#define CSR_HPMCOUNTER16H   0xc90
 
#define CSR_HPMCOUNTER17H   0xc91
 
#define CSR_HPMCOUNTER18H   0xc92
 
#define CSR_HPMCOUNTER19H   0xc93
 
#define CSR_HPMCOUNTER20H   0xc94
 
#define CSR_HPMCOUNTER21H   0xc95
 
#define CSR_HPMCOUNTER22H   0xc96
 
#define CSR_HPMCOUNTER23H   0xc97
 
#define CSR_HPMCOUNTER24H   0xc98
 
#define CSR_HPMCOUNTER25H   0xc99
 
#define CSR_HPMCOUNTER26H   0xc9a
 
#define CSR_HPMCOUNTER27H   0xc9b
 
#define CSR_HPMCOUNTER28H   0xc9c
 
#define CSR_HPMCOUNTER29H   0xc9d
 
#define CSR_HPMCOUNTER30H   0xc9e
 
#define CSR_HPMCOUNTER31H   0xc9f
 
#define CSR_MCYCLEH   0xb80
 
#define CSR_MINSTRETH   0xb82
 
#define CSR_MHPMCOUNTER3H   0xb83
 
#define CSR_MHPMCOUNTER4H   0xb84
 
#define CSR_MHPMCOUNTER5H   0xb85
 
#define CSR_MHPMCOUNTER6H   0xb86
 
#define CSR_MHPMCOUNTER7H   0xb87
 
#define CSR_MHPMCOUNTER8H   0xb88
 
#define CSR_MHPMCOUNTER9H   0xb89
 
#define CSR_MHPMCOUNTER10H   0xb8a
 
#define CSR_MHPMCOUNTER11H   0xb8b
 
#define CSR_MHPMCOUNTER12H   0xb8c
 
#define CSR_MHPMCOUNTER13H   0xb8d
 
#define CSR_MHPMCOUNTER14H   0xb8e
 
#define CSR_MHPMCOUNTER15H   0xb8f
 
#define CSR_MHPMCOUNTER16H   0xb90
 
#define CSR_MHPMCOUNTER17H   0xb91
 
#define CSR_MHPMCOUNTER18H   0xb92
 
#define CSR_MHPMCOUNTER19H   0xb93
 
#define CSR_MHPMCOUNTER20H   0xb94
 
#define CSR_MHPMCOUNTER21H   0xb95
 
#define CSR_MHPMCOUNTER22H   0xb96
 
#define CSR_MHPMCOUNTER23H   0xb97
 
#define CSR_MHPMCOUNTER24H   0xb98
 
#define CSR_MHPMCOUNTER25H   0xb99
 
#define CSR_MHPMCOUNTER26H   0xb9a
 
#define CSR_MHPMCOUNTER27H   0xb9b
 
#define CSR_MHPMCOUNTER28H   0xb9c
 
#define CSR_MHPMCOUNTER29H   0xb9d
 
#define CSR_MHPMCOUNTER30H   0xb9e
 
#define CSR_MHPMCOUNTER31H   0xb9f
 
#define CSR_MTVT   0x307
 
#define CSR_MNXTI   0x345
 
#define CSR_MCOUNTINHIBIT   0x320
 
#define CSR_MNVEC   0x7C3
 
#define CSR_MTVT2   0x7EC
 
#define CSR_JALMNXTI   0x7ED
 
#define CSR_PUSHMCAUSE   0x7EE
 
#define CSR_PUSHMEPC   0x7EF
 
#define CSR_PUSHMSUBM   0x7EB
 
#define CSR_WFE   0x810
 
#define CSR_SLEEPVALUE   0x811
 
#define CSR_TXEVT   0x812
 
#define CSR_MMISC_CTL   0x7d0
 
#define CSR_MSUBM   0x7c4
 
#define CAUSE_MISALIGNED_FETCH   0x0
 
#define CAUSE_FAULT_FETCH   0x1
 
#define CAUSE_ILLEGAL_INSTRUCTION   0x2
 
#define CAUSE_BREAKPOINT   0x3
 
#define CAUSE_MISALIGNED_LOAD   0x4
 
#define CAUSE_FAULT_LOAD   0x5
 
#define CAUSE_MISALIGNED_STORE   0x6
 
#define CAUSE_FAULT_STORE   0x7
 
#define CAUSE_USER_ECALL   0x8
 
#define CAUSE_SUPERVISOR_ECALL   0x9
 
#define CAUSE_HYPERVISOR_ECALL   0xa
 
#define CAUSE_MACHINE_ECALL   0xb
 

宏定义说明

◆ CAUSE_BREAKPOINT

#define CAUSE_BREAKPOINT   0x3

◆ CAUSE_FAULT_FETCH

#define CAUSE_FAULT_FETCH   0x1

◆ CAUSE_FAULT_LOAD

#define CAUSE_FAULT_LOAD   0x5

◆ CAUSE_FAULT_STORE

#define CAUSE_FAULT_STORE   0x7

◆ CAUSE_HYPERVISOR_ECALL

#define CAUSE_HYPERVISOR_ECALL   0xa

◆ CAUSE_ILLEGAL_INSTRUCTION

#define CAUSE_ILLEGAL_INSTRUCTION   0x2

◆ CAUSE_MACHINE_ECALL

#define CAUSE_MACHINE_ECALL   0xb

◆ CAUSE_MISALIGNED_FETCH

#define CAUSE_MISALIGNED_FETCH   0x0

◆ CAUSE_MISALIGNED_LOAD

#define CAUSE_MISALIGNED_LOAD   0x4

◆ CAUSE_MISALIGNED_STORE

#define CAUSE_MISALIGNED_STORE   0x6

◆ CAUSE_SUPERVISOR_ECALL

#define CAUSE_SUPERVISOR_ECALL   0x9

◆ CAUSE_USER_ECALL

#define CAUSE_USER_ECALL   0x8

◆ CONFIG_STRING_ADDR

#define CONFIG_STRING_ADDR   0x0000100C

◆ CSR_CYCLE

#define CSR_CYCLE   0xc00

◆ CSR_CYCLEH

#define CSR_CYCLEH   0xc80

◆ CSR_DCSR

#define CSR_DCSR   0x7b0

◆ CSR_DPC

#define CSR_DPC   0x7b1

◆ CSR_DSCRATCH

#define CSR_DSCRATCH   0x7b2

◆ CSR_FCSR

#define CSR_FCSR   0x3

◆ CSR_FFLAGS

#define CSR_FFLAGS   0x1

◆ CSR_FRM

#define CSR_FRM   0x2

◆ CSR_HPMCOUNTER10

#define CSR_HPMCOUNTER10   0xc0a

◆ CSR_HPMCOUNTER10H

#define CSR_HPMCOUNTER10H   0xc8a

◆ CSR_HPMCOUNTER11

#define CSR_HPMCOUNTER11   0xc0b

◆ CSR_HPMCOUNTER11H

#define CSR_HPMCOUNTER11H   0xc8b

◆ CSR_HPMCOUNTER12

#define CSR_HPMCOUNTER12   0xc0c

◆ CSR_HPMCOUNTER12H

#define CSR_HPMCOUNTER12H   0xc8c

◆ CSR_HPMCOUNTER13

#define CSR_HPMCOUNTER13   0xc0d

◆ CSR_HPMCOUNTER13H

#define CSR_HPMCOUNTER13H   0xc8d

◆ CSR_HPMCOUNTER14

#define CSR_HPMCOUNTER14   0xc0e

◆ CSR_HPMCOUNTER14H

#define CSR_HPMCOUNTER14H   0xc8e

◆ CSR_HPMCOUNTER15

#define CSR_HPMCOUNTER15   0xc0f

◆ CSR_HPMCOUNTER15H

#define CSR_HPMCOUNTER15H   0xc8f

◆ CSR_HPMCOUNTER16

#define CSR_HPMCOUNTER16   0xc10

◆ CSR_HPMCOUNTER16H

#define CSR_HPMCOUNTER16H   0xc90

◆ CSR_HPMCOUNTER17

#define CSR_HPMCOUNTER17   0xc11

◆ CSR_HPMCOUNTER17H

#define CSR_HPMCOUNTER17H   0xc91

◆ CSR_HPMCOUNTER18

#define CSR_HPMCOUNTER18   0xc12

◆ CSR_HPMCOUNTER18H

#define CSR_HPMCOUNTER18H   0xc92

◆ CSR_HPMCOUNTER19

#define CSR_HPMCOUNTER19   0xc13

◆ CSR_HPMCOUNTER19H

#define CSR_HPMCOUNTER19H   0xc93

◆ CSR_HPMCOUNTER20

#define CSR_HPMCOUNTER20   0xc14

◆ CSR_HPMCOUNTER20H

#define CSR_HPMCOUNTER20H   0xc94

◆ CSR_HPMCOUNTER21

#define CSR_HPMCOUNTER21   0xc15

◆ CSR_HPMCOUNTER21H

#define CSR_HPMCOUNTER21H   0xc95

◆ CSR_HPMCOUNTER22

#define CSR_HPMCOUNTER22   0xc16

◆ CSR_HPMCOUNTER22H

#define CSR_HPMCOUNTER22H   0xc96

◆ CSR_HPMCOUNTER23

#define CSR_HPMCOUNTER23   0xc17

◆ CSR_HPMCOUNTER23H

#define CSR_HPMCOUNTER23H   0xc97

◆ CSR_HPMCOUNTER24

#define CSR_HPMCOUNTER24   0xc18

◆ CSR_HPMCOUNTER24H

#define CSR_HPMCOUNTER24H   0xc98

◆ CSR_HPMCOUNTER25

#define CSR_HPMCOUNTER25   0xc19

◆ CSR_HPMCOUNTER25H

#define CSR_HPMCOUNTER25H   0xc99

◆ CSR_HPMCOUNTER26

#define CSR_HPMCOUNTER26   0xc1a

◆ CSR_HPMCOUNTER26H

#define CSR_HPMCOUNTER26H   0xc9a

◆ CSR_HPMCOUNTER27

#define CSR_HPMCOUNTER27   0xc1b

◆ CSR_HPMCOUNTER27H

#define CSR_HPMCOUNTER27H   0xc9b

◆ CSR_HPMCOUNTER28

#define CSR_HPMCOUNTER28   0xc1c

◆ CSR_HPMCOUNTER28H

#define CSR_HPMCOUNTER28H   0xc9c

◆ CSR_HPMCOUNTER29

#define CSR_HPMCOUNTER29   0xc1d

◆ CSR_HPMCOUNTER29H

#define CSR_HPMCOUNTER29H   0xc9d

◆ CSR_HPMCOUNTER3

#define CSR_HPMCOUNTER3   0xc03

◆ CSR_HPMCOUNTER30

#define CSR_HPMCOUNTER30   0xc1e

◆ CSR_HPMCOUNTER30H

#define CSR_HPMCOUNTER30H   0xc9e

◆ CSR_HPMCOUNTER31

#define CSR_HPMCOUNTER31   0xc1f

◆ CSR_HPMCOUNTER31H

#define CSR_HPMCOUNTER31H   0xc9f

◆ CSR_HPMCOUNTER3H

#define CSR_HPMCOUNTER3H   0xc83

◆ CSR_HPMCOUNTER4

#define CSR_HPMCOUNTER4   0xc04

◆ CSR_HPMCOUNTER4H

#define CSR_HPMCOUNTER4H   0xc84

◆ CSR_HPMCOUNTER5

#define CSR_HPMCOUNTER5   0xc05

◆ CSR_HPMCOUNTER5H

#define CSR_HPMCOUNTER5H   0xc85

◆ CSR_HPMCOUNTER6

#define CSR_HPMCOUNTER6   0xc06

◆ CSR_HPMCOUNTER6H

#define CSR_HPMCOUNTER6H   0xc86

◆ CSR_HPMCOUNTER7

#define CSR_HPMCOUNTER7   0xc07

◆ CSR_HPMCOUNTER7H

#define CSR_HPMCOUNTER7H   0xc87

◆ CSR_HPMCOUNTER8

#define CSR_HPMCOUNTER8   0xc08

◆ CSR_HPMCOUNTER8H

#define CSR_HPMCOUNTER8H   0xc88

◆ CSR_HPMCOUNTER9

#define CSR_HPMCOUNTER9   0xc09

◆ CSR_HPMCOUNTER9H

#define CSR_HPMCOUNTER9H   0xc89

◆ CSR_INSTRET

#define CSR_INSTRET   0xc02

◆ CSR_INSTRETH

#define CSR_INSTRETH   0xc82

◆ CSR_JALMNXTI

#define CSR_JALMNXTI   0x7ED

◆ CSR_MARCHID

#define CSR_MARCHID   0xf12

◆ CSR_MBADADDR

#define CSR_MBADADDR   0x343

◆ CSR_MCAUSE

#define CSR_MCAUSE   0x342

◆ CSR_MCOUNTEREN

#define CSR_MCOUNTEREN   0x306

◆ CSR_MCOUNTINHIBIT

#define CSR_MCOUNTINHIBIT   0x320

◆ CSR_MCYCLE

#define CSR_MCYCLE   0xb00

◆ CSR_MCYCLEH

#define CSR_MCYCLEH   0xb80

◆ CSR_MEDELEG

#define CSR_MEDELEG   0x302

◆ CSR_MEPC

#define CSR_MEPC   0x341

◆ CSR_MHARTID

#define CSR_MHARTID   0xf14

◆ CSR_MHPMCOUNTER10

#define CSR_MHPMCOUNTER10   0xb0a

◆ CSR_MHPMCOUNTER10H

#define CSR_MHPMCOUNTER10H   0xb8a

◆ CSR_MHPMCOUNTER11

#define CSR_MHPMCOUNTER11   0xb0b

◆ CSR_MHPMCOUNTER11H

#define CSR_MHPMCOUNTER11H   0xb8b

◆ CSR_MHPMCOUNTER12

#define CSR_MHPMCOUNTER12   0xb0c

◆ CSR_MHPMCOUNTER12H

#define CSR_MHPMCOUNTER12H   0xb8c

◆ CSR_MHPMCOUNTER13

#define CSR_MHPMCOUNTER13   0xb0d

◆ CSR_MHPMCOUNTER13H

#define CSR_MHPMCOUNTER13H   0xb8d

◆ CSR_MHPMCOUNTER14

#define CSR_MHPMCOUNTER14   0xb0e

◆ CSR_MHPMCOUNTER14H

#define CSR_MHPMCOUNTER14H   0xb8e

◆ CSR_MHPMCOUNTER15

#define CSR_MHPMCOUNTER15   0xb0f

◆ CSR_MHPMCOUNTER15H

#define CSR_MHPMCOUNTER15H   0xb8f

◆ CSR_MHPMCOUNTER16

#define CSR_MHPMCOUNTER16   0xb10

◆ CSR_MHPMCOUNTER16H

#define CSR_MHPMCOUNTER16H   0xb90

◆ CSR_MHPMCOUNTER17

#define CSR_MHPMCOUNTER17   0xb11

◆ CSR_MHPMCOUNTER17H

#define CSR_MHPMCOUNTER17H   0xb91

◆ CSR_MHPMCOUNTER18

#define CSR_MHPMCOUNTER18   0xb12

◆ CSR_MHPMCOUNTER18H

#define CSR_MHPMCOUNTER18H   0xb92

◆ CSR_MHPMCOUNTER19

#define CSR_MHPMCOUNTER19   0xb13

◆ CSR_MHPMCOUNTER19H

#define CSR_MHPMCOUNTER19H   0xb93

◆ CSR_MHPMCOUNTER20

#define CSR_MHPMCOUNTER20   0xb14

◆ CSR_MHPMCOUNTER20H

#define CSR_MHPMCOUNTER20H   0xb94

◆ CSR_MHPMCOUNTER21

#define CSR_MHPMCOUNTER21   0xb15

◆ CSR_MHPMCOUNTER21H

#define CSR_MHPMCOUNTER21H   0xb95

◆ CSR_MHPMCOUNTER22

#define CSR_MHPMCOUNTER22   0xb16

◆ CSR_MHPMCOUNTER22H

#define CSR_MHPMCOUNTER22H   0xb96

◆ CSR_MHPMCOUNTER23

#define CSR_MHPMCOUNTER23   0xb17

◆ CSR_MHPMCOUNTER23H

#define CSR_MHPMCOUNTER23H   0xb97

◆ CSR_MHPMCOUNTER24

#define CSR_MHPMCOUNTER24   0xb18

◆ CSR_MHPMCOUNTER24H

#define CSR_MHPMCOUNTER24H   0xb98

◆ CSR_MHPMCOUNTER25

#define CSR_MHPMCOUNTER25   0xb19

◆ CSR_MHPMCOUNTER25H

#define CSR_MHPMCOUNTER25H   0xb99

◆ CSR_MHPMCOUNTER26

#define CSR_MHPMCOUNTER26   0xb1a

◆ CSR_MHPMCOUNTER26H

#define CSR_MHPMCOUNTER26H   0xb9a

◆ CSR_MHPMCOUNTER27

#define CSR_MHPMCOUNTER27   0xb1b

◆ CSR_MHPMCOUNTER27H

#define CSR_MHPMCOUNTER27H   0xb9b

◆ CSR_MHPMCOUNTER28

#define CSR_MHPMCOUNTER28   0xb1c

◆ CSR_MHPMCOUNTER28H

#define CSR_MHPMCOUNTER28H   0xb9c

◆ CSR_MHPMCOUNTER29

#define CSR_MHPMCOUNTER29   0xb1d

◆ CSR_MHPMCOUNTER29H

#define CSR_MHPMCOUNTER29H   0xb9d

◆ CSR_MHPMCOUNTER3

#define CSR_MHPMCOUNTER3   0xb03

◆ CSR_MHPMCOUNTER30

#define CSR_MHPMCOUNTER30   0xb1e

◆ CSR_MHPMCOUNTER30H

#define CSR_MHPMCOUNTER30H   0xb9e

◆ CSR_MHPMCOUNTER31

#define CSR_MHPMCOUNTER31   0xb1f

◆ CSR_MHPMCOUNTER31H

#define CSR_MHPMCOUNTER31H   0xb9f

◆ CSR_MHPMCOUNTER3H

#define CSR_MHPMCOUNTER3H   0xb83

◆ CSR_MHPMCOUNTER4

#define CSR_MHPMCOUNTER4   0xb04

◆ CSR_MHPMCOUNTER4H

#define CSR_MHPMCOUNTER4H   0xb84

◆ CSR_MHPMCOUNTER5

#define CSR_MHPMCOUNTER5   0xb05

◆ CSR_MHPMCOUNTER5H

#define CSR_MHPMCOUNTER5H   0xb85

◆ CSR_MHPMCOUNTER6

#define CSR_MHPMCOUNTER6   0xb06

◆ CSR_MHPMCOUNTER6H

#define CSR_MHPMCOUNTER6H   0xb86

◆ CSR_MHPMCOUNTER7

#define CSR_MHPMCOUNTER7   0xb07

◆ CSR_MHPMCOUNTER7H

#define CSR_MHPMCOUNTER7H   0xb87

◆ CSR_MHPMCOUNTER8

#define CSR_MHPMCOUNTER8   0xb08

◆ CSR_MHPMCOUNTER8H

#define CSR_MHPMCOUNTER8H   0xb88

◆ CSR_MHPMCOUNTER9

#define CSR_MHPMCOUNTER9   0xb09

◆ CSR_MHPMCOUNTER9H

#define CSR_MHPMCOUNTER9H   0xb89

◆ CSR_MHPMEVENT10

#define CSR_MHPMEVENT10   0x32a

◆ CSR_MHPMEVENT11

#define CSR_MHPMEVENT11   0x32b

◆ CSR_MHPMEVENT12

#define CSR_MHPMEVENT12   0x32c

◆ CSR_MHPMEVENT13

#define CSR_MHPMEVENT13   0x32d

◆ CSR_MHPMEVENT14

#define CSR_MHPMEVENT14   0x32e

◆ CSR_MHPMEVENT15

#define CSR_MHPMEVENT15   0x32f

◆ CSR_MHPMEVENT16

#define CSR_MHPMEVENT16   0x330

◆ CSR_MHPMEVENT17

#define CSR_MHPMEVENT17   0x331

◆ CSR_MHPMEVENT18

#define CSR_MHPMEVENT18   0x332

◆ CSR_MHPMEVENT19

#define CSR_MHPMEVENT19   0x333

◆ CSR_MHPMEVENT20

#define CSR_MHPMEVENT20   0x334

◆ CSR_MHPMEVENT21

#define CSR_MHPMEVENT21   0x335

◆ CSR_MHPMEVENT22

#define CSR_MHPMEVENT22   0x336

◆ CSR_MHPMEVENT23

#define CSR_MHPMEVENT23   0x337

◆ CSR_MHPMEVENT24

#define CSR_MHPMEVENT24   0x338

◆ CSR_MHPMEVENT25

#define CSR_MHPMEVENT25   0x339

◆ CSR_MHPMEVENT26

#define CSR_MHPMEVENT26   0x33a

◆ CSR_MHPMEVENT27

#define CSR_MHPMEVENT27   0x33b

◆ CSR_MHPMEVENT28

#define CSR_MHPMEVENT28   0x33c

◆ CSR_MHPMEVENT29

#define CSR_MHPMEVENT29   0x33d

◆ CSR_MHPMEVENT3

#define CSR_MHPMEVENT3   0x323

◆ CSR_MHPMEVENT30

#define CSR_MHPMEVENT30   0x33e

◆ CSR_MHPMEVENT31

#define CSR_MHPMEVENT31   0x33f

◆ CSR_MHPMEVENT4

#define CSR_MHPMEVENT4   0x324

◆ CSR_MHPMEVENT5

#define CSR_MHPMEVENT5   0x325

◆ CSR_MHPMEVENT6

#define CSR_MHPMEVENT6   0x326

◆ CSR_MHPMEVENT7

#define CSR_MHPMEVENT7   0x327

◆ CSR_MHPMEVENT8

#define CSR_MHPMEVENT8   0x328

◆ CSR_MHPMEVENT9

#define CSR_MHPMEVENT9   0x329

◆ CSR_MIDELEG

#define CSR_MIDELEG   0x303

◆ CSR_MIE

#define CSR_MIE   0x304

◆ CSR_MIMPID

#define CSR_MIMPID   0xf13

◆ CSR_MINSTRET

#define CSR_MINSTRET   0xb02

◆ CSR_MINSTRETH

#define CSR_MINSTRETH   0xb82

◆ CSR_MIP

#define CSR_MIP   0x344

◆ CSR_MISA

#define CSR_MISA   0x301

◆ CSR_MMISC_CTL

#define CSR_MMISC_CTL   0x7d0

◆ CSR_MNVEC

#define CSR_MNVEC   0x7C3

◆ CSR_MNXTI

#define CSR_MNXTI   0x345

◆ CSR_MSCOUNTEREN

#define CSR_MSCOUNTEREN   0x321

◆ CSR_MSCRATCH

#define CSR_MSCRATCH   0x340

◆ CSR_MSCRATCHCSWL

#define CSR_MSCRATCHCSWL   0x349

◆ CSR_MSTATUS

#define CSR_MSTATUS   0x300

◆ CSR_MSUBM

#define CSR_MSUBM   0x7c4

◆ CSR_MTVEC

#define CSR_MTVEC   0x305

◆ CSR_MTVT

#define CSR_MTVT   0x307

◆ CSR_MTVT2

#define CSR_MTVT2   0x7EC

◆ CSR_MUCOUNTEREN

#define CSR_MUCOUNTEREN   0x320

◆ CSR_MVENDORID

#define CSR_MVENDORID   0xf11

◆ CSR_PUSHMCAUSE

#define CSR_PUSHMCAUSE   0x7EE

◆ CSR_PUSHMEPC

#define CSR_PUSHMEPC   0x7EF

◆ CSR_PUSHMSUBM

#define CSR_PUSHMSUBM   0x7EB

◆ CSR_SBADADDR

#define CSR_SBADADDR   0x143

◆ CSR_SCAUSE

#define CSR_SCAUSE   0x142

◆ CSR_SEPC

#define CSR_SEPC   0x141

◆ CSR_SIE

#define CSR_SIE   0x104

◆ CSR_SIP

#define CSR_SIP   0x144

◆ CSR_SLEEPVALUE

#define CSR_SLEEPVALUE   0x811

◆ CSR_SPTBR

#define CSR_SPTBR   0x180

◆ CSR_SSCRATCH

#define CSR_SSCRATCH   0x140

◆ CSR_SSTATUS

#define CSR_SSTATUS   0x100

◆ CSR_STVEC

#define CSR_STVEC   0x105

◆ CSR_TDATA1

#define CSR_TDATA1   0x7a1

◆ CSR_TDATA2

#define CSR_TDATA2   0x7a2

◆ CSR_TDATA3

#define CSR_TDATA3   0x7a3

◆ CSR_TIME

#define CSR_TIME   0xc01

◆ CSR_TIMEH

#define CSR_TIMEH   0xc81

◆ CSR_TSELECT

#define CSR_TSELECT   0x7a0

◆ CSR_TXEVT

#define CSR_TXEVT   0x812

◆ CSR_WFE

#define CSR_WFE   0x810

◆ DCSR_CAUSE

#define DCSR_CAUSE   (7<<6)

◆ DCSR_CAUSE_DEBUGINT

#define DCSR_CAUSE_DEBUGINT   3

◆ DCSR_CAUSE_HALT

#define DCSR_CAUSE_HALT   5

◆ DCSR_CAUSE_HWBP

#define DCSR_CAUSE_HWBP   2

◆ DCSR_CAUSE_NONE

#define DCSR_CAUSE_NONE   0

◆ DCSR_CAUSE_STEP

#define DCSR_CAUSE_STEP   4

◆ DCSR_CAUSE_SWBP

#define DCSR_CAUSE_SWBP   1

◆ DCSR_DEBUGINT

#define DCSR_DEBUGINT   (1<<5)

◆ DCSR_EBREAKH

#define DCSR_EBREAKH   (1<<14)

◆ DCSR_EBREAKM

#define DCSR_EBREAKM   (1<<15)

◆ DCSR_EBREAKS

#define DCSR_EBREAKS   (1<<13)

◆ DCSR_EBREAKU

#define DCSR_EBREAKU   (1<<12)

◆ DCSR_FULLRESET

#define DCSR_FULLRESET   (1<<28)

◆ DCSR_HALT

#define DCSR_HALT   (1<<3)

◆ DCSR_NDRESET

#define DCSR_NDRESET   (1<<29)

◆ DCSR_PRV

#define DCSR_PRV   (3<<0)

◆ DCSR_STEP

#define DCSR_STEP   (1<<2)

◆ DCSR_STOPCYCLE

#define DCSR_STOPCYCLE   (1<<10)

◆ DCSR_STOPTIME

#define DCSR_STOPTIME   (1<<9)

◆ DCSR_XDEBUGVER

#define DCSR_XDEBUGVER   (3U<<30)

◆ DEFAULT_MTVEC

#define DEFAULT_MTVEC   0x00001010

◆ DEFAULT_NMIVEC

#define DEFAULT_NMIVEC   0x00001004

◆ DEFAULT_RSTVEC

#define DEFAULT_RSTVEC   0x00001000

◆ DRAM_BASE

#define DRAM_BASE   0x80000000

◆ EXT_IO_BASE

#define EXT_IO_BASE   0x40000000

◆ IRQ_COP

#define IRQ_COP   12

◆ IRQ_H_EXT

#define IRQ_H_EXT   10

◆ IRQ_H_SOFT

#define IRQ_H_SOFT   2

◆ IRQ_H_TIMER

#define IRQ_H_TIMER   6

◆ IRQ_HOST

#define IRQ_HOST   13

◆ IRQ_M_EXT

#define IRQ_M_EXT   11

◆ IRQ_M_SOFT

#define IRQ_M_SOFT   3

◆ IRQ_M_TIMER

#define IRQ_M_TIMER   7

◆ IRQ_S_EXT

#define IRQ_S_EXT   9

◆ IRQ_S_SOFT

#define IRQ_S_SOFT   1

◆ IRQ_S_TIMER

#define IRQ_S_TIMER   5

◆ MASK_ADD

#define MASK_ADD   0xfe00707f

◆ MASK_ADDI

#define MASK_ADDI   0x707f

◆ MASK_ADDIW

#define MASK_ADDIW   0x707f

◆ MASK_ADDW

#define MASK_ADDW   0xfe00707f

◆ MASK_AMOADD_D

#define MASK_AMOADD_D   0xf800707f

◆ MASK_AMOADD_W

#define MASK_AMOADD_W   0xf800707f

◆ MASK_AMOAND_D

#define MASK_AMOAND_D   0xf800707f

◆ MASK_AMOAND_W

#define MASK_AMOAND_W   0xf800707f

◆ MASK_AMOMAX_D

#define MASK_AMOMAX_D   0xf800707f

◆ MASK_AMOMAX_W

#define MASK_AMOMAX_W   0xf800707f

◆ MASK_AMOMAXU_D

#define MASK_AMOMAXU_D   0xf800707f

◆ MASK_AMOMAXU_W

#define MASK_AMOMAXU_W   0xf800707f

◆ MASK_AMOMIN_D

#define MASK_AMOMIN_D   0xf800707f

◆ MASK_AMOMIN_W

#define MASK_AMOMIN_W   0xf800707f

◆ MASK_AMOMINU_D

#define MASK_AMOMINU_D   0xf800707f

◆ MASK_AMOMINU_W

#define MASK_AMOMINU_W   0xf800707f

◆ MASK_AMOOR_D

#define MASK_AMOOR_D   0xf800707f

◆ MASK_AMOOR_W

#define MASK_AMOOR_W   0xf800707f

◆ MASK_AMOSWAP_D

#define MASK_AMOSWAP_D   0xf800707f

◆ MASK_AMOSWAP_W

#define MASK_AMOSWAP_W   0xf800707f

◆ MASK_AMOXOR_D

#define MASK_AMOXOR_D   0xf800707f

◆ MASK_AMOXOR_W

#define MASK_AMOXOR_W   0xf800707f

◆ MASK_AND

#define MASK_AND   0xfe00707f

◆ MASK_ANDI

#define MASK_ANDI   0x707f

◆ MASK_AUIPC

#define MASK_AUIPC   0x7f

◆ MASK_BEQ

#define MASK_BEQ   0x707f

◆ MASK_BGE

#define MASK_BGE   0x707f

◆ MASK_BGEU

#define MASK_BGEU   0x707f

◆ MASK_BLT

#define MASK_BLT   0x707f

◆ MASK_BLTU

#define MASK_BLTU   0x707f

◆ MASK_BNE

#define MASK_BNE   0x707f

◆ MASK_C_ADD

#define MASK_C_ADD   0xf003

◆ MASK_C_ADDI

#define MASK_C_ADDI   0xe003

◆ MASK_C_ADDI16SP

#define MASK_C_ADDI16SP   0xef83

◆ MASK_C_ADDI4SPN

#define MASK_C_ADDI4SPN   0xe003

◆ MASK_C_ADDIW

#define MASK_C_ADDIW   0xe003

◆ MASK_C_ADDW

#define MASK_C_ADDW   0xfc63

◆ MASK_C_AND

#define MASK_C_AND   0xfc63

◆ MASK_C_ANDI

#define MASK_C_ANDI   0xec03

◆ MASK_C_BEQZ

#define MASK_C_BEQZ   0xe003

◆ MASK_C_BNEZ

#define MASK_C_BNEZ   0xe003

◆ MASK_C_EBREAK

#define MASK_C_EBREAK   0xffff

◆ MASK_C_FLD

#define MASK_C_FLD   0xe003

◆ MASK_C_FLDSP

#define MASK_C_FLDSP   0xe003

◆ MASK_C_FLW

#define MASK_C_FLW   0xe003

◆ MASK_C_FLWSP

#define MASK_C_FLWSP   0xe003

◆ MASK_C_FSD

#define MASK_C_FSD   0xe003

◆ MASK_C_FSDSP

#define MASK_C_FSDSP   0xe003

◆ MASK_C_FSW

#define MASK_C_FSW   0xe003

◆ MASK_C_FSWSP

#define MASK_C_FSWSP   0xe003

◆ MASK_C_J

#define MASK_C_J   0xe003

◆ MASK_C_JAL

#define MASK_C_JAL   0xe003

◆ MASK_C_JALR

#define MASK_C_JALR   0xf07f

◆ MASK_C_JR

#define MASK_C_JR   0xf07f

◆ MASK_C_LD

#define MASK_C_LD   0xe003

◆ MASK_C_LDSP

#define MASK_C_LDSP   0xe003

◆ MASK_C_LI

#define MASK_C_LI   0xe003

◆ MASK_C_LUI

#define MASK_C_LUI   0xe003

◆ MASK_C_LW

#define MASK_C_LW   0xe003

◆ MASK_C_LWSP

#define MASK_C_LWSP   0xe003

◆ MASK_C_MV

#define MASK_C_MV   0xf003

◆ MASK_C_NOP

#define MASK_C_NOP   0xffff

◆ MASK_C_OR

#define MASK_C_OR   0xfc63

◆ MASK_C_SD

#define MASK_C_SD   0xe003

◆ MASK_C_SDSP

#define MASK_C_SDSP   0xe003

◆ MASK_C_SLLI

#define MASK_C_SLLI   0xe003

◆ MASK_C_SRAI

#define MASK_C_SRAI   0xec03

◆ MASK_C_SRLI

#define MASK_C_SRLI   0xec03

◆ MASK_C_SUB

#define MASK_C_SUB   0xfc63

◆ MASK_C_SUBW

#define MASK_C_SUBW   0xfc63

◆ MASK_C_SW

#define MASK_C_SW   0xe003

◆ MASK_C_SWSP

#define MASK_C_SWSP   0xe003

◆ MASK_C_XOR

#define MASK_C_XOR   0xfc63

◆ MASK_CSRRC

#define MASK_CSRRC   0x707f

◆ MASK_CSRRCI

#define MASK_CSRRCI   0x707f

◆ MASK_CSRRS

#define MASK_CSRRS   0x707f

◆ MASK_CSRRSI

#define MASK_CSRRSI   0x707f

◆ MASK_CSRRW

#define MASK_CSRRW   0x707f

◆ MASK_CSRRWI

#define MASK_CSRRWI   0x707f

◆ MASK_CUSTOM0

#define MASK_CUSTOM0   0x707f

◆ MASK_CUSTOM0_RD

#define MASK_CUSTOM0_RD   0x707f

◆ MASK_CUSTOM0_RD_RS1

#define MASK_CUSTOM0_RD_RS1   0x707f

◆ MASK_CUSTOM0_RD_RS1_RS2

#define MASK_CUSTOM0_RD_RS1_RS2   0x707f

◆ MASK_CUSTOM0_RS1

#define MASK_CUSTOM0_RS1   0x707f

◆ MASK_CUSTOM0_RS1_RS2

#define MASK_CUSTOM0_RS1_RS2   0x707f

◆ MASK_CUSTOM1

#define MASK_CUSTOM1   0x707f

◆ MASK_CUSTOM1_RD

#define MASK_CUSTOM1_RD   0x707f

◆ MASK_CUSTOM1_RD_RS1

#define MASK_CUSTOM1_RD_RS1   0x707f

◆ MASK_CUSTOM1_RD_RS1_RS2

#define MASK_CUSTOM1_RD_RS1_RS2   0x707f

◆ MASK_CUSTOM1_RS1

#define MASK_CUSTOM1_RS1   0x707f

◆ MASK_CUSTOM1_RS1_RS2

#define MASK_CUSTOM1_RS1_RS2   0x707f

◆ MASK_CUSTOM2

#define MASK_CUSTOM2   0x707f

◆ MASK_CUSTOM2_RD

#define MASK_CUSTOM2_RD   0x707f

◆ MASK_CUSTOM2_RD_RS1

#define MASK_CUSTOM2_RD_RS1   0x707f

◆ MASK_CUSTOM2_RD_RS1_RS2

#define MASK_CUSTOM2_RD_RS1_RS2   0x707f

◆ MASK_CUSTOM2_RS1

#define MASK_CUSTOM2_RS1   0x707f

◆ MASK_CUSTOM2_RS1_RS2

#define MASK_CUSTOM2_RS1_RS2   0x707f

◆ MASK_CUSTOM3

#define MASK_CUSTOM3   0x707f

◆ MASK_CUSTOM3_RD

#define MASK_CUSTOM3_RD   0x707f

◆ MASK_CUSTOM3_RD_RS1

#define MASK_CUSTOM3_RD_RS1   0x707f

◆ MASK_CUSTOM3_RD_RS1_RS2

#define MASK_CUSTOM3_RD_RS1_RS2   0x707f

◆ MASK_CUSTOM3_RS1

#define MASK_CUSTOM3_RS1   0x707f

◆ MASK_CUSTOM3_RS1_RS2

#define MASK_CUSTOM3_RS1_RS2   0x707f

◆ MASK_DIV

#define MASK_DIV   0xfe00707f

◆ MASK_DIVU

#define MASK_DIVU   0xfe00707f

◆ MASK_DIVUW

#define MASK_DIVUW   0xfe00707f

◆ MASK_DIVW

#define MASK_DIVW   0xfe00707f

◆ MASK_DRET

#define MASK_DRET   0xffffffff

◆ MASK_EBREAK

#define MASK_EBREAK   0xffffffff

◆ MASK_ECALL

#define MASK_ECALL   0xffffffff

◆ MASK_FADD_D

#define MASK_FADD_D   0xfe00007f

◆ MASK_FADD_S

#define MASK_FADD_S   0xfe00007f

◆ MASK_FCLASS_D

#define MASK_FCLASS_D   0xfff0707f

◆ MASK_FCLASS_S

#define MASK_FCLASS_S   0xfff0707f

◆ MASK_FCVT_D_L

#define MASK_FCVT_D_L   0xfff0007f

◆ MASK_FCVT_D_LU

#define MASK_FCVT_D_LU   0xfff0007f

◆ MASK_FCVT_D_S

#define MASK_FCVT_D_S   0xfff0007f

◆ MASK_FCVT_D_W

#define MASK_FCVT_D_W   0xfff0007f

◆ MASK_FCVT_D_WU

#define MASK_FCVT_D_WU   0xfff0007f

◆ MASK_FCVT_L_D

#define MASK_FCVT_L_D   0xfff0007f

◆ MASK_FCVT_L_S

#define MASK_FCVT_L_S   0xfff0007f

◆ MASK_FCVT_LU_D

#define MASK_FCVT_LU_D   0xfff0007f

◆ MASK_FCVT_LU_S

#define MASK_FCVT_LU_S   0xfff0007f

◆ MASK_FCVT_S_D

#define MASK_FCVT_S_D   0xfff0007f

◆ MASK_FCVT_S_L

#define MASK_FCVT_S_L   0xfff0007f

◆ MASK_FCVT_S_LU

#define MASK_FCVT_S_LU   0xfff0007f

◆ MASK_FCVT_S_W

#define MASK_FCVT_S_W   0xfff0007f

◆ MASK_FCVT_S_WU

#define MASK_FCVT_S_WU   0xfff0007f

◆ MASK_FCVT_W_D

#define MASK_FCVT_W_D   0xfff0007f

◆ MASK_FCVT_W_S

#define MASK_FCVT_W_S   0xfff0007f

◆ MASK_FCVT_WU_D

#define MASK_FCVT_WU_D   0xfff0007f

◆ MASK_FCVT_WU_S

#define MASK_FCVT_WU_S   0xfff0007f

◆ MASK_FDIV_D

#define MASK_FDIV_D   0xfe00007f

◆ MASK_FDIV_S

#define MASK_FDIV_S   0xfe00007f

◆ MASK_FENCE

#define MASK_FENCE   0x707f

◆ MASK_FENCE_I

#define MASK_FENCE_I   0x707f

◆ MASK_FEQ_D

#define MASK_FEQ_D   0xfe00707f

◆ MASK_FEQ_S

#define MASK_FEQ_S   0xfe00707f

◆ MASK_FLD

#define MASK_FLD   0x707f

◆ MASK_FLE_D

#define MASK_FLE_D   0xfe00707f

◆ MASK_FLE_S

#define MASK_FLE_S   0xfe00707f

◆ MASK_FLT_D

#define MASK_FLT_D   0xfe00707f

◆ MASK_FLT_S

#define MASK_FLT_S   0xfe00707f

◆ MASK_FLW

#define MASK_FLW   0x707f

◆ MASK_FMADD_D

#define MASK_FMADD_D   0x600007f

◆ MASK_FMADD_S

#define MASK_FMADD_S   0x600007f

◆ MASK_FMAX_D

#define MASK_FMAX_D   0xfe00707f

◆ MASK_FMAX_S

#define MASK_FMAX_S   0xfe00707f

◆ MASK_FMIN_D

#define MASK_FMIN_D   0xfe00707f

◆ MASK_FMIN_S

#define MASK_FMIN_S   0xfe00707f

◆ MASK_FMSUB_D

#define MASK_FMSUB_D   0x600007f

◆ MASK_FMSUB_S

#define MASK_FMSUB_S   0x600007f

◆ MASK_FMUL_D

#define MASK_FMUL_D   0xfe00007f

◆ MASK_FMUL_S

#define MASK_FMUL_S   0xfe00007f

◆ MASK_FMV_D_X

#define MASK_FMV_D_X   0xfff0707f

◆ MASK_FMV_S_X

#define MASK_FMV_S_X   0xfff0707f

◆ MASK_FMV_X_D

#define MASK_FMV_X_D   0xfff0707f

◆ MASK_FMV_X_S

#define MASK_FMV_X_S   0xfff0707f

◆ MASK_FNMADD_D

#define MASK_FNMADD_D   0x600007f

◆ MASK_FNMADD_S

#define MASK_FNMADD_S   0x600007f

◆ MASK_FNMSUB_D

#define MASK_FNMSUB_D   0x600007f

◆ MASK_FNMSUB_S

#define MASK_FNMSUB_S   0x600007f

◆ MASK_FSD

#define MASK_FSD   0x707f

◆ MASK_FSGNJ_D

#define MASK_FSGNJ_D   0xfe00707f

◆ MASK_FSGNJ_S

#define MASK_FSGNJ_S   0xfe00707f

◆ MASK_FSGNJN_D

#define MASK_FSGNJN_D   0xfe00707f

◆ MASK_FSGNJN_S

#define MASK_FSGNJN_S   0xfe00707f

◆ MASK_FSGNJX_D

#define MASK_FSGNJX_D   0xfe00707f

◆ MASK_FSGNJX_S

#define MASK_FSGNJX_S   0xfe00707f

◆ MASK_FSQRT_D

#define MASK_FSQRT_D   0xfff0007f

◆ MASK_FSQRT_S

#define MASK_FSQRT_S   0xfff0007f

◆ MASK_FSUB_D

#define MASK_FSUB_D   0xfe00007f

◆ MASK_FSUB_S

#define MASK_FSUB_S   0xfe00007f

◆ MASK_FSW

#define MASK_FSW   0x707f

◆ MASK_HRET

#define MASK_HRET   0xffffffff

◆ MASK_JAL

#define MASK_JAL   0x7f

◆ MASK_JALR

#define MASK_JALR   0x707f

◆ MASK_LB

#define MASK_LB   0x707f

◆ MASK_LBU

#define MASK_LBU   0x707f

◆ MASK_LD

#define MASK_LD   0x707f

◆ MASK_LH

#define MASK_LH   0x707f

◆ MASK_LHU

#define MASK_LHU   0x707f

◆ MASK_LR_D

#define MASK_LR_D   0xf9f0707f

◆ MASK_LR_W

#define MASK_LR_W   0xf9f0707f

◆ MASK_LUI

#define MASK_LUI   0x7f

◆ MASK_LW

#define MASK_LW   0x707f

◆ MASK_LWU

#define MASK_LWU   0x707f

◆ MASK_MRET

#define MASK_MRET   0xffffffff

◆ MASK_MUL

#define MASK_MUL   0xfe00707f

◆ MASK_MULH

#define MASK_MULH   0xfe00707f

◆ MASK_MULHSU

#define MASK_MULHSU   0xfe00707f

◆ MASK_MULHU

#define MASK_MULHU   0xfe00707f

◆ MASK_MULW

#define MASK_MULW   0xfe00707f

◆ MASK_OR

#define MASK_OR   0xfe00707f

◆ MASK_ORI

#define MASK_ORI   0x707f

◆ MASK_REM

#define MASK_REM   0xfe00707f

◆ MASK_REMU

#define MASK_REMU   0xfe00707f

◆ MASK_REMUW

#define MASK_REMUW   0xfe00707f

◆ MASK_REMW

#define MASK_REMW   0xfe00707f

◆ MASK_SB

#define MASK_SB   0x707f

◆ MASK_SC_D

#define MASK_SC_D   0xf800707f

◆ MASK_SC_W

#define MASK_SC_W   0xf800707f

◆ MASK_SD

#define MASK_SD   0x707f

◆ MASK_SFENCE_VM

#define MASK_SFENCE_VM   0xfff07fff

◆ MASK_SH

#define MASK_SH   0x707f

◆ MASK_SLL

#define MASK_SLL   0xfe00707f

◆ MASK_SLLI

#define MASK_SLLI   0xfc00707f

◆ MASK_SLLIW

#define MASK_SLLIW   0xfe00707f

◆ MASK_SLLW

#define MASK_SLLW   0xfe00707f

◆ MASK_SLT

#define MASK_SLT   0xfe00707f

◆ MASK_SLTI

#define MASK_SLTI   0x707f

◆ MASK_SLTIU

#define MASK_SLTIU   0x707f

◆ MASK_SLTU

#define MASK_SLTU   0xfe00707f

◆ MASK_SRA

#define MASK_SRA   0xfe00707f

◆ MASK_SRAI

#define MASK_SRAI   0xfc00707f

◆ MASK_SRAIW

#define MASK_SRAIW   0xfe00707f

◆ MASK_SRAW

#define MASK_SRAW   0xfe00707f

◆ MASK_SRET

#define MASK_SRET   0xffffffff

◆ MASK_SRL

#define MASK_SRL   0xfe00707f

◆ MASK_SRLI

#define MASK_SRLI   0xfc00707f

◆ MASK_SRLIW

#define MASK_SRLIW   0xfe00707f

◆ MASK_SRLW

#define MASK_SRLW   0xfe00707f

◆ MASK_SUB

#define MASK_SUB   0xfe00707f

◆ MASK_SUBW

#define MASK_SUBW   0xfe00707f

◆ MASK_SW

#define MASK_SW   0x707f

◆ MASK_URET

#define MASK_URET   0xffffffff

◆ MASK_WFI

#define MASK_WFI   0xffffffff

◆ MASK_XOR

#define MASK_XOR   0xfe00707f

◆ MASK_XORI

#define MASK_XORI   0x707f

◆ MATCH_ADD

#define MATCH_ADD   0x33

◆ MATCH_ADDI

#define MATCH_ADDI   0x13

◆ MATCH_ADDIW

#define MATCH_ADDIW   0x1b

◆ MATCH_ADDW

#define MATCH_ADDW   0x3b

◆ MATCH_AMOADD_D

#define MATCH_AMOADD_D   0x302f

◆ MATCH_AMOADD_W

#define MATCH_AMOADD_W   0x202f

◆ MATCH_AMOAND_D

#define MATCH_AMOAND_D   0x6000302f

◆ MATCH_AMOAND_W

#define MATCH_AMOAND_W   0x6000202f

◆ MATCH_AMOMAX_D

#define MATCH_AMOMAX_D   0xa000302f

◆ MATCH_AMOMAX_W

#define MATCH_AMOMAX_W   0xa000202f

◆ MATCH_AMOMAXU_D

#define MATCH_AMOMAXU_D   0xe000302f

◆ MATCH_AMOMAXU_W

#define MATCH_AMOMAXU_W   0xe000202f

◆ MATCH_AMOMIN_D

#define MATCH_AMOMIN_D   0x8000302f

◆ MATCH_AMOMIN_W

#define MATCH_AMOMIN_W   0x8000202f

◆ MATCH_AMOMINU_D

#define MATCH_AMOMINU_D   0xc000302f

◆ MATCH_AMOMINU_W

#define MATCH_AMOMINU_W   0xc000202f

◆ MATCH_AMOOR_D

#define MATCH_AMOOR_D   0x4000302f

◆ MATCH_AMOOR_W

#define MATCH_AMOOR_W   0x4000202f

◆ MATCH_AMOSWAP_D

#define MATCH_AMOSWAP_D   0x800302f

◆ MATCH_AMOSWAP_W

#define MATCH_AMOSWAP_W   0x800202f

◆ MATCH_AMOXOR_D

#define MATCH_AMOXOR_D   0x2000302f

◆ MATCH_AMOXOR_W

#define MATCH_AMOXOR_W   0x2000202f

◆ MATCH_AND

#define MATCH_AND   0x7033

◆ MATCH_ANDI

#define MATCH_ANDI   0x7013

◆ MATCH_AUIPC

#define MATCH_AUIPC   0x17

◆ MATCH_BEQ

#define MATCH_BEQ   0x63

◆ MATCH_BGE

#define MATCH_BGE   0x5063

◆ MATCH_BGEU

#define MATCH_BGEU   0x7063

◆ MATCH_BLT

#define MATCH_BLT   0x4063

◆ MATCH_BLTU

#define MATCH_BLTU   0x6063

◆ MATCH_BNE

#define MATCH_BNE   0x1063

◆ MATCH_C_ADD

#define MATCH_C_ADD   0x9002

◆ MATCH_C_ADDI

#define MATCH_C_ADDI   0x1

◆ MATCH_C_ADDI16SP

#define MATCH_C_ADDI16SP   0x6101

◆ MATCH_C_ADDI4SPN

#define MATCH_C_ADDI4SPN   0x0

◆ MATCH_C_ADDIW

#define MATCH_C_ADDIW   0x2001

◆ MATCH_C_ADDW

#define MATCH_C_ADDW   0x9c21

◆ MATCH_C_AND

#define MATCH_C_AND   0x8c61

◆ MATCH_C_ANDI

#define MATCH_C_ANDI   0x8801

◆ MATCH_C_BEQZ

#define MATCH_C_BEQZ   0xc001

◆ MATCH_C_BNEZ

#define MATCH_C_BNEZ   0xe001

◆ MATCH_C_EBREAK

#define MATCH_C_EBREAK   0x9002

◆ MATCH_C_FLD

#define MATCH_C_FLD   0x2000

◆ MATCH_C_FLDSP

#define MATCH_C_FLDSP   0x2002

◆ MATCH_C_FLW

#define MATCH_C_FLW   0x6000

◆ MATCH_C_FLWSP

#define MATCH_C_FLWSP   0x6002

◆ MATCH_C_FSD

#define MATCH_C_FSD   0xa000

◆ MATCH_C_FSDSP

#define MATCH_C_FSDSP   0xa002

◆ MATCH_C_FSW

#define MATCH_C_FSW   0xe000

◆ MATCH_C_FSWSP

#define MATCH_C_FSWSP   0xe002

◆ MATCH_C_J

#define MATCH_C_J   0xa001

◆ MATCH_C_JAL

#define MATCH_C_JAL   0x2001

◆ MATCH_C_JALR

#define MATCH_C_JALR   0x9002

◆ MATCH_C_JR

#define MATCH_C_JR   0x8002

◆ MATCH_C_LD

#define MATCH_C_LD   0x6000

◆ MATCH_C_LDSP

#define MATCH_C_LDSP   0x6002

◆ MATCH_C_LI

#define MATCH_C_LI   0x4001

◆ MATCH_C_LUI

#define MATCH_C_LUI   0x6001

◆ MATCH_C_LW

#define MATCH_C_LW   0x4000

◆ MATCH_C_LWSP

#define MATCH_C_LWSP   0x4002

◆ MATCH_C_MV

#define MATCH_C_MV   0x8002

◆ MATCH_C_NOP

#define MATCH_C_NOP   0x1

◆ MATCH_C_OR

#define MATCH_C_OR   0x8c41

◆ MATCH_C_SD

#define MATCH_C_SD   0xe000

◆ MATCH_C_SDSP

#define MATCH_C_SDSP   0xe002

◆ MATCH_C_SLLI

#define MATCH_C_SLLI   0x2

◆ MATCH_C_SRAI

#define MATCH_C_SRAI   0x8401

◆ MATCH_C_SRLI

#define MATCH_C_SRLI   0x8001

◆ MATCH_C_SUB

#define MATCH_C_SUB   0x8c01

◆ MATCH_C_SUBW

#define MATCH_C_SUBW   0x9c01

◆ MATCH_C_SW

#define MATCH_C_SW   0xc000

◆ MATCH_C_SWSP

#define MATCH_C_SWSP   0xc002

◆ MATCH_C_XOR

#define MATCH_C_XOR   0x8c21

◆ MATCH_CSRRC

#define MATCH_CSRRC   0x3073

◆ MATCH_CSRRCI

#define MATCH_CSRRCI   0x7073

◆ MATCH_CSRRS

#define MATCH_CSRRS   0x2073

◆ MATCH_CSRRSI

#define MATCH_CSRRSI   0x6073

◆ MATCH_CSRRW

#define MATCH_CSRRW   0x1073

◆ MATCH_CSRRWI

#define MATCH_CSRRWI   0x5073

◆ MATCH_CUSTOM0

#define MATCH_CUSTOM0   0xb

◆ MATCH_CUSTOM0_RD

#define MATCH_CUSTOM0_RD   0x400b

◆ MATCH_CUSTOM0_RD_RS1

#define MATCH_CUSTOM0_RD_RS1   0x600b

◆ MATCH_CUSTOM0_RD_RS1_RS2

#define MATCH_CUSTOM0_RD_RS1_RS2   0x700b

◆ MATCH_CUSTOM0_RS1

#define MATCH_CUSTOM0_RS1   0x200b

◆ MATCH_CUSTOM0_RS1_RS2

#define MATCH_CUSTOM0_RS1_RS2   0x300b

◆ MATCH_CUSTOM1

#define MATCH_CUSTOM1   0x2b

◆ MATCH_CUSTOM1_RD

#define MATCH_CUSTOM1_RD   0x402b

◆ MATCH_CUSTOM1_RD_RS1

#define MATCH_CUSTOM1_RD_RS1   0x602b

◆ MATCH_CUSTOM1_RD_RS1_RS2

#define MATCH_CUSTOM1_RD_RS1_RS2   0x702b

◆ MATCH_CUSTOM1_RS1

#define MATCH_CUSTOM1_RS1   0x202b

◆ MATCH_CUSTOM1_RS1_RS2

#define MATCH_CUSTOM1_RS1_RS2   0x302b

◆ MATCH_CUSTOM2

#define MATCH_CUSTOM2   0x5b

◆ MATCH_CUSTOM2_RD

#define MATCH_CUSTOM2_RD   0x405b

◆ MATCH_CUSTOM2_RD_RS1

#define MATCH_CUSTOM2_RD_RS1   0x605b

◆ MATCH_CUSTOM2_RD_RS1_RS2

#define MATCH_CUSTOM2_RD_RS1_RS2   0x705b

◆ MATCH_CUSTOM2_RS1

#define MATCH_CUSTOM2_RS1   0x205b

◆ MATCH_CUSTOM2_RS1_RS2

#define MATCH_CUSTOM2_RS1_RS2   0x305b

◆ MATCH_CUSTOM3

#define MATCH_CUSTOM3   0x7b

◆ MATCH_CUSTOM3_RD

#define MATCH_CUSTOM3_RD   0x407b

◆ MATCH_CUSTOM3_RD_RS1

#define MATCH_CUSTOM3_RD_RS1   0x607b

◆ MATCH_CUSTOM3_RD_RS1_RS2

#define MATCH_CUSTOM3_RD_RS1_RS2   0x707b

◆ MATCH_CUSTOM3_RS1

#define MATCH_CUSTOM3_RS1   0x207b

◆ MATCH_CUSTOM3_RS1_RS2

#define MATCH_CUSTOM3_RS1_RS2   0x307b

◆ MATCH_DIV

#define MATCH_DIV   0x2004033

◆ MATCH_DIVU

#define MATCH_DIVU   0x2005033

◆ MATCH_DIVUW

#define MATCH_DIVUW   0x200503b

◆ MATCH_DIVW

#define MATCH_DIVW   0x200403b

◆ MATCH_DRET

#define MATCH_DRET   0x7b200073

◆ MATCH_EBREAK

#define MATCH_EBREAK   0x100073

◆ MATCH_ECALL

#define MATCH_ECALL   0x73

◆ MATCH_FADD_D

#define MATCH_FADD_D   0x2000053

◆ MATCH_FADD_S

#define MATCH_FADD_S   0x53

◆ MATCH_FCLASS_D

#define MATCH_FCLASS_D   0xe2001053

◆ MATCH_FCLASS_S

#define MATCH_FCLASS_S   0xe0001053

◆ MATCH_FCVT_D_L

#define MATCH_FCVT_D_L   0xd2200053

◆ MATCH_FCVT_D_LU

#define MATCH_FCVT_D_LU   0xd2300053

◆ MATCH_FCVT_D_S

#define MATCH_FCVT_D_S   0x42000053

◆ MATCH_FCVT_D_W

#define MATCH_FCVT_D_W   0xd2000053

◆ MATCH_FCVT_D_WU

#define MATCH_FCVT_D_WU   0xd2100053

◆ MATCH_FCVT_L_D

#define MATCH_FCVT_L_D   0xc2200053

◆ MATCH_FCVT_L_S

#define MATCH_FCVT_L_S   0xc0200053

◆ MATCH_FCVT_LU_D

#define MATCH_FCVT_LU_D   0xc2300053

◆ MATCH_FCVT_LU_S

#define MATCH_FCVT_LU_S   0xc0300053

◆ MATCH_FCVT_S_D

#define MATCH_FCVT_S_D   0x40100053

◆ MATCH_FCVT_S_L

#define MATCH_FCVT_S_L   0xd0200053

◆ MATCH_FCVT_S_LU

#define MATCH_FCVT_S_LU   0xd0300053

◆ MATCH_FCVT_S_W

#define MATCH_FCVT_S_W   0xd0000053

◆ MATCH_FCVT_S_WU

#define MATCH_FCVT_S_WU   0xd0100053

◆ MATCH_FCVT_W_D

#define MATCH_FCVT_W_D   0xc2000053

◆ MATCH_FCVT_W_S

#define MATCH_FCVT_W_S   0xc0000053

◆ MATCH_FCVT_WU_D

#define MATCH_FCVT_WU_D   0xc2100053

◆ MATCH_FCVT_WU_S

#define MATCH_FCVT_WU_S   0xc0100053

◆ MATCH_FDIV_D

#define MATCH_FDIV_D   0x1a000053

◆ MATCH_FDIV_S

#define MATCH_FDIV_S   0x18000053

◆ MATCH_FENCE

#define MATCH_FENCE   0xf

◆ MATCH_FENCE_I

#define MATCH_FENCE_I   0x100f

◆ MATCH_FEQ_D

#define MATCH_FEQ_D   0xa2002053

◆ MATCH_FEQ_S

#define MATCH_FEQ_S   0xa0002053

◆ MATCH_FLD

#define MATCH_FLD   0x3007

◆ MATCH_FLE_D

#define MATCH_FLE_D   0xa2000053

◆ MATCH_FLE_S

#define MATCH_FLE_S   0xa0000053

◆ MATCH_FLT_D

#define MATCH_FLT_D   0xa2001053

◆ MATCH_FLT_S

#define MATCH_FLT_S   0xa0001053

◆ MATCH_FLW

#define MATCH_FLW   0x2007

◆ MATCH_FMADD_D

#define MATCH_FMADD_D   0x2000043

◆ MATCH_FMADD_S

#define MATCH_FMADD_S   0x43

◆ MATCH_FMAX_D

#define MATCH_FMAX_D   0x2a001053

◆ MATCH_FMAX_S

#define MATCH_FMAX_S   0x28001053

◆ MATCH_FMIN_D

#define MATCH_FMIN_D   0x2a000053

◆ MATCH_FMIN_S

#define MATCH_FMIN_S   0x28000053

◆ MATCH_FMSUB_D

#define MATCH_FMSUB_D   0x2000047

◆ MATCH_FMSUB_S

#define MATCH_FMSUB_S   0x47

◆ MATCH_FMUL_D

#define MATCH_FMUL_D   0x12000053

◆ MATCH_FMUL_S

#define MATCH_FMUL_S   0x10000053

◆ MATCH_FMV_D_X

#define MATCH_FMV_D_X   0xf2000053

◆ MATCH_FMV_S_X

#define MATCH_FMV_S_X   0xf0000053

◆ MATCH_FMV_X_D

#define MATCH_FMV_X_D   0xe2000053

◆ MATCH_FMV_X_S

#define MATCH_FMV_X_S   0xe0000053

◆ MATCH_FNMADD_D

#define MATCH_FNMADD_D   0x200004f

◆ MATCH_FNMADD_S

#define MATCH_FNMADD_S   0x4f

◆ MATCH_FNMSUB_D

#define MATCH_FNMSUB_D   0x200004b

◆ MATCH_FNMSUB_S

#define MATCH_FNMSUB_S   0x4b

◆ MATCH_FSD

#define MATCH_FSD   0x3027

◆ MATCH_FSGNJ_D

#define MATCH_FSGNJ_D   0x22000053

◆ MATCH_FSGNJ_S

#define MATCH_FSGNJ_S   0x20000053

◆ MATCH_FSGNJN_D

#define MATCH_FSGNJN_D   0x22001053

◆ MATCH_FSGNJN_S

#define MATCH_FSGNJN_S   0x20001053

◆ MATCH_FSGNJX_D

#define MATCH_FSGNJX_D   0x22002053

◆ MATCH_FSGNJX_S

#define MATCH_FSGNJX_S   0x20002053

◆ MATCH_FSQRT_D

#define MATCH_FSQRT_D   0x5a000053

◆ MATCH_FSQRT_S

#define MATCH_FSQRT_S   0x58000053

◆ MATCH_FSUB_D

#define MATCH_FSUB_D   0xa000053

◆ MATCH_FSUB_S

#define MATCH_FSUB_S   0x8000053

◆ MATCH_FSW

#define MATCH_FSW   0x2027

◆ MATCH_HRET

#define MATCH_HRET   0x20200073

◆ MATCH_JAL

#define MATCH_JAL   0x6f

◆ MATCH_JALR

#define MATCH_JALR   0x67

◆ MATCH_LB

#define MATCH_LB   0x3

◆ MATCH_LBU

#define MATCH_LBU   0x4003

◆ MATCH_LD

#define MATCH_LD   0x3003

◆ MATCH_LH

#define MATCH_LH   0x1003

◆ MATCH_LHU

#define MATCH_LHU   0x5003

◆ MATCH_LR_D

#define MATCH_LR_D   0x1000302f

◆ MATCH_LR_W

#define MATCH_LR_W   0x1000202f

◆ MATCH_LUI

#define MATCH_LUI   0x37

◆ MATCH_LW

#define MATCH_LW   0x2003

◆ MATCH_LWU

#define MATCH_LWU   0x6003

◆ MATCH_MRET

#define MATCH_MRET   0x30200073

◆ MATCH_MUL

#define MATCH_MUL   0x2000033

◆ MATCH_MULH

#define MATCH_MULH   0x2001033

◆ MATCH_MULHSU

#define MATCH_MULHSU   0x2002033

◆ MATCH_MULHU

#define MATCH_MULHU   0x2003033

◆ MATCH_MULW

#define MATCH_MULW   0x200003b

◆ MATCH_OR

#define MATCH_OR   0x6033

◆ MATCH_ORI

#define MATCH_ORI   0x6013

◆ MATCH_REM

#define MATCH_REM   0x2006033

◆ MATCH_REMU

#define MATCH_REMU   0x2007033

◆ MATCH_REMUW

#define MATCH_REMUW   0x200703b

◆ MATCH_REMW

#define MATCH_REMW   0x200603b

◆ MATCH_SB

#define MATCH_SB   0x23

◆ MATCH_SC_D

#define MATCH_SC_D   0x1800302f

◆ MATCH_SC_W

#define MATCH_SC_W   0x1800202f

◆ MATCH_SD

#define MATCH_SD   0x3023

◆ MATCH_SFENCE_VM

#define MATCH_SFENCE_VM   0x10400073

◆ MATCH_SH

#define MATCH_SH   0x1023

◆ MATCH_SLL

#define MATCH_SLL   0x1033

◆ MATCH_SLLI

#define MATCH_SLLI   0x1013

◆ MATCH_SLLIW

#define MATCH_SLLIW   0x101b

◆ MATCH_SLLW

#define MATCH_SLLW   0x103b

◆ MATCH_SLT

#define MATCH_SLT   0x2033

◆ MATCH_SLTI

#define MATCH_SLTI   0x2013

◆ MATCH_SLTIU

#define MATCH_SLTIU   0x3013

◆ MATCH_SLTU

#define MATCH_SLTU   0x3033

◆ MATCH_SRA

#define MATCH_SRA   0x40005033

◆ MATCH_SRAI

#define MATCH_SRAI   0x40005013

◆ MATCH_SRAIW

#define MATCH_SRAIW   0x4000501b

◆ MATCH_SRAW

#define MATCH_SRAW   0x4000503b

◆ MATCH_SRET

#define MATCH_SRET   0x10200073

◆ MATCH_SRL

#define MATCH_SRL   0x5033

◆ MATCH_SRLI

#define MATCH_SRLI   0x5013

◆ MATCH_SRLIW

#define MATCH_SRLIW   0x501b

◆ MATCH_SRLW

#define MATCH_SRLW   0x503b

◆ MATCH_SUB

#define MATCH_SUB   0x40000033

◆ MATCH_SUBW

#define MATCH_SUBW   0x4000003b

◆ MATCH_SW

#define MATCH_SW   0x2023

◆ MATCH_URET

#define MATCH_URET   0x200073

◆ MATCH_WFI

#define MATCH_WFI   0x10500073

◆ MATCH_XOR

#define MATCH_XOR   0x4033

◆ MATCH_XORI

#define MATCH_XORI   0x4013

◆ MCONTROL_ACTION

#define MCONTROL_ACTION   (0x3f<<12)

◆ MCONTROL_ACTION_DEBUG_EXCEPTION

#define MCONTROL_ACTION_DEBUG_EXCEPTION   0

◆ MCONTROL_ACTION_DEBUG_MODE

#define MCONTROL_ACTION_DEBUG_MODE   1

◆ MCONTROL_ACTION_TRACE_EMIT

#define MCONTROL_ACTION_TRACE_EMIT   4

◆ MCONTROL_ACTION_TRACE_START

#define MCONTROL_ACTION_TRACE_START   2

◆ MCONTROL_ACTION_TRACE_STOP

#define MCONTROL_ACTION_TRACE_STOP   3

◆ MCONTROL_CHAIN

#define MCONTROL_CHAIN   (1<<11)

◆ MCONTROL_DMODE

#define MCONTROL_DMODE (   xlen)    (1ULL<<((xlen)-5))

◆ MCONTROL_EXECUTE

#define MCONTROL_EXECUTE   (1<<2)

◆ MCONTROL_H

#define MCONTROL_H   (1<<5)

◆ MCONTROL_LOAD

#define MCONTROL_LOAD   (1<<0)

◆ MCONTROL_M

#define MCONTROL_M   (1<<6)

◆ MCONTROL_MASKMAX

#define MCONTROL_MASKMAX (   xlen)    (0x3fULL<<((xlen)-11))

◆ MCONTROL_MATCH

#define MCONTROL_MATCH   (0xf<<7)

◆ MCONTROL_MATCH_EQUAL

#define MCONTROL_MATCH_EQUAL   0

◆ MCONTROL_MATCH_GE

#define MCONTROL_MATCH_GE   2

◆ MCONTROL_MATCH_LT

#define MCONTROL_MATCH_LT   3

◆ MCONTROL_MATCH_MASK_HIGH

#define MCONTROL_MATCH_MASK_HIGH   5

◆ MCONTROL_MATCH_MASK_LOW

#define MCONTROL_MATCH_MASK_LOW   4

◆ MCONTROL_MATCH_NAPOT

#define MCONTROL_MATCH_NAPOT   1

◆ MCONTROL_S

#define MCONTROL_S   (1<<4)

◆ MCONTROL_SELECT

#define MCONTROL_SELECT   (1<<19)

◆ MCONTROL_STORE

#define MCONTROL_STORE   (1<<1)

◆ MCONTROL_TIMING

#define MCONTROL_TIMING   (1<<18)

◆ MCONTROL_TYPE

#define MCONTROL_TYPE (   xlen)    (0xfULL<<((xlen)-4))

◆ MCONTROL_TYPE_MATCH

#define MCONTROL_TYPE_MATCH   2

◆ MCONTROL_TYPE_NONE

#define MCONTROL_TYPE_NONE   0

◆ MCONTROL_U

#define MCONTROL_U   (1<<3)

◆ MIE_HEIE

#define MIE_HEIE   MIP_HEIP

◆ MIE_HSIE

#define MIE_HSIE   MIP_HSIP

◆ MIE_HTIE

#define MIE_HTIE   MIP_HTIP

◆ MIE_MEIE

#define MIE_MEIE   MIP_MEIP

◆ MIE_MSIE

#define MIE_MSIE   MIP_MSIP

◆ MIE_MTIE

#define MIE_MTIE   MIP_MTIP

◆ MIE_SEIE

#define MIE_SEIE   MIP_SEIP

◆ MIE_SSIE

#define MIE_SSIE   MIP_SSIP

◆ MIE_STIE

#define MIE_STIE   MIP_STIP

◆ MIP_HEIP

#define MIP_HEIP   (1 << IRQ_H_EXT)

◆ MIP_HSIP

#define MIP_HSIP   (1 << IRQ_H_SOFT)

◆ MIP_HTIP

#define MIP_HTIP   (1 << IRQ_H_TIMER)

◆ MIP_MEIP

#define MIP_MEIP   (1 << IRQ_M_EXT)

◆ MIP_MSIP

#define MIP_MSIP   (1 << IRQ_M_SOFT)

◆ MIP_MTIP

#define MIP_MTIP   (1 << IRQ_M_TIMER)

◆ MIP_SEIP

#define MIP_SEIP   (1 << IRQ_S_EXT)

◆ MIP_SSIP

#define MIP_SSIP   (1 << IRQ_S_SOFT)

◆ MIP_STIP

#define MIP_STIP   (1 << IRQ_S_TIMER)

◆ MSTATUS32_SD

#define MSTATUS32_SD   0x80000000

◆ MSTATUS64_SD

#define MSTATUS64_SD   0x8000000000000000

◆ MSTATUS_FS

#define MSTATUS_FS   0x00006000

◆ MSTATUS_HIE

#define MSTATUS_HIE   0x00000004

◆ MSTATUS_HPIE

#define MSTATUS_HPIE   0x00000040

◆ MSTATUS_MIE

#define MSTATUS_MIE   0x00000008

◆ MSTATUS_MPIE

#define MSTATUS_MPIE   0x00000080

◆ MSTATUS_MPP

#define MSTATUS_MPP   0x00001800

◆ MSTATUS_MPRV

#define MSTATUS_MPRV   0x00020000

◆ MSTATUS_MXR

#define MSTATUS_MXR   0x00080000

◆ MSTATUS_PUM

#define MSTATUS_PUM   0x00040000

◆ MSTATUS_SIE

#define MSTATUS_SIE   0x00000002

◆ MSTATUS_SPIE

#define MSTATUS_SPIE   0x00000020

◆ MSTATUS_SPP

#define MSTATUS_SPP   0x00000100

◆ MSTATUS_UIE

#define MSTATUS_UIE   0x00000001

◆ MSTATUS_UPIE

#define MSTATUS_UPIE   0x00000010

◆ MSTATUS_VM

#define MSTATUS_VM   0x1F000000

◆ MSTATUS_XS

#define MSTATUS_XS   0x00018000

◆ PRV_H

#define PRV_H   2

◆ PRV_M

#define PRV_M   3

◆ PRV_S

#define PRV_S   1

◆ PRV_U

#define PRV_U   0

◆ PTE_A

#define PTE_A   0x040

◆ PTE_D

#define PTE_D   0x080

◆ PTE_G

#define PTE_G   0x020

◆ PTE_PPN_SHIFT

#define PTE_PPN_SHIFT   10

◆ PTE_R

#define PTE_R   0x002

◆ PTE_SOFT

#define PTE_SOFT   0x300

◆ PTE_TABLE

#define PTE_TABLE (   PTE)    (((PTE) & (PTE_V | PTE_R | PTE_W | PTE_X)) == PTE_V)

◆ PTE_U

#define PTE_U   0x010

◆ PTE_V

#define PTE_V   0x001

◆ PTE_W

#define PTE_W   0x004

◆ PTE_X

#define PTE_X   0x008

◆ RISCV_ENCODING_H

#define RISCV_ENCODING_H

◆ SIP_SSIP

#define SIP_SSIP   MIP_SSIP

◆ SIP_STIP

#define SIP_STIP   MIP_STIP

◆ SSTATUS32_SD

#define SSTATUS32_SD   0x80000000

◆ SSTATUS64_SD

#define SSTATUS64_SD   0x8000000000000000

◆ SSTATUS_FS

#define SSTATUS_FS   0x00006000

◆ SSTATUS_PUM

#define SSTATUS_PUM   0x00040000

◆ SSTATUS_SIE

#define SSTATUS_SIE   0x00000002

◆ SSTATUS_SPIE

#define SSTATUS_SPIE   0x00000020

◆ SSTATUS_SPP

#define SSTATUS_SPP   0x00000100

◆ SSTATUS_UIE

#define SSTATUS_UIE   0x00000001

◆ SSTATUS_UPIE

#define SSTATUS_UPIE   0x00000010

◆ SSTATUS_XS

#define SSTATUS_XS   0x00018000

◆ VM_MBARE

#define VM_MBARE   0

◆ VM_MBB

#define VM_MBB   1

◆ VM_MBBID

#define VM_MBBID   2

◆ VM_SV32

#define VM_SV32   8

◆ VM_SV39

#define VM_SV39   9

◆ VM_SV48

#define VM_SV48   10