Add RISCV CSR registers

This commit is contained in:
lazymio
2021-11-07 20:36:04 +01:00
parent 7268c2a19b
commit c6fdbb3735
3 changed files with 464 additions and 0 deletions

View File

@ -68,6 +68,133 @@ typedef enum uc_riscv_reg {
UC_RISCV_REG_X30,
UC_RISCV_REG_X31,
//> RISCV CSR
UC_RISCV_REG_USTATUS,
UC_RISCV_REG_UIE,
UC_RISCV_REG_UTVEC,
UC_RISCV_REG_USCRATCH,
UC_RISCV_REG_UEPC,
UC_RISCV_REG_UCAUSE,
UC_RISCV_REG_UTVAL,
UC_RISCV_REG_UIP,
UC_RISCV_REG_FFLAGS,
UC_RISCV_REG_FRM,
UC_RISCV_REG_FCSR,
UC_RISCV_REG_CYCLE,
UC_RISCV_REG_TIME,
UC_RISCV_REG_INSTRET,
UC_RISCV_REG_HPMCOUNTER3,
UC_RISCV_REG_HPMCOUNTER4,
UC_RISCV_REG_HPMCOUNTER5,
UC_RISCV_REG_HPMCOUNTER6,
UC_RISCV_REG_HPMCOUNTER7,
UC_RISCV_REG_HPMCOUNTER8,
UC_RISCV_REG_HPMCOUNTER9,
UC_RISCV_REG_HPMCOUNTER10,
UC_RISCV_REG_HPMCOUNTER11,
UC_RISCV_REG_HPMCOUNTER12,
UC_RISCV_REG_HPMCOUNTER13,
UC_RISCV_REG_HPMCOUNTER14,
UC_RISCV_REG_HPMCOUNTER15,
UC_RISCV_REG_HPMCOUNTER16,
UC_RISCV_REG_HPMCOUNTER17,
UC_RISCV_REG_HPMCOUNTER18,
UC_RISCV_REG_HPMCOUNTER19,
UC_RISCV_REG_HPMCOUNTER20,
UC_RISCV_REG_HPMCOUNTER21,
UC_RISCV_REG_HPMCOUNTER22,
UC_RISCV_REG_HPMCOUNTER23,
UC_RISCV_REG_HPMCOUNTER24,
UC_RISCV_REG_HPMCOUNTER25,
UC_RISCV_REG_HPMCOUNTER26,
UC_RISCV_REG_HPMCOUNTER27,
UC_RISCV_REG_HPMCOUNTER28,
UC_RISCV_REG_HPMCOUNTER29,
UC_RISCV_REG_HPMCOUNTER30,
UC_RISCV_REG_HPMCOUNTER31,
UC_RISCV_REG_CYCLEH,
UC_RISCV_REG_TIMEH,
UC_RISCV_REG_INSTRETH,
UC_RISCV_REG_HPMCOUNTER3H,
UC_RISCV_REG_HPMCOUNTER4H,
UC_RISCV_REG_HPMCOUNTER5H,
UC_RISCV_REG_HPMCOUNTER6H,
UC_RISCV_REG_HPMCOUNTER7H,
UC_RISCV_REG_HPMCOUNTER8H,
UC_RISCV_REG_HPMCOUNTER9H,
UC_RISCV_REG_HPMCOUNTER10H,
UC_RISCV_REG_HPMCOUNTER11H,
UC_RISCV_REG_HPMCOUNTER12H,
UC_RISCV_REG_HPMCOUNTER13H,
UC_RISCV_REG_HPMCOUNTER14H,
UC_RISCV_REG_HPMCOUNTER15H,
UC_RISCV_REG_HPMCOUNTER16H,
UC_RISCV_REG_HPMCOUNTER17H,
UC_RISCV_REG_HPMCOUNTER18H,
UC_RISCV_REG_HPMCOUNTER19H,
UC_RISCV_REG_HPMCOUNTER20H,
UC_RISCV_REG_HPMCOUNTER21H,
UC_RISCV_REG_HPMCOUNTER22H,
UC_RISCV_REG_HPMCOUNTER23H,
UC_RISCV_REG_HPMCOUNTER24H,
UC_RISCV_REG_HPMCOUNTER25H,
UC_RISCV_REG_HPMCOUNTER26H,
UC_RISCV_REG_HPMCOUNTER27H,
UC_RISCV_REG_HPMCOUNTER28H,
UC_RISCV_REG_HPMCOUNTER29H,
UC_RISCV_REG_HPMCOUNTER30H,
UC_RISCV_REG_HPMCOUNTER31H,
UC_RISCV_REG_MCYCLE,
UC_RISCV_REG_MINSTRET,
UC_RISCV_REG_MCYCLEH,
UC_RISCV_REG_MINSTRETH,
UC_RISCV_REG_MVENDORID,
UC_RISCV_REG_MARCHID,
UC_RISCV_REG_MIMPID,
UC_RISCV_REG_MHARTID,
UC_RISCV_REG_MSTATUS,
UC_RISCV_REG_MISA,
UC_RISCV_REG_MEDELEG,
UC_RISCV_REG_MIDELEG,
UC_RISCV_REG_MIE,
UC_RISCV_REG_MTVEC,
UC_RISCV_REG_MCOUNTEREN,
UC_RISCV_REG_MSTATUSH,
UC_RISCV_REG_MUCOUNTEREN,
UC_RISCV_REG_MSCOUNTEREN,
UC_RISCV_REG_MHCOUNTEREN,
UC_RISCV_REG_MSCRATCH,
UC_RISCV_REG_MEPC,
UC_RISCV_REG_MCAUSE,
UC_RISCV_REG_MTVAL,
UC_RISCV_REG_MIP,
UC_RISCV_REG_MBADADDR,
UC_RISCV_REG_SSTATUS,
UC_RISCV_REG_SEDELEG,
UC_RISCV_REG_SIDELEG,
UC_RISCV_REG_SIE,
UC_RISCV_REG_STVEC,
UC_RISCV_REG_SCOUNTEREN,
UC_RISCV_REG_SSCRATCH,
UC_RISCV_REG_SEPC,
UC_RISCV_REG_SCAUSE,
UC_RISCV_REG_STVAL,
UC_RISCV_REG_SIP,
UC_RISCV_REG_SBADADDR,
UC_RISCV_REG_SPTBR,
UC_RISCV_REG_SATP,
UC_RISCV_REG_HSTATUS,
UC_RISCV_REG_HEDELEG,
UC_RISCV_REG_HIDELEG,
UC_RISCV_REG_HIE,
UC_RISCV_REG_HCOUNTEREN,
UC_RISCV_REG_HTVAL,
UC_RISCV_REG_HIP,
UC_RISCV_REG_HTINST,
UC_RISCV_REG_HGATP,
UC_RISCV_REG_HTIMEDELTA,
UC_RISCV_REG_HTIMEDELTAH,
//> Floating-point registers
UC_RISCV_REG_F0, // "ft0"
UC_RISCV_REG_F1, // "ft1"