# For Unicorn Engine. AUTO-GENERATED FILE, DO NOT EDIT [riscv_const.rb]

module UnicornEngine

# RISCV32 CPU

	UC_CPU_RISCV32_ANY = 0
	UC_CPU_RISCV32_BASE32 = 1
	UC_CPU_RISCV32_SIFIVE_E31 = 2
	UC_CPU_RISCV32_SIFIVE_U34 = 3
	UC_CPU_RISCV32_ENDING = 4

# RISCV64 CPU

	UC_CPU_RISCV64_ANY = 0
	UC_CPU_RISCV64_BASE64 = 1
	UC_CPU_RISCV64_SIFIVE_E51 = 2
	UC_CPU_RISCV64_SIFIVE_U54 = 3
	UC_CPU_RISCV64_ENDING = 4

# RISCV registers

	UC_RISCV_REG_INVALID = 0

# General purpose registers
	UC_RISCV_REG_X0 = 1
	UC_RISCV_REG_X1 = 2
	UC_RISCV_REG_X2 = 3
	UC_RISCV_REG_X3 = 4
	UC_RISCV_REG_X4 = 5
	UC_RISCV_REG_X5 = 6
	UC_RISCV_REG_X6 = 7
	UC_RISCV_REG_X7 = 8
	UC_RISCV_REG_X8 = 9
	UC_RISCV_REG_X9 = 10
	UC_RISCV_REG_X10 = 11
	UC_RISCV_REG_X11 = 12
	UC_RISCV_REG_X12 = 13
	UC_RISCV_REG_X13 = 14
	UC_RISCV_REG_X14 = 15
	UC_RISCV_REG_X15 = 16
	UC_RISCV_REG_X16 = 17
	UC_RISCV_REG_X17 = 18
	UC_RISCV_REG_X18 = 19
	UC_RISCV_REG_X19 = 20
	UC_RISCV_REG_X20 = 21
	UC_RISCV_REG_X21 = 22
	UC_RISCV_REG_X22 = 23
	UC_RISCV_REG_X23 = 24
	UC_RISCV_REG_X24 = 25
	UC_RISCV_REG_X25 = 26
	UC_RISCV_REG_X26 = 27
	UC_RISCV_REG_X27 = 28
	UC_RISCV_REG_X28 = 29
	UC_RISCV_REG_X29 = 30
	UC_RISCV_REG_X30 = 31
	UC_RISCV_REG_X31 = 32

# RISCV CSR
	UC_RISCV_REG_USTATUS = 33
	UC_RISCV_REG_UIE = 34
	UC_RISCV_REG_UTVEC = 35
	UC_RISCV_REG_USCRATCH = 36
	UC_RISCV_REG_UEPC = 37
	UC_RISCV_REG_UCAUSE = 38
	UC_RISCV_REG_UTVAL = 39
	UC_RISCV_REG_UIP = 40
	UC_RISCV_REG_FFLAGS = 41
	UC_RISCV_REG_FRM = 42
	UC_RISCV_REG_FCSR = 43
	UC_RISCV_REG_CYCLE = 44
	UC_RISCV_REG_TIME = 45
	UC_RISCV_REG_INSTRET = 46
	UC_RISCV_REG_HPMCOUNTER3 = 47
	UC_RISCV_REG_HPMCOUNTER4 = 48
	UC_RISCV_REG_HPMCOUNTER5 = 49
	UC_RISCV_REG_HPMCOUNTER6 = 50
	UC_RISCV_REG_HPMCOUNTER7 = 51
	UC_RISCV_REG_HPMCOUNTER8 = 52
	UC_RISCV_REG_HPMCOUNTER9 = 53
	UC_RISCV_REG_HPMCOUNTER10 = 54
	UC_RISCV_REG_HPMCOUNTER11 = 55
	UC_RISCV_REG_HPMCOUNTER12 = 56
	UC_RISCV_REG_HPMCOUNTER13 = 57
	UC_RISCV_REG_HPMCOUNTER14 = 58
	UC_RISCV_REG_HPMCOUNTER15 = 59
	UC_RISCV_REG_HPMCOUNTER16 = 60
	UC_RISCV_REG_HPMCOUNTER17 = 61
	UC_RISCV_REG_HPMCOUNTER18 = 62
	UC_RISCV_REG_HPMCOUNTER19 = 63
	UC_RISCV_REG_HPMCOUNTER20 = 64
	UC_RISCV_REG_HPMCOUNTER21 = 65
	UC_RISCV_REG_HPMCOUNTER22 = 66
	UC_RISCV_REG_HPMCOUNTER23 = 67
	UC_RISCV_REG_HPMCOUNTER24 = 68
	UC_RISCV_REG_HPMCOUNTER25 = 69
	UC_RISCV_REG_HPMCOUNTER26 = 70
	UC_RISCV_REG_HPMCOUNTER27 = 71
	UC_RISCV_REG_HPMCOUNTER28 = 72
	UC_RISCV_REG_HPMCOUNTER29 = 73
	UC_RISCV_REG_HPMCOUNTER30 = 74
	UC_RISCV_REG_HPMCOUNTER31 = 75
	UC_RISCV_REG_CYCLEH = 76
	UC_RISCV_REG_TIMEH = 77
	UC_RISCV_REG_INSTRETH = 78
	UC_RISCV_REG_HPMCOUNTER3H = 79
	UC_RISCV_REG_HPMCOUNTER4H = 80
	UC_RISCV_REG_HPMCOUNTER5H = 81
	UC_RISCV_REG_HPMCOUNTER6H = 82
	UC_RISCV_REG_HPMCOUNTER7H = 83
	UC_RISCV_REG_HPMCOUNTER8H = 84
	UC_RISCV_REG_HPMCOUNTER9H = 85
	UC_RISCV_REG_HPMCOUNTER10H = 86
	UC_RISCV_REG_HPMCOUNTER11H = 87
	UC_RISCV_REG_HPMCOUNTER12H = 88
	UC_RISCV_REG_HPMCOUNTER13H = 89
	UC_RISCV_REG_HPMCOUNTER14H = 90
	UC_RISCV_REG_HPMCOUNTER15H = 91
	UC_RISCV_REG_HPMCOUNTER16H = 92
	UC_RISCV_REG_HPMCOUNTER17H = 93
	UC_RISCV_REG_HPMCOUNTER18H = 94
	UC_RISCV_REG_HPMCOUNTER19H = 95
	UC_RISCV_REG_HPMCOUNTER20H = 96
	UC_RISCV_REG_HPMCOUNTER21H = 97
	UC_RISCV_REG_HPMCOUNTER22H = 98
	UC_RISCV_REG_HPMCOUNTER23H = 99
	UC_RISCV_REG_HPMCOUNTER24H = 100
	UC_RISCV_REG_HPMCOUNTER25H = 101
	UC_RISCV_REG_HPMCOUNTER26H = 102
	UC_RISCV_REG_HPMCOUNTER27H = 103
	UC_RISCV_REG_HPMCOUNTER28H = 104
	UC_RISCV_REG_HPMCOUNTER29H = 105
	UC_RISCV_REG_HPMCOUNTER30H = 106
	UC_RISCV_REG_HPMCOUNTER31H = 107
	UC_RISCV_REG_MCYCLE = 108
	UC_RISCV_REG_MINSTRET = 109
	UC_RISCV_REG_MCYCLEH = 110
	UC_RISCV_REG_MINSTRETH = 111
	UC_RISCV_REG_MVENDORID = 112
	UC_RISCV_REG_MARCHID = 113
	UC_RISCV_REG_MIMPID = 114
	UC_RISCV_REG_MHARTID = 115
	UC_RISCV_REG_MSTATUS = 116
	UC_RISCV_REG_MISA = 117
	UC_RISCV_REG_MEDELEG = 118
	UC_RISCV_REG_MIDELEG = 119
	UC_RISCV_REG_MIE = 120
	UC_RISCV_REG_MTVEC = 121
	UC_RISCV_REG_MCOUNTEREN = 122
	UC_RISCV_REG_MSTATUSH = 123
	UC_RISCV_REG_MUCOUNTEREN = 124
	UC_RISCV_REG_MSCOUNTEREN = 125
	UC_RISCV_REG_MHCOUNTEREN = 126
	UC_RISCV_REG_MSCRATCH = 127
	UC_RISCV_REG_MEPC = 128
	UC_RISCV_REG_MCAUSE = 129
	UC_RISCV_REG_MTVAL = 130
	UC_RISCV_REG_MIP = 131
	UC_RISCV_REG_MBADADDR = 132
	UC_RISCV_REG_SSTATUS = 133
	UC_RISCV_REG_SEDELEG = 134
	UC_RISCV_REG_SIDELEG = 135
	UC_RISCV_REG_SIE = 136
	UC_RISCV_REG_STVEC = 137
	UC_RISCV_REG_SCOUNTEREN = 138
	UC_RISCV_REG_SSCRATCH = 139
	UC_RISCV_REG_SEPC = 140
	UC_RISCV_REG_SCAUSE = 141
	UC_RISCV_REG_STVAL = 142
	UC_RISCV_REG_SIP = 143
	UC_RISCV_REG_SBADADDR = 144
	UC_RISCV_REG_SPTBR = 145
	UC_RISCV_REG_SATP = 146
	UC_RISCV_REG_HSTATUS = 147
	UC_RISCV_REG_HEDELEG = 148
	UC_RISCV_REG_HIDELEG = 149
	UC_RISCV_REG_HIE = 150
	UC_RISCV_REG_HCOUNTEREN = 151
	UC_RISCV_REG_HTVAL = 152
	UC_RISCV_REG_HIP = 153
	UC_RISCV_REG_HTINST = 154
	UC_RISCV_REG_HGATP = 155
	UC_RISCV_REG_HTIMEDELTA = 156
	UC_RISCV_REG_HTIMEDELTAH = 157

# Floating-point registers
	UC_RISCV_REG_F0 = 158
	UC_RISCV_REG_F1 = 159
	UC_RISCV_REG_F2 = 160
	UC_RISCV_REG_F3 = 161
	UC_RISCV_REG_F4 = 162
	UC_RISCV_REG_F5 = 163
	UC_RISCV_REG_F6 = 164
	UC_RISCV_REG_F7 = 165
	UC_RISCV_REG_F8 = 166
	UC_RISCV_REG_F9 = 167
	UC_RISCV_REG_F10 = 168
	UC_RISCV_REG_F11 = 169
	UC_RISCV_REG_F12 = 170
	UC_RISCV_REG_F13 = 171
	UC_RISCV_REG_F14 = 172
	UC_RISCV_REG_F15 = 173
	UC_RISCV_REG_F16 = 174
	UC_RISCV_REG_F17 = 175
	UC_RISCV_REG_F18 = 176
	UC_RISCV_REG_F19 = 177
	UC_RISCV_REG_F20 = 178
	UC_RISCV_REG_F21 = 179
	UC_RISCV_REG_F22 = 180
	UC_RISCV_REG_F23 = 181
	UC_RISCV_REG_F24 = 182
	UC_RISCV_REG_F25 = 183
	UC_RISCV_REG_F26 = 184
	UC_RISCV_REG_F27 = 185
	UC_RISCV_REG_F28 = 186
	UC_RISCV_REG_F29 = 187
	UC_RISCV_REG_F30 = 188
	UC_RISCV_REG_F31 = 189
	UC_RISCV_REG_PC = 190
	UC_RISCV_REG_PRIV = 191
	UC_RISCV_REG_ENDING = 192

# Alias registers
	UC_RISCV_REG_ZERO = 1
	UC_RISCV_REG_RA = 2
	UC_RISCV_REG_SP = 3
	UC_RISCV_REG_GP = 4
	UC_RISCV_REG_TP = 5
	UC_RISCV_REG_T0 = 6
	UC_RISCV_REG_T1 = 7
	UC_RISCV_REG_T2 = 8
	UC_RISCV_REG_S0 = 9
	UC_RISCV_REG_FP = 9
	UC_RISCV_REG_S1 = 10
	UC_RISCV_REG_A0 = 11
	UC_RISCV_REG_A1 = 12
	UC_RISCV_REG_A2 = 13
	UC_RISCV_REG_A3 = 14
	UC_RISCV_REG_A4 = 15
	UC_RISCV_REG_A5 = 16
	UC_RISCV_REG_A6 = 17
	UC_RISCV_REG_A7 = 18
	UC_RISCV_REG_S2 = 19
	UC_RISCV_REG_S3 = 20
	UC_RISCV_REG_S4 = 21
	UC_RISCV_REG_S5 = 22
	UC_RISCV_REG_S6 = 23
	UC_RISCV_REG_S7 = 24
	UC_RISCV_REG_S8 = 25
	UC_RISCV_REG_S9 = 26
	UC_RISCV_REG_S10 = 27
	UC_RISCV_REG_S11 = 28
	UC_RISCV_REG_T3 = 29
	UC_RISCV_REG_T4 = 30
	UC_RISCV_REG_T5 = 31
	UC_RISCV_REG_T6 = 32
	UC_RISCV_REG_FT0 = 158
	UC_RISCV_REG_FT1 = 159
	UC_RISCV_REG_FT2 = 160
	UC_RISCV_REG_FT3 = 161
	UC_RISCV_REG_FT4 = 162
	UC_RISCV_REG_FT5 = 163
	UC_RISCV_REG_FT6 = 164
	UC_RISCV_REG_FT7 = 165
	UC_RISCV_REG_FS0 = 166
	UC_RISCV_REG_FS1 = 167
	UC_RISCV_REG_FA0 = 168
	UC_RISCV_REG_FA1 = 169
	UC_RISCV_REG_FA2 = 170
	UC_RISCV_REG_FA3 = 171
	UC_RISCV_REG_FA4 = 172
	UC_RISCV_REG_FA5 = 173
	UC_RISCV_REG_FA6 = 174
	UC_RISCV_REG_FA7 = 175
	UC_RISCV_REG_FS2 = 176
	UC_RISCV_REG_FS3 = 177
	UC_RISCV_REG_FS4 = 178
	UC_RISCV_REG_FS5 = 179
	UC_RISCV_REG_FS6 = 180
	UC_RISCV_REG_FS7 = 181
	UC_RISCV_REG_FS8 = 182
	UC_RISCV_REG_FS9 = 183
	UC_RISCV_REG_FS10 = 184
	UC_RISCV_REG_FS11 = 185
	UC_RISCV_REG_FT8 = 186
	UC_RISCV_REG_FT9 = 187
	UC_RISCV_REG_FT10 = 188
	UC_RISCV_REG_FT11 = 189
end