uc_ctl proposal (#1473)

* Add uc_ctl

* Add comments

* Slightly changed for bindings generation

* Generate bindings
This commit is contained in:
lazymio
2021-10-30 04:45:32 +02:00
committed by GitHub
parent 1856e940e4
commit 090686f8ed
65 changed files with 3520 additions and 4 deletions

View File

@ -136,7 +136,20 @@ def gen(lang):
previous = {}
count = 0
for line in lines:
skip = 0
in_comment = False
for lno, line in enumerate(lines):
if "/*" in line:
in_comment = True
if "*/" in line:
in_comment = False
if in_comment:
continue
if skip > 0:
# Due to clang-format, values may come up in the next line
skip -= 1
continue
line = line.strip()
if line.startswith(MARKUP): # markup for comments
@ -148,6 +161,8 @@ def gen(lang):
continue
tmp = line.strip().split(',')
if len(tmp) >= 2 and tmp[0] != "#define" and not tmp[0].startswith("UC_"):
continue
for t in tmp:
t = t.strip()
if not t or t.startswith('//'): continue
@ -159,18 +174,52 @@ def gen(lang):
define = True
f.pop(0)
f.insert(1, '=')
if f[0].startswith("UC_" + prefix.upper()):
if f[0].startswith("UC_" + prefix.upper()) or f[0].startswith("UC_CPU"):
if len(f) > 1 and f[1] not in ('//', '='):
print("WARNING: Unable to convert %s" % f)
print(" Line =", line)
continue
elif len(f) > 1 and f[1] == '=':
# Like:
# UC_A =
# (1 << 2)
# #define UC_B \
# (UC_A | UC_C)
# Let's search the next line
if len(f) == 2:
if lno == len(lines) - 1:
print("WARNING: Unable to convert %s" % f)
print(" Line =", line)
continue
skip += 1
next_line = lines[lno + 1]
next_line_tmp = next_line.strip().split(",")
rhs = next_line_tmp[0]
elif f[-1] == "\\":
idx = 0
rhs = ""
while True:
idx += 1
if lno + idx == len(lines):
print("WARNING: Unable to convert %s" % f)
print(" Line =", line)
continue
skip += 1
next_line = lines[lno + idx]
next_line_f = re.split('\s+', next_line.strip())
if next_line_f[-1] == "\\":
rhs += "".join(next_line_f[:-1])
else:
rhs += next_line.strip()
break
else:
rhs = ''.join(f[2:])
else:
rhs = str(count)
lhs = f[0].strip()
#print(f'lhs: {lhs} rhs: {rhs} f:{f}')
# evaluate bitshifts in constants e.g. "UC_X86 = 1 << 1"
match = re.match(r'(?P<rhs>\s*\d+\s*<<\s*\d+\s*)', rhs)
if match:

View File

@ -7,6 +7,40 @@ open System
[<AutoOpen>]
module Arm =
let UC_CPU_ARM_926 = 0
let UC_CPU_ARM_946 = 1
let UC_CPU_ARM_1026 = 2
let UC_CPU_ARM_1136_R2 = 3
let UC_CPU_ARM_1136 = 4
let UC_CPU_ARM_1176 = 5
let UC_CPU_ARM_11MPCORE = 6
let UC_CPU_ARM_CORTEX_M0 = 7
let UC_CPU_ARM_CORTEX_M3 = 8
let UC_CPU_ARM_CORTEX_M4 = 9
let UC_CPU_ARM_CORTEX_M7 = 10
let UC_CPU_ARM_CORTEX_M33 = 11
let UC_CPU_ARM_CORTEX_R5 = 12
let UC_CPU_ARM_CORTEX_R5F = 13
let UC_CPU_ARM_CORTEX_A8 = 14
let UC_CPU_ARM_CORTEX_A9 = 15
let UC_CPU_ARM_CORTEX_A7 = 16
let UC_CPU_ARM_CORTEX_A15 = 17
let UC_CPU_ARM_TI925T = 18
let UC_CPU_ARM_SA1100 = 19
let UC_CPU_ARM_SA1110 = 20
let UC_CPU_ARM_PXA250 = 21
let UC_CPU_ARM_PXA255 = 22
let UC_CPU_ARM_PXA260 = 23
let UC_CPU_ARM_PXA261 = 24
let UC_CPU_ARM_PXA262 = 25
let UC_CPU_ARM_PXA270A0 = 26
let UC_CPU_ARM_PXA270A1 = 27
let UC_CPU_ARM_PXA270B0 = 28
let UC_CPU_ARM_PXA270B1 = 29
let UC_CPU_ARM_PXA270C0 = 30
let UC_CPU_ARM_PXA270C5 = 31
let UC_CPU_ARM_MAX = 32
// ARM registers
let UC_ARM_REG_INVALID = 0

View File

@ -7,6 +7,11 @@ open System
[<AutoOpen>]
module Arm64 =
let UC_CPU_AARCH64_A57 = 0
let UC_CPU_AARCH64_A53 = 1
let UC_CPU_AARCH64_A72 = 2
let UC_CPU_AARCH64_MAX = 3
// ARM64 registers
let UC_ARM64_REG_INVALID = 0

View File

@ -112,6 +112,22 @@ module Common =
let UC_QUERY_ARCH = 3
let UC_QUERY_TIMEOUT = 4
let UC_CTL_IO_NONE = 0
let UC_CTL_IO_WRITE = 1
let UC_CTL_IO_READ = 2
let UC_CTL_IO_READ_WRITE = 3
let UC_CTL_UC_MODE = 0
let UC_CTL_UC_PAGE_SIZE = 1
let UC_CTL_UC_ARCH = 2
let UC_CTL_UC_TIMEOUT = 3
let UC_CTL_UC_EXITS_CNT = 4
let UC_CTL_UC_EXITS = 5
let UC_CTL_CPU_MODEL = 6
let UC_CTL_TB_EDGE = 7
let UC_CTL_TB_REQUEST_CACHE = 8
let UC_CTL_TB_REMOVE_CACHE = 9
let UC_PROT_NONE = 0
let UC_PROT_READ = 1
let UC_PROT_WRITE = 2

View File

@ -7,6 +7,16 @@ open System
[<AutoOpen>]
module M68k =
let UC_CPU_M5206_CPU = 0
let UC_CPU_M68000_CPU = 1
let UC_CPU_M68020_CPU = 2
let UC_CPU_M68030_CPU = 3
let UC_CPU_M68040_CPU = 4
let UC_CPU_M68060_CPU = 5
let UC_CPU_M5208_CPU = 6
let UC_CPU_CFV4E_CPU = 7
let UC_CPU_ANY_CPU = 8
// M68K registers
let UC_M68K_REG_INVALID = 0

View File

@ -7,6 +7,36 @@ open System
[<AutoOpen>]
module Mips =
let UC_CPU_MIPS_4KC = 0
let UC_CPU_MIPS_4KM = 1
let UC_CPU_MIPS_4KECR1 = 2
let UC_CPU_MIPS_4KEMR1 = 3
let UC_CPU_MIPS_4KEC = 4
let UC_CPU_MIPS_4KEM = 5
let UC_CPU_MIPS_24KC = 6
let UC_CPU_MIPS_24KEC = 7
let UC_CPU_MIPS_24KF = 8
let UC_CPU_MIPS_34KF = 9
let UC_CPU_MIPS_74KF = 10
let UC_CPU_MIPS_M14K = 11
let UC_CPU_MIPS_M14KC = 12
let UC_CPU_MIPS_P5600 = 13
let UC_CPU_MIPS_MIPS32R6_GENERIC = 14
let UC_CPU_MIPS_I7200 = 15
let UC_CPU_MIPS_R4000 = 16
let UC_CPU_MIPS_VR5432 = 17
let UC_CPU_MIPS_5KC = 18
let UC_CPU_MIPS_5KF = 19
let UC_CPU_MIPS_20KC = 20
let UC_CPU_MIPS_MIPS64R2_GENERIC = 21
let UC_CPU_MIPS_5KEC = 22
let UC_CPU_MIPS_5KEF = 23
let UC_CPU_MIPS_I6400 = 24
let UC_CPU_MIPS_I6500 = 25
let UC_CPU_MIPS_LOONGSON_2E = 26
let UC_CPU_MIPS_LOONGSON_2F = 27
let UC_CPU_MIPS_MIPS64DSPR2 = 28
// MIPS registers
let UC_MIPS_REG_INVALID = 0

View File

@ -7,6 +7,307 @@ open System
[<AutoOpen>]
module Ppc =
let UC_CPU_PPC_401A1 = 0
let UC_CPU_PPC_401B2 = 1
let UC_CPU_PPC_401C2 = 2
let UC_CPU_PPC_401D2 = 3
let UC_CPU_PPC_401E2 = 4
let UC_CPU_PPC_401F2 = 5
let UC_CPU_PPC_401G2 = 6
let UC_CPU_PPC_COBRA = 7
let UC_CPU_PPC_403GA = 8
let UC_CPU_PPC_403GB = 9
let UC_CPU_PPC_403GC = 10
let UC_CPU_PPC_403GCX = 11
let UC_CPU_PPC_405D2 = 12
let UC_CPU_PPC_405D4 = 13
let UC_CPU_PPC_405CRA = 14
let UC_CPU_PPC_405CRB = 15
let UC_CPU_PPC_405CRC = 16
let UC_CPU_PPC_405EP = 17
let UC_CPU_PPC_405EZ = 18
let UC_CPU_PPC_405GPA = 19
let UC_CPU_PPC_405GPB = 20
let UC_CPU_PPC_405GPC = 21
let UC_CPU_PPC_405GPD = 22
let UC_CPU_PPC_405GPR = 23
let UC_CPU_PPC_405LP = 24
let UC_CPU_PPC_NPE405H = 25
let UC_CPU_PPC_NPE405H2 = 26
let UC_CPU_PPC_NPE405L = 27
let UC_CPU_PPC_NPE4GS3 = 28
let UC_CPU_PPC_STB03 = 29
let UC_CPU_PPC_STB04 = 30
let UC_CPU_PPC_STB25 = 31
let UC_CPU_PPC_X2VP4 = 32
let UC_CPU_PPC_440_XILINX = 33
let UC_CPU_PPC_440EPA = 34
let UC_CPU_PPC_440EPB = 35
let UC_CPU_PPC_440GPB = 36
let UC_CPU_PPC_440GPC = 37
let UC_CPU_PPC_440GRX = 38
let UC_CPU_PPC_440GXA = 39
let UC_CPU_PPC_440GXB = 40
let UC_CPU_PPC_440GXC = 41
let UC_CPU_PPC_440GXF = 42
let UC_CPU_PPC_440SP = 43
let UC_CPU_PPC_440SP2 = 44
let UC_CPU_PPC_440SPE = 45
let UC_CPU_PPC_460EXB = 46
let UC_CPU_PPC_MPC5XX = 47
let UC_CPU_PPC_MPC8XX = 48
let UC_CPU_PPC_G2 = 49
let UC_CPU_PPC_G2H4 = 50
let UC_CPU_PPC_G2GP = 51
let UC_CPU_PPC_G2LS = 52
let UC_CPU_PPC_MPC603 = 53
let UC_CPU_PPC_G2_HIP3 = 54
let UC_CPU_PPC_G2_HIP4 = 55
let UC_CPU_PPC_G2LE = 56
let UC_CPU_PPC_G2LEGP = 57
let UC_CPU_PPC_G2LELS = 58
let UC_CPU_PPC_G2LEGP1 = 59
let UC_CPU_PPC_G2LEGP3 = 60
let UC_CPU_PPC_E200Z5 = 61
let UC_CPU_PPC_E200Z6 = 62
let UC_CPU_PPC_E300C1 = 63
let UC_CPU_PPC_E300C2 = 64
let UC_CPU_PPC_E300C3 = 65
let UC_CPU_PPC_E300C4 = 66
let UC_CPU_PPC_E500V1_V10 = 67
let UC_CPU_PPC_E500V1_V20 = 68
let UC_CPU_PPC_E500V2_V10 = 69
let UC_CPU_PPC_E500V2_V11 = 70
let UC_CPU_PPC_E500V2_V20 = 71
let UC_CPU_PPC_E500V2_V21 = 72
let UC_CPU_PPC_E500V2_V22 = 73
let UC_CPU_PPC_E500V2_V30 = 74
let UC_CPU_PPC_E500MC = 75
let UC_CPU_PPC_E5500 = 76
let UC_CPU_PPC_E6500 = 77
let UC_CPU_PPC_E600 = 78
let UC_CPU_PPC_601_V0 = 79
let UC_CPU_PPC_601_V1 = 80
let UC_CPU_PPC_601_V2 = 81
let UC_CPU_PPC_602 = 82
let UC_CPU_PPC_603 = 83
let UC_CPU_PPC_603E_V11 = 84
let UC_CPU_PPC_603E_V12 = 85
let UC_CPU_PPC_603E_V13 = 86
let UC_CPU_PPC_603E_V14 = 87
let UC_CPU_PPC_603E_V22 = 88
let UC_CPU_PPC_603E_V3 = 89
let UC_CPU_PPC_603E_V4 = 90
let UC_CPU_PPC_603E_V41 = 91
let UC_CPU_PPC_603E7T = 92
let UC_CPU_PPC_603E7V = 93
let UC_CPU_PPC_603E7V1 = 94
let UC_CPU_PPC_603E7V2 = 95
let UC_CPU_PPC_603E7 = 96
let UC_CPU_PPC_603P = 97
let UC_CPU_PPC_604 = 98
let UC_CPU_PPC_604E_V10 = 99
let UC_CPU_PPC_604E_V22 = 100
let UC_CPU_PPC_604E_V24 = 101
let UC_CPU_PPC_604R = 102
let UC_CPU_PPC_7X0_V10 = 103
let UC_CPU_PPC_7X0_V20 = 104
let UC_CPU_PPC_7X0_V21 = 105
let UC_CPU_PPC_7X0_V22 = 106
let UC_CPU_PPC_7X0_V30 = 107
let UC_CPU_PPC_7X0_V31 = 108
let UC_CPU_PPC_740E = 109
let UC_CPU_PPC_750E = 110
let UC_CPU_PPC_7X0P = 111
let UC_CPU_PPC_750CL_V10 = 112
let UC_CPU_PPC_750CL_V20 = 113
let UC_CPU_PPC_750CX_V10 = 114
let UC_CPU_PPC_750CX_V20 = 115
let UC_CPU_PPC_750CX_V21 = 116
let UC_CPU_PPC_750CX_V22 = 117
let UC_CPU_PPC_750CXE_V21 = 118
let UC_CPU_PPC_750CXE_V22 = 119
let UC_CPU_PPC_750CXE_V23 = 120
let UC_CPU_PPC_750CXE_V24 = 121
let UC_CPU_PPC_750CXE_V24B = 122
let UC_CPU_PPC_750CXE_V30 = 123
let UC_CPU_PPC_750CXE_V31 = 124
let UC_CPU_PPC_750CXE_V31B = 125
let UC_CPU_PPC_750CXR = 126
let UC_CPU_PPC_750FL = 127
let UC_CPU_PPC_750FX_V10 = 128
let UC_CPU_PPC_750FX_V20 = 129
let UC_CPU_PPC_750FX_V21 = 130
let UC_CPU_PPC_750FX_V22 = 131
let UC_CPU_PPC_750FX_V23 = 132
let UC_CPU_PPC_750GL = 133
let UC_CPU_PPC_750GX_V10 = 134
let UC_CPU_PPC_750GX_V11 = 135
let UC_CPU_PPC_750GX_V12 = 136
let UC_CPU_PPC_750L_V20 = 137
let UC_CPU_PPC_750L_V21 = 138
let UC_CPU_PPC_750L_V22 = 139
let UC_CPU_PPC_750L_V30 = 140
let UC_CPU_PPC_750L_V32 = 141
let UC_CPU_PPC_7X5_V10 = 142
let UC_CPU_PPC_7X5_V11 = 143
let UC_CPU_PPC_7X5_V20 = 144
let UC_CPU_PPC_7X5_V21 = 145
let UC_CPU_PPC_7X5_V22 = 146
let UC_CPU_PPC_7X5_V23 = 147
let UC_CPU_PPC_7X5_V24 = 148
let UC_CPU_PPC_7X5_V25 = 149
let UC_CPU_PPC_7X5_V26 = 150
let UC_CPU_PPC_7X5_V27 = 151
let UC_CPU_PPC_7X5_V28 = 152
let UC_CPU_PPC_7400_V10 = 153
let UC_CPU_PPC_7400_V11 = 154
let UC_CPU_PPC_7400_V20 = 155
let UC_CPU_PPC_7400_V21 = 156
let UC_CPU_PPC_7400_V22 = 157
let UC_CPU_PPC_7400_V26 = 158
let UC_CPU_PPC_7400_V27 = 159
let UC_CPU_PPC_7400_V28 = 160
let UC_CPU_PPC_7400_V29 = 161
let UC_CPU_PPC_7410_V10 = 162
let UC_CPU_PPC_7410_V11 = 163
let UC_CPU_PPC_7410_V12 = 164
let UC_CPU_PPC_7410_V13 = 165
let UC_CPU_PPC_7410_V14 = 166
let UC_CPU_PPC_7448_V10 = 167
let UC_CPU_PPC_7448_V11 = 168
let UC_CPU_PPC_7448_V20 = 169
let UC_CPU_PPC_7448_V21 = 170
let UC_CPU_PPC_7450_V10 = 171
let UC_CPU_PPC_7450_V11 = 172
let UC_CPU_PPC_7450_V12 = 173
let UC_CPU_PPC_7450_V20 = 174
let UC_CPU_PPC_7450_V21 = 175
let UC_CPU_PPC_74X1_V23 = 176
let UC_CPU_PPC_74X1_V210 = 177
let UC_CPU_PPC_74X5_V10 = 178
let UC_CPU_PPC_74X5_V21 = 179
let UC_CPU_PPC_74X5_V32 = 180
let UC_CPU_PPC_74X5_V33 = 181
let UC_CPU_PPC_74X5_V34 = 182
let UC_CPU_PPC_74X7_V10 = 183
let UC_CPU_PPC_74X7_V11 = 184
let UC_CPU_PPC_74X7_V12 = 185
let UC_CPU_PPC_74X7A_V10 = 186
let UC_CPU_PPC_74X7A_V11 = 187
let UC_CPU_PPC_74X7A_V12 = 188
let UC_CPU_PPC_IOP480 = 1
let UC_CPU_PPC_X2VP20 = 42
let UC_CPU_PPC_440GRA = 35
let UC_CPU_PPC_440EPX = 38
let UC_CPU_PPC_MPC5200_V10 = 59
let UC_CPU_PPC_MPC5200_V11 = 59
let UC_CPU_PPC_MPC5200_V12 = 59
let UC_CPU_PPC_MPC5200B_V20 = 59
let UC_CPU_PPC_MPC5200B_V21 = 59
let UC_CPU_PPC_MPC834X = 63
let UC_CPU_PPC_MPC837X = 66
let UC_CPU_PPC_E500 = 73
let UC_CPU_PPC_MPC8533_V10 = 72
let UC_CPU_PPC_MPC8533_V11 = 73
let UC_CPU_PPC_MPC8533E_V10 = 72
let UC_CPU_PPC_MPC8533E_V11 = 73
let UC_CPU_PPC_MPC8540_V10 = 67
let UC_CPU_PPC_MPC8540_V20 = 68
let UC_CPU_PPC_MPC8540_V21 = 68
let UC_CPU_PPC_MPC8541_V10 = 68
let UC_CPU_PPC_MPC8541_V11 = 68
let UC_CPU_PPC_MPC8541E_V10 = 68
let UC_CPU_PPC_MPC8541E_V11 = 68
let UC_CPU_PPC_MPC8543_V10 = 69
let UC_CPU_PPC_MPC8543_V11 = 70
let UC_CPU_PPC_MPC8543_V20 = 71
let UC_CPU_PPC_MPC8543_V21 = 72
let UC_CPU_PPC_MPC8543E_V10 = 69
let UC_CPU_PPC_MPC8543E_V11 = 70
let UC_CPU_PPC_MPC8543E_V20 = 71
let UC_CPU_PPC_MPC8543E_V21 = 72
let UC_CPU_PPC_MPC8544_V10 = 72
let UC_CPU_PPC_MPC8544_V11 = 73
let UC_CPU_PPC_MPC8544E_V11 = 73
let UC_CPU_PPC_MPC8544E_V10 = 72
let UC_CPU_PPC_MPC8545_V10 = 69
let UC_CPU_PPC_MPC8545_V20 = 71
let UC_CPU_PPC_MPC8545_V21 = 72
let UC_CPU_PPC_MPC8545E_V10 = 69
let UC_CPU_PPC_MPC8545E_V20 = 71
let UC_CPU_PPC_MPC8545E_V21 = 72
let UC_CPU_PPC_MPC8547E_V10 = 69
let UC_CPU_PPC_MPC8547E_V20 = 71
let UC_CPU_PPC_MPC8547E_V21 = 72
let UC_CPU_PPC_MPC8548_V10 = 69
let UC_CPU_PPC_MPC8548_V11 = 70
let UC_CPU_PPC_MPC8548_V20 = 71
let UC_CPU_PPC_MPC8548_V21 = 72
let UC_CPU_PPC_MPC8548E_V10 = 69
let UC_CPU_PPC_MPC8548E_V11 = 70
let UC_CPU_PPC_MPC8548E_V20 = 71
let UC_CPU_PPC_MPC8548E_V21 = 72
let UC_CPU_PPC_MPC8555_V10 = 69
let UC_CPU_PPC_MPC8555_V11 = 70
let UC_CPU_PPC_MPC8555E_V10 = 69
let UC_CPU_PPC_MPC8555E_V11 = 70
let UC_CPU_PPC_MPC8560_V10 = 69
let UC_CPU_PPC_MPC8560_V20 = 71
let UC_CPU_PPC_MPC8560_V21 = 72
let UC_CPU_PPC_MPC8567 = 73
let UC_CPU_PPC_MPC8567E = 73
let UC_CPU_PPC_MPC8568 = 73
let UC_CPU_PPC_MPC8568E = 73
let UC_CPU_PPC_MPC8572 = 74
let UC_CPU_PPC_MPC8572E = 74
let UC_CPU_PPC_MPC8610 = 78
let UC_CPU_PPC_MPC8641 = 78
let UC_CPU_PPC_MPC8641D = 78
let UC_CPU_PPC64_620 = 0
let UC_CPU_PPC64_630 = 1
let UC_CPU_PPC64_631 = 2
let UC_CPU_PPC64_POWER4 = 3
let UC_CPU_PPC64_POWER4P = 4
let UC_CPU_PPC64_POWER5 = 5
let UC_CPU_PPC64_POWER5P_V21 = 6
let UC_CPU_PPC64_POWER6 = 7
let UC_CPU_PPC64_POWER_SERVER_MASK = 8
let UC_CPU_PPC64_POWER7_BASE = 9
let UC_CPU_PPC64_POWER7_V23 = 10
let UC_CPU_PPC64_POWER7P_BASE = 11
let UC_CPU_PPC64_POWER7P_V21 = 12
let UC_CPU_PPC64_POWER8E_BASE = 13
let UC_CPU_PPC64_POWER8E_V21 = 14
let UC_CPU_PPC64_POWER8_BASE = 15
let UC_CPU_PPC64_POWER8_V20 = 16
let UC_CPU_PPC64_POWER8NVL_BASE = 17
let UC_CPU_PPC64_POWER8NVL_V10 = 18
let UC_CPU_PPC64_POWER9_BASE = 19
let UC_CPU_PPC64_POWER9_DD1 = 20
let UC_CPU_PPC64_POWER9_DD20 = 21
let UC_CPU_PPC64_POWER10_BASE = 22
let UC_CPU_PPC64_POWER10_DD1 = 23
let UC_CPU_PPC64_970_V22 = 24
let UC_CPU_PPC64_970FX_V10 = 25
let UC_CPU_PPC64_970FX_V20 = 26
let UC_CPU_PPC64_970FX_V21 = 27
let UC_CPU_PPC64_970FX_V30 = 28
let UC_CPU_PPC64_970FX_V31 = 29
let UC_CPU_PPC64_970MP_V10 = 30
let UC_CPU_PPC64_970MP_V11 = 31
let UC_CPU_PPC64_CELL_V10 = 32
let UC_CPU_PPC64_CELL_V20 = 33
let UC_CPU_PPC64_CELL_V30 = 34
let UC_CPU_PPC64_CELL_V31 = 35
let UC_CPU_PPC64_RS64 = 36
let UC_CPU_PPC64_RS64II = 37
let UC_CPU_PPC64_RS64III = 38
let UC_CPU_PPC64_RS64IV = 39
let UC_CPU_PPC64_CELL_V32 = 35
let UC_CPU_PPC64_CELL = 35
// PPC registers
let UC_PPC_REG_INVALID = 0

View File

@ -7,6 +7,16 @@ open System
[<AutoOpen>]
module Riscv =
let UC_CPU_RISCV32_ANY = 0
let UC_CPU_RISCV32_BASE32 = 1
let UC_CPU_RISCV32_SIFIVE_E31 = 2
let UC_CPU_RISCV32_SIFIVE_U34 = 3
let UC_CPU_RISCV64_ANY = 0
let UC_CPU_RISCV64_BASE64 = 1
let UC_CPU_RISCV64_SIFIVE_E51 = 2
let UC_CPU_RISCV64_SIFIVE_U54 = 3
// RISCV registers
let UC_RISCV_REG_INVALID = 0

View File

@ -7,6 +7,38 @@ open System
[<AutoOpen>]
module Sparc =
let UC_CPU_SPARC_FUJITSU_MB86904 = 0
let UC_CPU_SPARC_FUJITSU_MB86907 = 1
let UC_CPU_SPARC_TI_MICROSPARC_I = 2
let UC_CPU_SPARC_TI_MICROSPARC_II = 3
let UC_CPU_SPARC_TI_MICROSPARC_IIEP = 4
let UC_CPU_SPARC_TI_SUPERSPARC_40 = 5
let UC_CPU_SPARC_TI_SUPERSPARC_50 = 6
let UC_CPU_SPARC_TI_SUPERSPARC_51 = 7
let UC_CPU_SPARC_TI_SUPERSPARC_60 = 8
let UC_CPU_SPARC_TI_SUPERSPARC_61 = 9
let UC_CPU_SPARC_TI_SUPERSPARC_II = 10
let UC_CPU_SPARC_LEON2 = 11
let UC_CPU_SPARC_LEON3 = 12
let UC_CPU_SPARC64_FUJITSU = 0
let UC_CPU_SPARC64_FUJITSU_III = 1
let UC_CPU_SPARC64_FUJITSU_IV = 2
let UC_CPU_SPARC64_FUJITSU_V = 3
let UC_CPU_SPARC64_TI_ULTRASPARC_I = 4
let UC_CPU_SPARC64_TI_ULTRASPARC_II = 5
let UC_CPU_SPARC64_TI_ULTRASPARC_III = 6
let UC_CPU_SPARC64_TI_ULTRASPARC_IIE = 7
let UC_CPU_SPARC64_SUN_ULTRASPARC_III = 8
let UC_CPU_SPARC64_SUN_ULTRASPARC_III_CU = 9
let UC_CPU_SPARC64_SUN_ULTRASPARC_IIII = 10
let UC_CPU_SPARC64_SUN_ULTRASPARC_IV = 11
let UC_CPU_SPARC64_SUN_ULTRASPARC_IV_PLUS = 12
let UC_CPU_SPARC64_SUN_ULTRASPARC_IIII_PLUS = 13
let UC_CPU_SPARC64_SUN_ULTRASPARC_T1 = 14
let UC_CPU_SPARC64_SUN_ULTRASPARC_T2 = 15
let UC_CPU_SPARC64_NEC_ULTRASPARC_I = 16
// SPARC registers
let UC_SPARC_REG_INVALID = 0

View File

@ -7,6 +7,45 @@ open System
[<AutoOpen>]
module X86 =
let UC_CPU_X86_QEMU64 = 0
let UC_CPU_X86_PHENOM = 1
let UC_CPU_X86_CORE2DUO = 2
let UC_CPU_X86_KVM64 = 3
let UC_CPU_X86_QEMU32 = 4
let UC_CPU_X86_KVM32 = 5
let UC_CPU_X86_COREDUO = 6
let UC_CPU_X86_486 = 7
let UC_CPU_X86_PENTIUM = 8
let UC_CPU_X86_PENTIUM2 = 9
let UC_CPU_X86_PENTIUM3 = 10
let UC_CPU_X86_ATHLON = 11
let UC_CPU_X86_N270 = 12
let UC_CPU_X86_CONROE = 13
let UC_CPU_X86_PENRYN = 14
let UC_CPU_X86_NEHALEM = 15
let UC_CPU_X86_WESTMERE = 16
let UC_CPU_X86_SANDYBRIDGE = 17
let UC_CPU_X86_IVYBRIDGE = 18
let UC_CPU_X86_HASWELL = 19
let UC_CPU_X86_BROADWELL = 20
let UC_CPU_X86_SKYLAKE_CLIENT = 21
let UC_CPU_X86_SKYLAKE_SERVER = 22
let UC_CPU_X86_CASCADELAKE_SERVER = 23
let UC_CPU_X86_COOPERLAKE = 24
let UC_CPU_X86_ICELAKE_CLIENT = 25
let UC_CPU_X86_ICELAKE_SERVER = 26
let UC_CPU_X86_DENVERTON = 27
let UC_CPU_X86_SNOWRIDGE = 28
let UC_CPU_X86_KNIGHTSMILL = 29
let UC_CPU_X86_OPTERON_G1 = 30
let UC_CPU_X86_OPTERON_G2 = 31
let UC_CPU_X86_OPTERON_G3 = 32
let UC_CPU_X86_OPTERON_G4 = 33
let UC_CPU_X86_OPTERON_G5 = 34
let UC_CPU_X86_EPYC = 35
let UC_CPU_X86_DHYANA = 36
let UC_CPU_X86_EPYC_ROME = 37
// X86 registers
let UC_X86_REG_INVALID = 0

View File

@ -2,6 +2,11 @@ package unicorn
// For Unicorn Engine. AUTO-GENERATED FILE, DO NOT EDIT [arm64_const.go]
const (
CPU_AARCH64_A57 = 0
CPU_AARCH64_A53 = 1
CPU_AARCH64_A72 = 2
CPU_AARCH64_MAX = 3
// ARM64 registers
ARM64_REG_INVALID = 0

View File

@ -2,6 +2,40 @@ package unicorn
// For Unicorn Engine. AUTO-GENERATED FILE, DO NOT EDIT [arm_const.go]
const (
CPU_ARM_926 = 0
CPU_ARM_946 = 1
CPU_ARM_1026 = 2
CPU_ARM_1136_R2 = 3
CPU_ARM_1136 = 4
CPU_ARM_1176 = 5
CPU_ARM_11MPCORE = 6
CPU_ARM_CORTEX_M0 = 7
CPU_ARM_CORTEX_M3 = 8
CPU_ARM_CORTEX_M4 = 9
CPU_ARM_CORTEX_M7 = 10
CPU_ARM_CORTEX_M33 = 11
CPU_ARM_CORTEX_R5 = 12
CPU_ARM_CORTEX_R5F = 13
CPU_ARM_CORTEX_A8 = 14
CPU_ARM_CORTEX_A9 = 15
CPU_ARM_CORTEX_A7 = 16
CPU_ARM_CORTEX_A15 = 17
CPU_ARM_TI925T = 18
CPU_ARM_SA1100 = 19
CPU_ARM_SA1110 = 20
CPU_ARM_PXA250 = 21
CPU_ARM_PXA255 = 22
CPU_ARM_PXA260 = 23
CPU_ARM_PXA261 = 24
CPU_ARM_PXA262 = 25
CPU_ARM_PXA270A0 = 26
CPU_ARM_PXA270A1 = 27
CPU_ARM_PXA270B0 = 28
CPU_ARM_PXA270B1 = 29
CPU_ARM_PXA270C0 = 30
CPU_ARM_PXA270C5 = 31
CPU_ARM_MAX = 32
// ARM registers
ARM_REG_INVALID = 0

View File

@ -2,6 +2,16 @@ package unicorn
// For Unicorn Engine. AUTO-GENERATED FILE, DO NOT EDIT [m68k_const.go]
const (
CPU_M5206_CPU = 0
CPU_M68000_CPU = 1
CPU_M68020_CPU = 2
CPU_M68030_CPU = 3
CPU_M68040_CPU = 4
CPU_M68060_CPU = 5
CPU_M5208_CPU = 6
CPU_CFV4E_CPU = 7
CPU_ANY_CPU = 8
// M68K registers
M68K_REG_INVALID = 0

View File

@ -2,6 +2,36 @@ package unicorn
// For Unicorn Engine. AUTO-GENERATED FILE, DO NOT EDIT [mips_const.go]
const (
CPU_MIPS_4KC = 0
CPU_MIPS_4KM = 1
CPU_MIPS_4KECR1 = 2
CPU_MIPS_4KEMR1 = 3
CPU_MIPS_4KEC = 4
CPU_MIPS_4KEM = 5
CPU_MIPS_24KC = 6
CPU_MIPS_24KEC = 7
CPU_MIPS_24KF = 8
CPU_MIPS_34KF = 9
CPU_MIPS_74KF = 10
CPU_MIPS_M14K = 11
CPU_MIPS_M14KC = 12
CPU_MIPS_P5600 = 13
CPU_MIPS_MIPS32R6_GENERIC = 14
CPU_MIPS_I7200 = 15
CPU_MIPS_R4000 = 16
CPU_MIPS_VR5432 = 17
CPU_MIPS_5KC = 18
CPU_MIPS_5KF = 19
CPU_MIPS_20KC = 20
CPU_MIPS_MIPS64R2_GENERIC = 21
CPU_MIPS_5KEC = 22
CPU_MIPS_5KEF = 23
CPU_MIPS_I6400 = 24
CPU_MIPS_I6500 = 25
CPU_MIPS_LOONGSON_2E = 26
CPU_MIPS_LOONGSON_2F = 27
CPU_MIPS_MIPS64DSPR2 = 28
// MIPS registers
MIPS_REG_INVALID = 0

View File

@ -2,6 +2,307 @@ package unicorn
// For Unicorn Engine. AUTO-GENERATED FILE, DO NOT EDIT [ppc_const.go]
const (
CPU_PPC_401A1 = 0
CPU_PPC_401B2 = 1
CPU_PPC_401C2 = 2
CPU_PPC_401D2 = 3
CPU_PPC_401E2 = 4
CPU_PPC_401F2 = 5
CPU_PPC_401G2 = 6
CPU_PPC_COBRA = 7
CPU_PPC_403GA = 8
CPU_PPC_403GB = 9
CPU_PPC_403GC = 10
CPU_PPC_403GCX = 11
CPU_PPC_405D2 = 12
CPU_PPC_405D4 = 13
CPU_PPC_405CRA = 14
CPU_PPC_405CRB = 15
CPU_PPC_405CRC = 16
CPU_PPC_405EP = 17
CPU_PPC_405EZ = 18
CPU_PPC_405GPA = 19
CPU_PPC_405GPB = 20
CPU_PPC_405GPC = 21
CPU_PPC_405GPD = 22
CPU_PPC_405GPR = 23
CPU_PPC_405LP = 24
CPU_PPC_NPE405H = 25
CPU_PPC_NPE405H2 = 26
CPU_PPC_NPE405L = 27
CPU_PPC_NPE4GS3 = 28
CPU_PPC_STB03 = 29
CPU_PPC_STB04 = 30
CPU_PPC_STB25 = 31
CPU_PPC_X2VP4 = 32
CPU_PPC_440_XILINX = 33
CPU_PPC_440EPA = 34
CPU_PPC_440EPB = 35
CPU_PPC_440GPB = 36
CPU_PPC_440GPC = 37
CPU_PPC_440GRX = 38
CPU_PPC_440GXA = 39
CPU_PPC_440GXB = 40
CPU_PPC_440GXC = 41
CPU_PPC_440GXF = 42
CPU_PPC_440SP = 43
CPU_PPC_440SP2 = 44
CPU_PPC_440SPE = 45
CPU_PPC_460EXB = 46
CPU_PPC_MPC5XX = 47
CPU_PPC_MPC8XX = 48
CPU_PPC_G2 = 49
CPU_PPC_G2H4 = 50
CPU_PPC_G2GP = 51
CPU_PPC_G2LS = 52
CPU_PPC_MPC603 = 53
CPU_PPC_G2_HIP3 = 54
CPU_PPC_G2_HIP4 = 55
CPU_PPC_G2LE = 56
CPU_PPC_G2LEGP = 57
CPU_PPC_G2LELS = 58
CPU_PPC_G2LEGP1 = 59
CPU_PPC_G2LEGP3 = 60
CPU_PPC_E200Z5 = 61
CPU_PPC_E200Z6 = 62
CPU_PPC_E300C1 = 63
CPU_PPC_E300C2 = 64
CPU_PPC_E300C3 = 65
CPU_PPC_E300C4 = 66
CPU_PPC_E500V1_V10 = 67
CPU_PPC_E500V1_V20 = 68
CPU_PPC_E500V2_V10 = 69
CPU_PPC_E500V2_V11 = 70
CPU_PPC_E500V2_V20 = 71
CPU_PPC_E500V2_V21 = 72
CPU_PPC_E500V2_V22 = 73
CPU_PPC_E500V2_V30 = 74
CPU_PPC_E500MC = 75
CPU_PPC_E5500 = 76
CPU_PPC_E6500 = 77
CPU_PPC_E600 = 78
CPU_PPC_601_V0 = 79
CPU_PPC_601_V1 = 80
CPU_PPC_601_V2 = 81
CPU_PPC_602 = 82
CPU_PPC_603 = 83
CPU_PPC_603E_V11 = 84
CPU_PPC_603E_V12 = 85
CPU_PPC_603E_V13 = 86
CPU_PPC_603E_V14 = 87
CPU_PPC_603E_V22 = 88
CPU_PPC_603E_V3 = 89
CPU_PPC_603E_V4 = 90
CPU_PPC_603E_V41 = 91
CPU_PPC_603E7T = 92
CPU_PPC_603E7V = 93
CPU_PPC_603E7V1 = 94
CPU_PPC_603E7V2 = 95
CPU_PPC_603E7 = 96
CPU_PPC_603P = 97
CPU_PPC_604 = 98
CPU_PPC_604E_V10 = 99
CPU_PPC_604E_V22 = 100
CPU_PPC_604E_V24 = 101
CPU_PPC_604R = 102
CPU_PPC_7X0_V10 = 103
CPU_PPC_7X0_V20 = 104
CPU_PPC_7X0_V21 = 105
CPU_PPC_7X0_V22 = 106
CPU_PPC_7X0_V30 = 107
CPU_PPC_7X0_V31 = 108
CPU_PPC_740E = 109
CPU_PPC_750E = 110
CPU_PPC_7X0P = 111
CPU_PPC_750CL_V10 = 112
CPU_PPC_750CL_V20 = 113
CPU_PPC_750CX_V10 = 114
CPU_PPC_750CX_V20 = 115
CPU_PPC_750CX_V21 = 116
CPU_PPC_750CX_V22 = 117
CPU_PPC_750CXE_V21 = 118
CPU_PPC_750CXE_V22 = 119
CPU_PPC_750CXE_V23 = 120
CPU_PPC_750CXE_V24 = 121
CPU_PPC_750CXE_V24B = 122
CPU_PPC_750CXE_V30 = 123
CPU_PPC_750CXE_V31 = 124
CPU_PPC_750CXE_V31B = 125
CPU_PPC_750CXR = 126
CPU_PPC_750FL = 127
CPU_PPC_750FX_V10 = 128
CPU_PPC_750FX_V20 = 129
CPU_PPC_750FX_V21 = 130
CPU_PPC_750FX_V22 = 131
CPU_PPC_750FX_V23 = 132
CPU_PPC_750GL = 133
CPU_PPC_750GX_V10 = 134
CPU_PPC_750GX_V11 = 135
CPU_PPC_750GX_V12 = 136
CPU_PPC_750L_V20 = 137
CPU_PPC_750L_V21 = 138
CPU_PPC_750L_V22 = 139
CPU_PPC_750L_V30 = 140
CPU_PPC_750L_V32 = 141
CPU_PPC_7X5_V10 = 142
CPU_PPC_7X5_V11 = 143
CPU_PPC_7X5_V20 = 144
CPU_PPC_7X5_V21 = 145
CPU_PPC_7X5_V22 = 146
CPU_PPC_7X5_V23 = 147
CPU_PPC_7X5_V24 = 148
CPU_PPC_7X5_V25 = 149
CPU_PPC_7X5_V26 = 150
CPU_PPC_7X5_V27 = 151
CPU_PPC_7X5_V28 = 152
CPU_PPC_7400_V10 = 153
CPU_PPC_7400_V11 = 154
CPU_PPC_7400_V20 = 155
CPU_PPC_7400_V21 = 156
CPU_PPC_7400_V22 = 157
CPU_PPC_7400_V26 = 158
CPU_PPC_7400_V27 = 159
CPU_PPC_7400_V28 = 160
CPU_PPC_7400_V29 = 161
CPU_PPC_7410_V10 = 162
CPU_PPC_7410_V11 = 163
CPU_PPC_7410_V12 = 164
CPU_PPC_7410_V13 = 165
CPU_PPC_7410_V14 = 166
CPU_PPC_7448_V10 = 167
CPU_PPC_7448_V11 = 168
CPU_PPC_7448_V20 = 169
CPU_PPC_7448_V21 = 170
CPU_PPC_7450_V10 = 171
CPU_PPC_7450_V11 = 172
CPU_PPC_7450_V12 = 173
CPU_PPC_7450_V20 = 174
CPU_PPC_7450_V21 = 175
CPU_PPC_74X1_V23 = 176
CPU_PPC_74X1_V210 = 177
CPU_PPC_74X5_V10 = 178
CPU_PPC_74X5_V21 = 179
CPU_PPC_74X5_V32 = 180
CPU_PPC_74X5_V33 = 181
CPU_PPC_74X5_V34 = 182
CPU_PPC_74X7_V10 = 183
CPU_PPC_74X7_V11 = 184
CPU_PPC_74X7_V12 = 185
CPU_PPC_74X7A_V10 = 186
CPU_PPC_74X7A_V11 = 187
CPU_PPC_74X7A_V12 = 188
CPU_PPC_IOP480 = 1
CPU_PPC_X2VP20 = 42
CPU_PPC_440GRA = 35
CPU_PPC_440EPX = 38
CPU_PPC_MPC5200_V10 = 59
CPU_PPC_MPC5200_V11 = 59
CPU_PPC_MPC5200_V12 = 59
CPU_PPC_MPC5200B_V20 = 59
CPU_PPC_MPC5200B_V21 = 59
CPU_PPC_MPC834X = 63
CPU_PPC_MPC837X = 66
CPU_PPC_E500 = 73
CPU_PPC_MPC8533_V10 = 72
CPU_PPC_MPC8533_V11 = 73
CPU_PPC_MPC8533E_V10 = 72
CPU_PPC_MPC8533E_V11 = 73
CPU_PPC_MPC8540_V10 = 67
CPU_PPC_MPC8540_V20 = 68
CPU_PPC_MPC8540_V21 = 68
CPU_PPC_MPC8541_V10 = 68
CPU_PPC_MPC8541_V11 = 68
CPU_PPC_MPC8541E_V10 = 68
CPU_PPC_MPC8541E_V11 = 68
CPU_PPC_MPC8543_V10 = 69
CPU_PPC_MPC8543_V11 = 70
CPU_PPC_MPC8543_V20 = 71
CPU_PPC_MPC8543_V21 = 72
CPU_PPC_MPC8543E_V10 = 69
CPU_PPC_MPC8543E_V11 = 70
CPU_PPC_MPC8543E_V20 = 71
CPU_PPC_MPC8543E_V21 = 72
CPU_PPC_MPC8544_V10 = 72
CPU_PPC_MPC8544_V11 = 73
CPU_PPC_MPC8544E_V11 = 73
CPU_PPC_MPC8544E_V10 = 72
CPU_PPC_MPC8545_V10 = 69
CPU_PPC_MPC8545_V20 = 71
CPU_PPC_MPC8545_V21 = 72
CPU_PPC_MPC8545E_V10 = 69
CPU_PPC_MPC8545E_V20 = 71
CPU_PPC_MPC8545E_V21 = 72
CPU_PPC_MPC8547E_V10 = 69
CPU_PPC_MPC8547E_V20 = 71
CPU_PPC_MPC8547E_V21 = 72
CPU_PPC_MPC8548_V10 = 69
CPU_PPC_MPC8548_V11 = 70
CPU_PPC_MPC8548_V20 = 71
CPU_PPC_MPC8548_V21 = 72
CPU_PPC_MPC8548E_V10 = 69
CPU_PPC_MPC8548E_V11 = 70
CPU_PPC_MPC8548E_V20 = 71
CPU_PPC_MPC8548E_V21 = 72
CPU_PPC_MPC8555_V10 = 69
CPU_PPC_MPC8555_V11 = 70
CPU_PPC_MPC8555E_V10 = 69
CPU_PPC_MPC8555E_V11 = 70
CPU_PPC_MPC8560_V10 = 69
CPU_PPC_MPC8560_V20 = 71
CPU_PPC_MPC8560_V21 = 72
CPU_PPC_MPC8567 = 73
CPU_PPC_MPC8567E = 73
CPU_PPC_MPC8568 = 73
CPU_PPC_MPC8568E = 73
CPU_PPC_MPC8572 = 74
CPU_PPC_MPC8572E = 74
CPU_PPC_MPC8610 = 78
CPU_PPC_MPC8641 = 78
CPU_PPC_MPC8641D = 78
CPU_PPC64_620 = 0
CPU_PPC64_630 = 1
CPU_PPC64_631 = 2
CPU_PPC64_POWER4 = 3
CPU_PPC64_POWER4P = 4
CPU_PPC64_POWER5 = 5
CPU_PPC64_POWER5P_V21 = 6
CPU_PPC64_POWER6 = 7
CPU_PPC64_POWER_SERVER_MASK = 8
CPU_PPC64_POWER7_BASE = 9
CPU_PPC64_POWER7_V23 = 10
CPU_PPC64_POWER7P_BASE = 11
CPU_PPC64_POWER7P_V21 = 12
CPU_PPC64_POWER8E_BASE = 13
CPU_PPC64_POWER8E_V21 = 14
CPU_PPC64_POWER8_BASE = 15
CPU_PPC64_POWER8_V20 = 16
CPU_PPC64_POWER8NVL_BASE = 17
CPU_PPC64_POWER8NVL_V10 = 18
CPU_PPC64_POWER9_BASE = 19
CPU_PPC64_POWER9_DD1 = 20
CPU_PPC64_POWER9_DD20 = 21
CPU_PPC64_POWER10_BASE = 22
CPU_PPC64_POWER10_DD1 = 23
CPU_PPC64_970_V22 = 24
CPU_PPC64_970FX_V10 = 25
CPU_PPC64_970FX_V20 = 26
CPU_PPC64_970FX_V21 = 27
CPU_PPC64_970FX_V30 = 28
CPU_PPC64_970FX_V31 = 29
CPU_PPC64_970MP_V10 = 30
CPU_PPC64_970MP_V11 = 31
CPU_PPC64_CELL_V10 = 32
CPU_PPC64_CELL_V20 = 33
CPU_PPC64_CELL_V30 = 34
CPU_PPC64_CELL_V31 = 35
CPU_PPC64_RS64 = 36
CPU_PPC64_RS64II = 37
CPU_PPC64_RS64III = 38
CPU_PPC64_RS64IV = 39
CPU_PPC64_CELL_V32 = 35
CPU_PPC64_CELL = 35
// PPC registers
PPC_REG_INVALID = 0

View File

@ -2,6 +2,16 @@ package unicorn
// For Unicorn Engine. AUTO-GENERATED FILE, DO NOT EDIT [riscv_const.go]
const (
CPU_RISCV32_ANY = 0
CPU_RISCV32_BASE32 = 1
CPU_RISCV32_SIFIVE_E31 = 2
CPU_RISCV32_SIFIVE_U34 = 3
CPU_RISCV64_ANY = 0
CPU_RISCV64_BASE64 = 1
CPU_RISCV64_SIFIVE_E51 = 2
CPU_RISCV64_SIFIVE_U54 = 3
// RISCV registers
RISCV_REG_INVALID = 0

View File

@ -2,6 +2,38 @@ package unicorn
// For Unicorn Engine. AUTO-GENERATED FILE, DO NOT EDIT [sparc_const.go]
const (
CPU_SPARC_FUJITSU_MB86904 = 0
CPU_SPARC_FUJITSU_MB86907 = 1
CPU_SPARC_TI_MICROSPARC_I = 2
CPU_SPARC_TI_MICROSPARC_II = 3
CPU_SPARC_TI_MICROSPARC_IIEP = 4
CPU_SPARC_TI_SUPERSPARC_40 = 5
CPU_SPARC_TI_SUPERSPARC_50 = 6
CPU_SPARC_TI_SUPERSPARC_51 = 7
CPU_SPARC_TI_SUPERSPARC_60 = 8
CPU_SPARC_TI_SUPERSPARC_61 = 9
CPU_SPARC_TI_SUPERSPARC_II = 10
CPU_SPARC_LEON2 = 11
CPU_SPARC_LEON3 = 12
CPU_SPARC64_FUJITSU = 0
CPU_SPARC64_FUJITSU_III = 1
CPU_SPARC64_FUJITSU_IV = 2
CPU_SPARC64_FUJITSU_V = 3
CPU_SPARC64_TI_ULTRASPARC_I = 4
CPU_SPARC64_TI_ULTRASPARC_II = 5
CPU_SPARC64_TI_ULTRASPARC_III = 6
CPU_SPARC64_TI_ULTRASPARC_IIE = 7
CPU_SPARC64_SUN_ULTRASPARC_III = 8
CPU_SPARC64_SUN_ULTRASPARC_III_CU = 9
CPU_SPARC64_SUN_ULTRASPARC_IIII = 10
CPU_SPARC64_SUN_ULTRASPARC_IV = 11
CPU_SPARC64_SUN_ULTRASPARC_IV_PLUS = 12
CPU_SPARC64_SUN_ULTRASPARC_IIII_PLUS = 13
CPU_SPARC64_SUN_ULTRASPARC_T1 = 14
CPU_SPARC64_SUN_ULTRASPARC_T2 = 15
CPU_SPARC64_NEC_ULTRASPARC_I = 16
// SPARC registers
SPARC_REG_INVALID = 0

View File

@ -107,6 +107,22 @@ const (
QUERY_ARCH = 3
QUERY_TIMEOUT = 4
CTL_IO_NONE = 0
CTL_IO_WRITE = 1
CTL_IO_READ = 2
CTL_IO_READ_WRITE = 3
CTL_UC_MODE = 0
CTL_UC_PAGE_SIZE = 1
CTL_UC_ARCH = 2
CTL_UC_TIMEOUT = 3
CTL_UC_EXITS_CNT = 4
CTL_UC_EXITS = 5
CTL_CPU_MODEL = 6
CTL_TB_EDGE = 7
CTL_TB_REQUEST_CACHE = 8
CTL_TB_REMOVE_CACHE = 9
PROT_NONE = 0
PROT_READ = 1
PROT_WRITE = 2

View File

@ -2,6 +2,45 @@ package unicorn
// For Unicorn Engine. AUTO-GENERATED FILE, DO NOT EDIT [x86_const.go]
const (
CPU_X86_QEMU64 = 0
CPU_X86_PHENOM = 1
CPU_X86_CORE2DUO = 2
CPU_X86_KVM64 = 3
CPU_X86_QEMU32 = 4
CPU_X86_KVM32 = 5
CPU_X86_COREDUO = 6
CPU_X86_486 = 7
CPU_X86_PENTIUM = 8
CPU_X86_PENTIUM2 = 9
CPU_X86_PENTIUM3 = 10
CPU_X86_ATHLON = 11
CPU_X86_N270 = 12
CPU_X86_CONROE = 13
CPU_X86_PENRYN = 14
CPU_X86_NEHALEM = 15
CPU_X86_WESTMERE = 16
CPU_X86_SANDYBRIDGE = 17
CPU_X86_IVYBRIDGE = 18
CPU_X86_HASWELL = 19
CPU_X86_BROADWELL = 20
CPU_X86_SKYLAKE_CLIENT = 21
CPU_X86_SKYLAKE_SERVER = 22
CPU_X86_CASCADELAKE_SERVER = 23
CPU_X86_COOPERLAKE = 24
CPU_X86_ICELAKE_CLIENT = 25
CPU_X86_ICELAKE_SERVER = 26
CPU_X86_DENVERTON = 27
CPU_X86_SNOWRIDGE = 28
CPU_X86_KNIGHTSMILL = 29
CPU_X86_OPTERON_G1 = 30
CPU_X86_OPTERON_G2 = 31
CPU_X86_OPTERON_G3 = 32
CPU_X86_OPTERON_G4 = 33
CPU_X86_OPTERON_G5 = 34
CPU_X86_EPYC = 35
CPU_X86_DHYANA = 36
CPU_X86_EPYC_ROME = 37
// X86 registers
X86_REG_INVALID = 0

View File

@ -4,6 +4,11 @@ package unicorn;
public interface Arm64Const {
public static final int UC_CPU_AARCH64_A57 = 0;
public static final int UC_CPU_AARCH64_A53 = 1;
public static final int UC_CPU_AARCH64_A72 = 2;
public static final int UC_CPU_AARCH64_MAX = 3;
// ARM64 registers
public static final int UC_ARM64_REG_INVALID = 0;

View File

@ -4,6 +4,40 @@ package unicorn;
public interface ArmConst {
public static final int UC_CPU_ARM_926 = 0;
public static final int UC_CPU_ARM_946 = 1;
public static final int UC_CPU_ARM_1026 = 2;
public static final int UC_CPU_ARM_1136_R2 = 3;
public static final int UC_CPU_ARM_1136 = 4;
public static final int UC_CPU_ARM_1176 = 5;
public static final int UC_CPU_ARM_11MPCORE = 6;
public static final int UC_CPU_ARM_CORTEX_M0 = 7;
public static final int UC_CPU_ARM_CORTEX_M3 = 8;
public static final int UC_CPU_ARM_CORTEX_M4 = 9;
public static final int UC_CPU_ARM_CORTEX_M7 = 10;
public static final int UC_CPU_ARM_CORTEX_M33 = 11;
public static final int UC_CPU_ARM_CORTEX_R5 = 12;
public static final int UC_CPU_ARM_CORTEX_R5F = 13;
public static final int UC_CPU_ARM_CORTEX_A8 = 14;
public static final int UC_CPU_ARM_CORTEX_A9 = 15;
public static final int UC_CPU_ARM_CORTEX_A7 = 16;
public static final int UC_CPU_ARM_CORTEX_A15 = 17;
public static final int UC_CPU_ARM_TI925T = 18;
public static final int UC_CPU_ARM_SA1100 = 19;
public static final int UC_CPU_ARM_SA1110 = 20;
public static final int UC_CPU_ARM_PXA250 = 21;
public static final int UC_CPU_ARM_PXA255 = 22;
public static final int UC_CPU_ARM_PXA260 = 23;
public static final int UC_CPU_ARM_PXA261 = 24;
public static final int UC_CPU_ARM_PXA262 = 25;
public static final int UC_CPU_ARM_PXA270A0 = 26;
public static final int UC_CPU_ARM_PXA270A1 = 27;
public static final int UC_CPU_ARM_PXA270B0 = 28;
public static final int UC_CPU_ARM_PXA270B1 = 29;
public static final int UC_CPU_ARM_PXA270C0 = 30;
public static final int UC_CPU_ARM_PXA270C5 = 31;
public static final int UC_CPU_ARM_MAX = 32;
// ARM registers
public static final int UC_ARM_REG_INVALID = 0;

View File

@ -4,6 +4,16 @@ package unicorn;
public interface M68kConst {
public static final int UC_CPU_M5206_CPU = 0;
public static final int UC_CPU_M68000_CPU = 1;
public static final int UC_CPU_M68020_CPU = 2;
public static final int UC_CPU_M68030_CPU = 3;
public static final int UC_CPU_M68040_CPU = 4;
public static final int UC_CPU_M68060_CPU = 5;
public static final int UC_CPU_M5208_CPU = 6;
public static final int UC_CPU_CFV4E_CPU = 7;
public static final int UC_CPU_ANY_CPU = 8;
// M68K registers
public static final int UC_M68K_REG_INVALID = 0;

View File

@ -4,6 +4,36 @@ package unicorn;
public interface MipsConst {
public static final int UC_CPU_MIPS_4KC = 0;
public static final int UC_CPU_MIPS_4KM = 1;
public static final int UC_CPU_MIPS_4KECR1 = 2;
public static final int UC_CPU_MIPS_4KEMR1 = 3;
public static final int UC_CPU_MIPS_4KEC = 4;
public static final int UC_CPU_MIPS_4KEM = 5;
public static final int UC_CPU_MIPS_24KC = 6;
public static final int UC_CPU_MIPS_24KEC = 7;
public static final int UC_CPU_MIPS_24KF = 8;
public static final int UC_CPU_MIPS_34KF = 9;
public static final int UC_CPU_MIPS_74KF = 10;
public static final int UC_CPU_MIPS_M14K = 11;
public static final int UC_CPU_MIPS_M14KC = 12;
public static final int UC_CPU_MIPS_P5600 = 13;
public static final int UC_CPU_MIPS_MIPS32R6_GENERIC = 14;
public static final int UC_CPU_MIPS_I7200 = 15;
public static final int UC_CPU_MIPS_R4000 = 16;
public static final int UC_CPU_MIPS_VR5432 = 17;
public static final int UC_CPU_MIPS_5KC = 18;
public static final int UC_CPU_MIPS_5KF = 19;
public static final int UC_CPU_MIPS_20KC = 20;
public static final int UC_CPU_MIPS_MIPS64R2_GENERIC = 21;
public static final int UC_CPU_MIPS_5KEC = 22;
public static final int UC_CPU_MIPS_5KEF = 23;
public static final int UC_CPU_MIPS_I6400 = 24;
public static final int UC_CPU_MIPS_I6500 = 25;
public static final int UC_CPU_MIPS_LOONGSON_2E = 26;
public static final int UC_CPU_MIPS_LOONGSON_2F = 27;
public static final int UC_CPU_MIPS_MIPS64DSPR2 = 28;
// MIPS registers
public static final int UC_MIPS_REG_INVALID = 0;

View File

@ -4,6 +4,307 @@ package unicorn;
public interface PpcConst {
public static final int UC_CPU_PPC_401A1 = 0;
public static final int UC_CPU_PPC_401B2 = 1;
public static final int UC_CPU_PPC_401C2 = 2;
public static final int UC_CPU_PPC_401D2 = 3;
public static final int UC_CPU_PPC_401E2 = 4;
public static final int UC_CPU_PPC_401F2 = 5;
public static final int UC_CPU_PPC_401G2 = 6;
public static final int UC_CPU_PPC_COBRA = 7;
public static final int UC_CPU_PPC_403GA = 8;
public static final int UC_CPU_PPC_403GB = 9;
public static final int UC_CPU_PPC_403GC = 10;
public static final int UC_CPU_PPC_403GCX = 11;
public static final int UC_CPU_PPC_405D2 = 12;
public static final int UC_CPU_PPC_405D4 = 13;
public static final int UC_CPU_PPC_405CRA = 14;
public static final int UC_CPU_PPC_405CRB = 15;
public static final int UC_CPU_PPC_405CRC = 16;
public static final int UC_CPU_PPC_405EP = 17;
public static final int UC_CPU_PPC_405EZ = 18;
public static final int UC_CPU_PPC_405GPA = 19;
public static final int UC_CPU_PPC_405GPB = 20;
public static final int UC_CPU_PPC_405GPC = 21;
public static final int UC_CPU_PPC_405GPD = 22;
public static final int UC_CPU_PPC_405GPR = 23;
public static final int UC_CPU_PPC_405LP = 24;
public static final int UC_CPU_PPC_NPE405H = 25;
public static final int UC_CPU_PPC_NPE405H2 = 26;
public static final int UC_CPU_PPC_NPE405L = 27;
public static final int UC_CPU_PPC_NPE4GS3 = 28;
public static final int UC_CPU_PPC_STB03 = 29;
public static final int UC_CPU_PPC_STB04 = 30;
public static final int UC_CPU_PPC_STB25 = 31;
public static final int UC_CPU_PPC_X2VP4 = 32;
public static final int UC_CPU_PPC_440_XILINX = 33;
public static final int UC_CPU_PPC_440EPA = 34;
public static final int UC_CPU_PPC_440EPB = 35;
public static final int UC_CPU_PPC_440GPB = 36;
public static final int UC_CPU_PPC_440GPC = 37;
public static final int UC_CPU_PPC_440GRX = 38;
public static final int UC_CPU_PPC_440GXA = 39;
public static final int UC_CPU_PPC_440GXB = 40;
public static final int UC_CPU_PPC_440GXC = 41;
public static final int UC_CPU_PPC_440GXF = 42;
public static final int UC_CPU_PPC_440SP = 43;
public static final int UC_CPU_PPC_440SP2 = 44;
public static final int UC_CPU_PPC_440SPE = 45;
public static final int UC_CPU_PPC_460EXB = 46;
public static final int UC_CPU_PPC_MPC5XX = 47;
public static final int UC_CPU_PPC_MPC8XX = 48;
public static final int UC_CPU_PPC_G2 = 49;
public static final int UC_CPU_PPC_G2H4 = 50;
public static final int UC_CPU_PPC_G2GP = 51;
public static final int UC_CPU_PPC_G2LS = 52;
public static final int UC_CPU_PPC_MPC603 = 53;
public static final int UC_CPU_PPC_G2_HIP3 = 54;
public static final int UC_CPU_PPC_G2_HIP4 = 55;
public static final int UC_CPU_PPC_G2LE = 56;
public static final int UC_CPU_PPC_G2LEGP = 57;
public static final int UC_CPU_PPC_G2LELS = 58;
public static final int UC_CPU_PPC_G2LEGP1 = 59;
public static final int UC_CPU_PPC_G2LEGP3 = 60;
public static final int UC_CPU_PPC_E200Z5 = 61;
public static final int UC_CPU_PPC_E200Z6 = 62;
public static final int UC_CPU_PPC_E300C1 = 63;
public static final int UC_CPU_PPC_E300C2 = 64;
public static final int UC_CPU_PPC_E300C3 = 65;
public static final int UC_CPU_PPC_E300C4 = 66;
public static final int UC_CPU_PPC_E500V1_V10 = 67;
public static final int UC_CPU_PPC_E500V1_V20 = 68;
public static final int UC_CPU_PPC_E500V2_V10 = 69;
public static final int UC_CPU_PPC_E500V2_V11 = 70;
public static final int UC_CPU_PPC_E500V2_V20 = 71;
public static final int UC_CPU_PPC_E500V2_V21 = 72;
public static final int UC_CPU_PPC_E500V2_V22 = 73;
public static final int UC_CPU_PPC_E500V2_V30 = 74;
public static final int UC_CPU_PPC_E500MC = 75;
public static final int UC_CPU_PPC_E5500 = 76;
public static final int UC_CPU_PPC_E6500 = 77;
public static final int UC_CPU_PPC_E600 = 78;
public static final int UC_CPU_PPC_601_V0 = 79;
public static final int UC_CPU_PPC_601_V1 = 80;
public static final int UC_CPU_PPC_601_V2 = 81;
public static final int UC_CPU_PPC_602 = 82;
public static final int UC_CPU_PPC_603 = 83;
public static final int UC_CPU_PPC_603E_V11 = 84;
public static final int UC_CPU_PPC_603E_V12 = 85;
public static final int UC_CPU_PPC_603E_V13 = 86;
public static final int UC_CPU_PPC_603E_V14 = 87;
public static final int UC_CPU_PPC_603E_V22 = 88;
public static final int UC_CPU_PPC_603E_V3 = 89;
public static final int UC_CPU_PPC_603E_V4 = 90;
public static final int UC_CPU_PPC_603E_V41 = 91;
public static final int UC_CPU_PPC_603E7T = 92;
public static final int UC_CPU_PPC_603E7V = 93;
public static final int UC_CPU_PPC_603E7V1 = 94;
public static final int UC_CPU_PPC_603E7V2 = 95;
public static final int UC_CPU_PPC_603E7 = 96;
public static final int UC_CPU_PPC_603P = 97;
public static final int UC_CPU_PPC_604 = 98;
public static final int UC_CPU_PPC_604E_V10 = 99;
public static final int UC_CPU_PPC_604E_V22 = 100;
public static final int UC_CPU_PPC_604E_V24 = 101;
public static final int UC_CPU_PPC_604R = 102;
public static final int UC_CPU_PPC_7X0_V10 = 103;
public static final int UC_CPU_PPC_7X0_V20 = 104;
public static final int UC_CPU_PPC_7X0_V21 = 105;
public static final int UC_CPU_PPC_7X0_V22 = 106;
public static final int UC_CPU_PPC_7X0_V30 = 107;
public static final int UC_CPU_PPC_7X0_V31 = 108;
public static final int UC_CPU_PPC_740E = 109;
public static final int UC_CPU_PPC_750E = 110;
public static final int UC_CPU_PPC_7X0P = 111;
public static final int UC_CPU_PPC_750CL_V10 = 112;
public static final int UC_CPU_PPC_750CL_V20 = 113;
public static final int UC_CPU_PPC_750CX_V10 = 114;
public static final int UC_CPU_PPC_750CX_V20 = 115;
public static final int UC_CPU_PPC_750CX_V21 = 116;
public static final int UC_CPU_PPC_750CX_V22 = 117;
public static final int UC_CPU_PPC_750CXE_V21 = 118;
public static final int UC_CPU_PPC_750CXE_V22 = 119;
public static final int UC_CPU_PPC_750CXE_V23 = 120;
public static final int UC_CPU_PPC_750CXE_V24 = 121;
public static final int UC_CPU_PPC_750CXE_V24B = 122;
public static final int UC_CPU_PPC_750CXE_V30 = 123;
public static final int UC_CPU_PPC_750CXE_V31 = 124;
public static final int UC_CPU_PPC_750CXE_V31B = 125;
public static final int UC_CPU_PPC_750CXR = 126;
public static final int UC_CPU_PPC_750FL = 127;
public static final int UC_CPU_PPC_750FX_V10 = 128;
public static final int UC_CPU_PPC_750FX_V20 = 129;
public static final int UC_CPU_PPC_750FX_V21 = 130;
public static final int UC_CPU_PPC_750FX_V22 = 131;
public static final int UC_CPU_PPC_750FX_V23 = 132;
public static final int UC_CPU_PPC_750GL = 133;
public static final int UC_CPU_PPC_750GX_V10 = 134;
public static final int UC_CPU_PPC_750GX_V11 = 135;
public static final int UC_CPU_PPC_750GX_V12 = 136;
public static final int UC_CPU_PPC_750L_V20 = 137;
public static final int UC_CPU_PPC_750L_V21 = 138;
public static final int UC_CPU_PPC_750L_V22 = 139;
public static final int UC_CPU_PPC_750L_V30 = 140;
public static final int UC_CPU_PPC_750L_V32 = 141;
public static final int UC_CPU_PPC_7X5_V10 = 142;
public static final int UC_CPU_PPC_7X5_V11 = 143;
public static final int UC_CPU_PPC_7X5_V20 = 144;
public static final int UC_CPU_PPC_7X5_V21 = 145;
public static final int UC_CPU_PPC_7X5_V22 = 146;
public static final int UC_CPU_PPC_7X5_V23 = 147;
public static final int UC_CPU_PPC_7X5_V24 = 148;
public static final int UC_CPU_PPC_7X5_V25 = 149;
public static final int UC_CPU_PPC_7X5_V26 = 150;
public static final int UC_CPU_PPC_7X5_V27 = 151;
public static final int UC_CPU_PPC_7X5_V28 = 152;
public static final int UC_CPU_PPC_7400_V10 = 153;
public static final int UC_CPU_PPC_7400_V11 = 154;
public static final int UC_CPU_PPC_7400_V20 = 155;
public static final int UC_CPU_PPC_7400_V21 = 156;
public static final int UC_CPU_PPC_7400_V22 = 157;
public static final int UC_CPU_PPC_7400_V26 = 158;
public static final int UC_CPU_PPC_7400_V27 = 159;
public static final int UC_CPU_PPC_7400_V28 = 160;
public static final int UC_CPU_PPC_7400_V29 = 161;
public static final int UC_CPU_PPC_7410_V10 = 162;
public static final int UC_CPU_PPC_7410_V11 = 163;
public static final int UC_CPU_PPC_7410_V12 = 164;
public static final int UC_CPU_PPC_7410_V13 = 165;
public static final int UC_CPU_PPC_7410_V14 = 166;
public static final int UC_CPU_PPC_7448_V10 = 167;
public static final int UC_CPU_PPC_7448_V11 = 168;
public static final int UC_CPU_PPC_7448_V20 = 169;
public static final int UC_CPU_PPC_7448_V21 = 170;
public static final int UC_CPU_PPC_7450_V10 = 171;
public static final int UC_CPU_PPC_7450_V11 = 172;
public static final int UC_CPU_PPC_7450_V12 = 173;
public static final int UC_CPU_PPC_7450_V20 = 174;
public static final int UC_CPU_PPC_7450_V21 = 175;
public static final int UC_CPU_PPC_74X1_V23 = 176;
public static final int UC_CPU_PPC_74X1_V210 = 177;
public static final int UC_CPU_PPC_74X5_V10 = 178;
public static final int UC_CPU_PPC_74X5_V21 = 179;
public static final int UC_CPU_PPC_74X5_V32 = 180;
public static final int UC_CPU_PPC_74X5_V33 = 181;
public static final int UC_CPU_PPC_74X5_V34 = 182;
public static final int UC_CPU_PPC_74X7_V10 = 183;
public static final int UC_CPU_PPC_74X7_V11 = 184;
public static final int UC_CPU_PPC_74X7_V12 = 185;
public static final int UC_CPU_PPC_74X7A_V10 = 186;
public static final int UC_CPU_PPC_74X7A_V11 = 187;
public static final int UC_CPU_PPC_74X7A_V12 = 188;
public static final int UC_CPU_PPC_IOP480 = 1;
public static final int UC_CPU_PPC_X2VP20 = 42;
public static final int UC_CPU_PPC_440GRA = 35;
public static final int UC_CPU_PPC_440EPX = 38;
public static final int UC_CPU_PPC_MPC5200_V10 = 59;
public static final int UC_CPU_PPC_MPC5200_V11 = 59;
public static final int UC_CPU_PPC_MPC5200_V12 = 59;
public static final int UC_CPU_PPC_MPC5200B_V20 = 59;
public static final int UC_CPU_PPC_MPC5200B_V21 = 59;
public static final int UC_CPU_PPC_MPC834X = 63;
public static final int UC_CPU_PPC_MPC837X = 66;
public static final int UC_CPU_PPC_E500 = 73;
public static final int UC_CPU_PPC_MPC8533_V10 = 72;
public static final int UC_CPU_PPC_MPC8533_V11 = 73;
public static final int UC_CPU_PPC_MPC8533E_V10 = 72;
public static final int UC_CPU_PPC_MPC8533E_V11 = 73;
public static final int UC_CPU_PPC_MPC8540_V10 = 67;
public static final int UC_CPU_PPC_MPC8540_V20 = 68;
public static final int UC_CPU_PPC_MPC8540_V21 = 68;
public static final int UC_CPU_PPC_MPC8541_V10 = 68;
public static final int UC_CPU_PPC_MPC8541_V11 = 68;
public static final int UC_CPU_PPC_MPC8541E_V10 = 68;
public static final int UC_CPU_PPC_MPC8541E_V11 = 68;
public static final int UC_CPU_PPC_MPC8543_V10 = 69;
public static final int UC_CPU_PPC_MPC8543_V11 = 70;
public static final int UC_CPU_PPC_MPC8543_V20 = 71;
public static final int UC_CPU_PPC_MPC8543_V21 = 72;
public static final int UC_CPU_PPC_MPC8543E_V10 = 69;
public static final int UC_CPU_PPC_MPC8543E_V11 = 70;
public static final int UC_CPU_PPC_MPC8543E_V20 = 71;
public static final int UC_CPU_PPC_MPC8543E_V21 = 72;
public static final int UC_CPU_PPC_MPC8544_V10 = 72;
public static final int UC_CPU_PPC_MPC8544_V11 = 73;
public static final int UC_CPU_PPC_MPC8544E_V11 = 73;
public static final int UC_CPU_PPC_MPC8544E_V10 = 72;
public static final int UC_CPU_PPC_MPC8545_V10 = 69;
public static final int UC_CPU_PPC_MPC8545_V20 = 71;
public static final int UC_CPU_PPC_MPC8545_V21 = 72;
public static final int UC_CPU_PPC_MPC8545E_V10 = 69;
public static final int UC_CPU_PPC_MPC8545E_V20 = 71;
public static final int UC_CPU_PPC_MPC8545E_V21 = 72;
public static final int UC_CPU_PPC_MPC8547E_V10 = 69;
public static final int UC_CPU_PPC_MPC8547E_V20 = 71;
public static final int UC_CPU_PPC_MPC8547E_V21 = 72;
public static final int UC_CPU_PPC_MPC8548_V10 = 69;
public static final int UC_CPU_PPC_MPC8548_V11 = 70;
public static final int UC_CPU_PPC_MPC8548_V20 = 71;
public static final int UC_CPU_PPC_MPC8548_V21 = 72;
public static final int UC_CPU_PPC_MPC8548E_V10 = 69;
public static final int UC_CPU_PPC_MPC8548E_V11 = 70;
public static final int UC_CPU_PPC_MPC8548E_V20 = 71;
public static final int UC_CPU_PPC_MPC8548E_V21 = 72;
public static final int UC_CPU_PPC_MPC8555_V10 = 69;
public static final int UC_CPU_PPC_MPC8555_V11 = 70;
public static final int UC_CPU_PPC_MPC8555E_V10 = 69;
public static final int UC_CPU_PPC_MPC8555E_V11 = 70;
public static final int UC_CPU_PPC_MPC8560_V10 = 69;
public static final int UC_CPU_PPC_MPC8560_V20 = 71;
public static final int UC_CPU_PPC_MPC8560_V21 = 72;
public static final int UC_CPU_PPC_MPC8567 = 73;
public static final int UC_CPU_PPC_MPC8567E = 73;
public static final int UC_CPU_PPC_MPC8568 = 73;
public static final int UC_CPU_PPC_MPC8568E = 73;
public static final int UC_CPU_PPC_MPC8572 = 74;
public static final int UC_CPU_PPC_MPC8572E = 74;
public static final int UC_CPU_PPC_MPC8610 = 78;
public static final int UC_CPU_PPC_MPC8641 = 78;
public static final int UC_CPU_PPC_MPC8641D = 78;
public static final int UC_CPU_PPC64_620 = 0;
public static final int UC_CPU_PPC64_630 = 1;
public static final int UC_CPU_PPC64_631 = 2;
public static final int UC_CPU_PPC64_POWER4 = 3;
public static final int UC_CPU_PPC64_POWER4P = 4;
public static final int UC_CPU_PPC64_POWER5 = 5;
public static final int UC_CPU_PPC64_POWER5P_V21 = 6;
public static final int UC_CPU_PPC64_POWER6 = 7;
public static final int UC_CPU_PPC64_POWER_SERVER_MASK = 8;
public static final int UC_CPU_PPC64_POWER7_BASE = 9;
public static final int UC_CPU_PPC64_POWER7_V23 = 10;
public static final int UC_CPU_PPC64_POWER7P_BASE = 11;
public static final int UC_CPU_PPC64_POWER7P_V21 = 12;
public static final int UC_CPU_PPC64_POWER8E_BASE = 13;
public static final int UC_CPU_PPC64_POWER8E_V21 = 14;
public static final int UC_CPU_PPC64_POWER8_BASE = 15;
public static final int UC_CPU_PPC64_POWER8_V20 = 16;
public static final int UC_CPU_PPC64_POWER8NVL_BASE = 17;
public static final int UC_CPU_PPC64_POWER8NVL_V10 = 18;
public static final int UC_CPU_PPC64_POWER9_BASE = 19;
public static final int UC_CPU_PPC64_POWER9_DD1 = 20;
public static final int UC_CPU_PPC64_POWER9_DD20 = 21;
public static final int UC_CPU_PPC64_POWER10_BASE = 22;
public static final int UC_CPU_PPC64_POWER10_DD1 = 23;
public static final int UC_CPU_PPC64_970_V22 = 24;
public static final int UC_CPU_PPC64_970FX_V10 = 25;
public static final int UC_CPU_PPC64_970FX_V20 = 26;
public static final int UC_CPU_PPC64_970FX_V21 = 27;
public static final int UC_CPU_PPC64_970FX_V30 = 28;
public static final int UC_CPU_PPC64_970FX_V31 = 29;
public static final int UC_CPU_PPC64_970MP_V10 = 30;
public static final int UC_CPU_PPC64_970MP_V11 = 31;
public static final int UC_CPU_PPC64_CELL_V10 = 32;
public static final int UC_CPU_PPC64_CELL_V20 = 33;
public static final int UC_CPU_PPC64_CELL_V30 = 34;
public static final int UC_CPU_PPC64_CELL_V31 = 35;
public static final int UC_CPU_PPC64_RS64 = 36;
public static final int UC_CPU_PPC64_RS64II = 37;
public static final int UC_CPU_PPC64_RS64III = 38;
public static final int UC_CPU_PPC64_RS64IV = 39;
public static final int UC_CPU_PPC64_CELL_V32 = 35;
public static final int UC_CPU_PPC64_CELL = 35;
// PPC registers
public static final int UC_PPC_REG_INVALID = 0;

View File

@ -4,6 +4,16 @@ package unicorn;
public interface RiscvConst {
public static final int UC_CPU_RISCV32_ANY = 0;
public static final int UC_CPU_RISCV32_BASE32 = 1;
public static final int UC_CPU_RISCV32_SIFIVE_E31 = 2;
public static final int UC_CPU_RISCV32_SIFIVE_U34 = 3;
public static final int UC_CPU_RISCV64_ANY = 0;
public static final int UC_CPU_RISCV64_BASE64 = 1;
public static final int UC_CPU_RISCV64_SIFIVE_E51 = 2;
public static final int UC_CPU_RISCV64_SIFIVE_U54 = 3;
// RISCV registers
public static final int UC_RISCV_REG_INVALID = 0;

View File

@ -4,6 +4,38 @@ package unicorn;
public interface SparcConst {
public static final int UC_CPU_SPARC_FUJITSU_MB86904 = 0;
public static final int UC_CPU_SPARC_FUJITSU_MB86907 = 1;
public static final int UC_CPU_SPARC_TI_MICROSPARC_I = 2;
public static final int UC_CPU_SPARC_TI_MICROSPARC_II = 3;
public static final int UC_CPU_SPARC_TI_MICROSPARC_IIEP = 4;
public static final int UC_CPU_SPARC_TI_SUPERSPARC_40 = 5;
public static final int UC_CPU_SPARC_TI_SUPERSPARC_50 = 6;
public static final int UC_CPU_SPARC_TI_SUPERSPARC_51 = 7;
public static final int UC_CPU_SPARC_TI_SUPERSPARC_60 = 8;
public static final int UC_CPU_SPARC_TI_SUPERSPARC_61 = 9;
public static final int UC_CPU_SPARC_TI_SUPERSPARC_II = 10;
public static final int UC_CPU_SPARC_LEON2 = 11;
public static final int UC_CPU_SPARC_LEON3 = 12;
public static final int UC_CPU_SPARC64_FUJITSU = 0;
public static final int UC_CPU_SPARC64_FUJITSU_III = 1;
public static final int UC_CPU_SPARC64_FUJITSU_IV = 2;
public static final int UC_CPU_SPARC64_FUJITSU_V = 3;
public static final int UC_CPU_SPARC64_TI_ULTRASPARC_I = 4;
public static final int UC_CPU_SPARC64_TI_ULTRASPARC_II = 5;
public static final int UC_CPU_SPARC64_TI_ULTRASPARC_III = 6;
public static final int UC_CPU_SPARC64_TI_ULTRASPARC_IIE = 7;
public static final int UC_CPU_SPARC64_SUN_ULTRASPARC_III = 8;
public static final int UC_CPU_SPARC64_SUN_ULTRASPARC_III_CU = 9;
public static final int UC_CPU_SPARC64_SUN_ULTRASPARC_IIII = 10;
public static final int UC_CPU_SPARC64_SUN_ULTRASPARC_IV = 11;
public static final int UC_CPU_SPARC64_SUN_ULTRASPARC_IV_PLUS = 12;
public static final int UC_CPU_SPARC64_SUN_ULTRASPARC_IIII_PLUS = 13;
public static final int UC_CPU_SPARC64_SUN_ULTRASPARC_T1 = 14;
public static final int UC_CPU_SPARC64_SUN_ULTRASPARC_T2 = 15;
public static final int UC_CPU_SPARC64_NEC_ULTRASPARC_I = 16;
// SPARC registers
public static final int UC_SPARC_REG_INVALID = 0;

View File

@ -109,6 +109,22 @@ public interface UnicornConst {
public static final int UC_QUERY_ARCH = 3;
public static final int UC_QUERY_TIMEOUT = 4;
public static final int UC_CTL_IO_NONE = 0;
public static final int UC_CTL_IO_WRITE = 1;
public static final int UC_CTL_IO_READ = 2;
public static final int UC_CTL_IO_READ_WRITE = 3;
public static final int UC_CTL_UC_MODE = 0;
public static final int UC_CTL_UC_PAGE_SIZE = 1;
public static final int UC_CTL_UC_ARCH = 2;
public static final int UC_CTL_UC_TIMEOUT = 3;
public static final int UC_CTL_UC_EXITS_CNT = 4;
public static final int UC_CTL_UC_EXITS = 5;
public static final int UC_CTL_CPU_MODEL = 6;
public static final int UC_CTL_TB_EDGE = 7;
public static final int UC_CTL_TB_REQUEST_CACHE = 8;
public static final int UC_CTL_TB_REMOVE_CACHE = 9;
public static final int UC_PROT_NONE = 0;
public static final int UC_PROT_READ = 1;
public static final int UC_PROT_WRITE = 2;

View File

@ -4,6 +4,45 @@ package unicorn;
public interface X86Const {
public static final int UC_CPU_X86_QEMU64 = 0;
public static final int UC_CPU_X86_PHENOM = 1;
public static final int UC_CPU_X86_CORE2DUO = 2;
public static final int UC_CPU_X86_KVM64 = 3;
public static final int UC_CPU_X86_QEMU32 = 4;
public static final int UC_CPU_X86_KVM32 = 5;
public static final int UC_CPU_X86_COREDUO = 6;
public static final int UC_CPU_X86_486 = 7;
public static final int UC_CPU_X86_PENTIUM = 8;
public static final int UC_CPU_X86_PENTIUM2 = 9;
public static final int UC_CPU_X86_PENTIUM3 = 10;
public static final int UC_CPU_X86_ATHLON = 11;
public static final int UC_CPU_X86_N270 = 12;
public static final int UC_CPU_X86_CONROE = 13;
public static final int UC_CPU_X86_PENRYN = 14;
public static final int UC_CPU_X86_NEHALEM = 15;
public static final int UC_CPU_X86_WESTMERE = 16;
public static final int UC_CPU_X86_SANDYBRIDGE = 17;
public static final int UC_CPU_X86_IVYBRIDGE = 18;
public static final int UC_CPU_X86_HASWELL = 19;
public static final int UC_CPU_X86_BROADWELL = 20;
public static final int UC_CPU_X86_SKYLAKE_CLIENT = 21;
public static final int UC_CPU_X86_SKYLAKE_SERVER = 22;
public static final int UC_CPU_X86_CASCADELAKE_SERVER = 23;
public static final int UC_CPU_X86_COOPERLAKE = 24;
public static final int UC_CPU_X86_ICELAKE_CLIENT = 25;
public static final int UC_CPU_X86_ICELAKE_SERVER = 26;
public static final int UC_CPU_X86_DENVERTON = 27;
public static final int UC_CPU_X86_SNOWRIDGE = 28;
public static final int UC_CPU_X86_KNIGHTSMILL = 29;
public static final int UC_CPU_X86_OPTERON_G1 = 30;
public static final int UC_CPU_X86_OPTERON_G2 = 31;
public static final int UC_CPU_X86_OPTERON_G3 = 32;
public static final int UC_CPU_X86_OPTERON_G4 = 33;
public static final int UC_CPU_X86_OPTERON_G5 = 34;
public static final int UC_CPU_X86_EPYC = 35;
public static final int UC_CPU_X86_DHYANA = 36;
public static final int UC_CPU_X86_EPYC_ROME = 37;
// X86 registers
public static final int UC_X86_REG_INVALID = 0;

View File

@ -5,6 +5,11 @@ unit Arm64Const;
interface
const
UC_CPU_AARCH64_A57 = 0;
UC_CPU_AARCH64_A53 = 1;
UC_CPU_AARCH64_A72 = 2;
UC_CPU_AARCH64_MAX = 3;
// ARM64 registers
UC_ARM64_REG_INVALID = 0;

View File

@ -5,6 +5,40 @@ unit ArmConst;
interface
const
UC_CPU_ARM_926 = 0;
UC_CPU_ARM_946 = 1;
UC_CPU_ARM_1026 = 2;
UC_CPU_ARM_1136_R2 = 3;
UC_CPU_ARM_1136 = 4;
UC_CPU_ARM_1176 = 5;
UC_CPU_ARM_11MPCORE = 6;
UC_CPU_ARM_CORTEX_M0 = 7;
UC_CPU_ARM_CORTEX_M3 = 8;
UC_CPU_ARM_CORTEX_M4 = 9;
UC_CPU_ARM_CORTEX_M7 = 10;
UC_CPU_ARM_CORTEX_M33 = 11;
UC_CPU_ARM_CORTEX_R5 = 12;
UC_CPU_ARM_CORTEX_R5F = 13;
UC_CPU_ARM_CORTEX_A8 = 14;
UC_CPU_ARM_CORTEX_A9 = 15;
UC_CPU_ARM_CORTEX_A7 = 16;
UC_CPU_ARM_CORTEX_A15 = 17;
UC_CPU_ARM_TI925T = 18;
UC_CPU_ARM_SA1100 = 19;
UC_CPU_ARM_SA1110 = 20;
UC_CPU_ARM_PXA250 = 21;
UC_CPU_ARM_PXA255 = 22;
UC_CPU_ARM_PXA260 = 23;
UC_CPU_ARM_PXA261 = 24;
UC_CPU_ARM_PXA262 = 25;
UC_CPU_ARM_PXA270A0 = 26;
UC_CPU_ARM_PXA270A1 = 27;
UC_CPU_ARM_PXA270B0 = 28;
UC_CPU_ARM_PXA270B1 = 29;
UC_CPU_ARM_PXA270C0 = 30;
UC_CPU_ARM_PXA270C5 = 31;
UC_CPU_ARM_MAX = 32;
// ARM registers
UC_ARM_REG_INVALID = 0;

View File

@ -5,6 +5,16 @@ unit M68kConst;
interface
const
UC_CPU_M5206_CPU = 0;
UC_CPU_M68000_CPU = 1;
UC_CPU_M68020_CPU = 2;
UC_CPU_M68030_CPU = 3;
UC_CPU_M68040_CPU = 4;
UC_CPU_M68060_CPU = 5;
UC_CPU_M5208_CPU = 6;
UC_CPU_CFV4E_CPU = 7;
UC_CPU_ANY_CPU = 8;
// M68K registers
UC_M68K_REG_INVALID = 0;

View File

@ -5,6 +5,36 @@ unit MipsConst;
interface
const
UC_CPU_MIPS_4KC = 0;
UC_CPU_MIPS_4KM = 1;
UC_CPU_MIPS_4KECR1 = 2;
UC_CPU_MIPS_4KEMR1 = 3;
UC_CPU_MIPS_4KEC = 4;
UC_CPU_MIPS_4KEM = 5;
UC_CPU_MIPS_24KC = 6;
UC_CPU_MIPS_24KEC = 7;
UC_CPU_MIPS_24KF = 8;
UC_CPU_MIPS_34KF = 9;
UC_CPU_MIPS_74KF = 10;
UC_CPU_MIPS_M14K = 11;
UC_CPU_MIPS_M14KC = 12;
UC_CPU_MIPS_P5600 = 13;
UC_CPU_MIPS_MIPS32R6_GENERIC = 14;
UC_CPU_MIPS_I7200 = 15;
UC_CPU_MIPS_R4000 = 16;
UC_CPU_MIPS_VR5432 = 17;
UC_CPU_MIPS_5KC = 18;
UC_CPU_MIPS_5KF = 19;
UC_CPU_MIPS_20KC = 20;
UC_CPU_MIPS_MIPS64R2_GENERIC = 21;
UC_CPU_MIPS_5KEC = 22;
UC_CPU_MIPS_5KEF = 23;
UC_CPU_MIPS_I6400 = 24;
UC_CPU_MIPS_I6500 = 25;
UC_CPU_MIPS_LOONGSON_2E = 26;
UC_CPU_MIPS_LOONGSON_2F = 27;
UC_CPU_MIPS_MIPS64DSPR2 = 28;
// MIPS registers
UC_MIPS_REG_INVALID = 0;

View File

@ -5,6 +5,307 @@ unit PpcConst;
interface
const
UC_CPU_PPC_401A1 = 0;
UC_CPU_PPC_401B2 = 1;
UC_CPU_PPC_401C2 = 2;
UC_CPU_PPC_401D2 = 3;
UC_CPU_PPC_401E2 = 4;
UC_CPU_PPC_401F2 = 5;
UC_CPU_PPC_401G2 = 6;
UC_CPU_PPC_COBRA = 7;
UC_CPU_PPC_403GA = 8;
UC_CPU_PPC_403GB = 9;
UC_CPU_PPC_403GC = 10;
UC_CPU_PPC_403GCX = 11;
UC_CPU_PPC_405D2 = 12;
UC_CPU_PPC_405D4 = 13;
UC_CPU_PPC_405CRA = 14;
UC_CPU_PPC_405CRB = 15;
UC_CPU_PPC_405CRC = 16;
UC_CPU_PPC_405EP = 17;
UC_CPU_PPC_405EZ = 18;
UC_CPU_PPC_405GPA = 19;
UC_CPU_PPC_405GPB = 20;
UC_CPU_PPC_405GPC = 21;
UC_CPU_PPC_405GPD = 22;
UC_CPU_PPC_405GPR = 23;
UC_CPU_PPC_405LP = 24;
UC_CPU_PPC_NPE405H = 25;
UC_CPU_PPC_NPE405H2 = 26;
UC_CPU_PPC_NPE405L = 27;
UC_CPU_PPC_NPE4GS3 = 28;
UC_CPU_PPC_STB03 = 29;
UC_CPU_PPC_STB04 = 30;
UC_CPU_PPC_STB25 = 31;
UC_CPU_PPC_X2VP4 = 32;
UC_CPU_PPC_440_XILINX = 33;
UC_CPU_PPC_440EPA = 34;
UC_CPU_PPC_440EPB = 35;
UC_CPU_PPC_440GPB = 36;
UC_CPU_PPC_440GPC = 37;
UC_CPU_PPC_440GRX = 38;
UC_CPU_PPC_440GXA = 39;
UC_CPU_PPC_440GXB = 40;
UC_CPU_PPC_440GXC = 41;
UC_CPU_PPC_440GXF = 42;
UC_CPU_PPC_440SP = 43;
UC_CPU_PPC_440SP2 = 44;
UC_CPU_PPC_440SPE = 45;
UC_CPU_PPC_460EXB = 46;
UC_CPU_PPC_MPC5XX = 47;
UC_CPU_PPC_MPC8XX = 48;
UC_CPU_PPC_G2 = 49;
UC_CPU_PPC_G2H4 = 50;
UC_CPU_PPC_G2GP = 51;
UC_CPU_PPC_G2LS = 52;
UC_CPU_PPC_MPC603 = 53;
UC_CPU_PPC_G2_HIP3 = 54;
UC_CPU_PPC_G2_HIP4 = 55;
UC_CPU_PPC_G2LE = 56;
UC_CPU_PPC_G2LEGP = 57;
UC_CPU_PPC_G2LELS = 58;
UC_CPU_PPC_G2LEGP1 = 59;
UC_CPU_PPC_G2LEGP3 = 60;
UC_CPU_PPC_E200Z5 = 61;
UC_CPU_PPC_E200Z6 = 62;
UC_CPU_PPC_E300C1 = 63;
UC_CPU_PPC_E300C2 = 64;
UC_CPU_PPC_E300C3 = 65;
UC_CPU_PPC_E300C4 = 66;
UC_CPU_PPC_E500V1_V10 = 67;
UC_CPU_PPC_E500V1_V20 = 68;
UC_CPU_PPC_E500V2_V10 = 69;
UC_CPU_PPC_E500V2_V11 = 70;
UC_CPU_PPC_E500V2_V20 = 71;
UC_CPU_PPC_E500V2_V21 = 72;
UC_CPU_PPC_E500V2_V22 = 73;
UC_CPU_PPC_E500V2_V30 = 74;
UC_CPU_PPC_E500MC = 75;
UC_CPU_PPC_E5500 = 76;
UC_CPU_PPC_E6500 = 77;
UC_CPU_PPC_E600 = 78;
UC_CPU_PPC_601_V0 = 79;
UC_CPU_PPC_601_V1 = 80;
UC_CPU_PPC_601_V2 = 81;
UC_CPU_PPC_602 = 82;
UC_CPU_PPC_603 = 83;
UC_CPU_PPC_603E_V11 = 84;
UC_CPU_PPC_603E_V12 = 85;
UC_CPU_PPC_603E_V13 = 86;
UC_CPU_PPC_603E_V14 = 87;
UC_CPU_PPC_603E_V22 = 88;
UC_CPU_PPC_603E_V3 = 89;
UC_CPU_PPC_603E_V4 = 90;
UC_CPU_PPC_603E_V41 = 91;
UC_CPU_PPC_603E7T = 92;
UC_CPU_PPC_603E7V = 93;
UC_CPU_PPC_603E7V1 = 94;
UC_CPU_PPC_603E7V2 = 95;
UC_CPU_PPC_603E7 = 96;
UC_CPU_PPC_603P = 97;
UC_CPU_PPC_604 = 98;
UC_CPU_PPC_604E_V10 = 99;
UC_CPU_PPC_604E_V22 = 100;
UC_CPU_PPC_604E_V24 = 101;
UC_CPU_PPC_604R = 102;
UC_CPU_PPC_7X0_V10 = 103;
UC_CPU_PPC_7X0_V20 = 104;
UC_CPU_PPC_7X0_V21 = 105;
UC_CPU_PPC_7X0_V22 = 106;
UC_CPU_PPC_7X0_V30 = 107;
UC_CPU_PPC_7X0_V31 = 108;
UC_CPU_PPC_740E = 109;
UC_CPU_PPC_750E = 110;
UC_CPU_PPC_7X0P = 111;
UC_CPU_PPC_750CL_V10 = 112;
UC_CPU_PPC_750CL_V20 = 113;
UC_CPU_PPC_750CX_V10 = 114;
UC_CPU_PPC_750CX_V20 = 115;
UC_CPU_PPC_750CX_V21 = 116;
UC_CPU_PPC_750CX_V22 = 117;
UC_CPU_PPC_750CXE_V21 = 118;
UC_CPU_PPC_750CXE_V22 = 119;
UC_CPU_PPC_750CXE_V23 = 120;
UC_CPU_PPC_750CXE_V24 = 121;
UC_CPU_PPC_750CXE_V24B = 122;
UC_CPU_PPC_750CXE_V30 = 123;
UC_CPU_PPC_750CXE_V31 = 124;
UC_CPU_PPC_750CXE_V31B = 125;
UC_CPU_PPC_750CXR = 126;
UC_CPU_PPC_750FL = 127;
UC_CPU_PPC_750FX_V10 = 128;
UC_CPU_PPC_750FX_V20 = 129;
UC_CPU_PPC_750FX_V21 = 130;
UC_CPU_PPC_750FX_V22 = 131;
UC_CPU_PPC_750FX_V23 = 132;
UC_CPU_PPC_750GL = 133;
UC_CPU_PPC_750GX_V10 = 134;
UC_CPU_PPC_750GX_V11 = 135;
UC_CPU_PPC_750GX_V12 = 136;
UC_CPU_PPC_750L_V20 = 137;
UC_CPU_PPC_750L_V21 = 138;
UC_CPU_PPC_750L_V22 = 139;
UC_CPU_PPC_750L_V30 = 140;
UC_CPU_PPC_750L_V32 = 141;
UC_CPU_PPC_7X5_V10 = 142;
UC_CPU_PPC_7X5_V11 = 143;
UC_CPU_PPC_7X5_V20 = 144;
UC_CPU_PPC_7X5_V21 = 145;
UC_CPU_PPC_7X5_V22 = 146;
UC_CPU_PPC_7X5_V23 = 147;
UC_CPU_PPC_7X5_V24 = 148;
UC_CPU_PPC_7X5_V25 = 149;
UC_CPU_PPC_7X5_V26 = 150;
UC_CPU_PPC_7X5_V27 = 151;
UC_CPU_PPC_7X5_V28 = 152;
UC_CPU_PPC_7400_V10 = 153;
UC_CPU_PPC_7400_V11 = 154;
UC_CPU_PPC_7400_V20 = 155;
UC_CPU_PPC_7400_V21 = 156;
UC_CPU_PPC_7400_V22 = 157;
UC_CPU_PPC_7400_V26 = 158;
UC_CPU_PPC_7400_V27 = 159;
UC_CPU_PPC_7400_V28 = 160;
UC_CPU_PPC_7400_V29 = 161;
UC_CPU_PPC_7410_V10 = 162;
UC_CPU_PPC_7410_V11 = 163;
UC_CPU_PPC_7410_V12 = 164;
UC_CPU_PPC_7410_V13 = 165;
UC_CPU_PPC_7410_V14 = 166;
UC_CPU_PPC_7448_V10 = 167;
UC_CPU_PPC_7448_V11 = 168;
UC_CPU_PPC_7448_V20 = 169;
UC_CPU_PPC_7448_V21 = 170;
UC_CPU_PPC_7450_V10 = 171;
UC_CPU_PPC_7450_V11 = 172;
UC_CPU_PPC_7450_V12 = 173;
UC_CPU_PPC_7450_V20 = 174;
UC_CPU_PPC_7450_V21 = 175;
UC_CPU_PPC_74X1_V23 = 176;
UC_CPU_PPC_74X1_V210 = 177;
UC_CPU_PPC_74X5_V10 = 178;
UC_CPU_PPC_74X5_V21 = 179;
UC_CPU_PPC_74X5_V32 = 180;
UC_CPU_PPC_74X5_V33 = 181;
UC_CPU_PPC_74X5_V34 = 182;
UC_CPU_PPC_74X7_V10 = 183;
UC_CPU_PPC_74X7_V11 = 184;
UC_CPU_PPC_74X7_V12 = 185;
UC_CPU_PPC_74X7A_V10 = 186;
UC_CPU_PPC_74X7A_V11 = 187;
UC_CPU_PPC_74X7A_V12 = 188;
UC_CPU_PPC_IOP480 = 1;
UC_CPU_PPC_X2VP20 = 42;
UC_CPU_PPC_440GRA = 35;
UC_CPU_PPC_440EPX = 38;
UC_CPU_PPC_MPC5200_V10 = 59;
UC_CPU_PPC_MPC5200_V11 = 59;
UC_CPU_PPC_MPC5200_V12 = 59;
UC_CPU_PPC_MPC5200B_V20 = 59;
UC_CPU_PPC_MPC5200B_V21 = 59;
UC_CPU_PPC_MPC834X = 63;
UC_CPU_PPC_MPC837X = 66;
UC_CPU_PPC_E500 = 73;
UC_CPU_PPC_MPC8533_V10 = 72;
UC_CPU_PPC_MPC8533_V11 = 73;
UC_CPU_PPC_MPC8533E_V10 = 72;
UC_CPU_PPC_MPC8533E_V11 = 73;
UC_CPU_PPC_MPC8540_V10 = 67;
UC_CPU_PPC_MPC8540_V20 = 68;
UC_CPU_PPC_MPC8540_V21 = 68;
UC_CPU_PPC_MPC8541_V10 = 68;
UC_CPU_PPC_MPC8541_V11 = 68;
UC_CPU_PPC_MPC8541E_V10 = 68;
UC_CPU_PPC_MPC8541E_V11 = 68;
UC_CPU_PPC_MPC8543_V10 = 69;
UC_CPU_PPC_MPC8543_V11 = 70;
UC_CPU_PPC_MPC8543_V20 = 71;
UC_CPU_PPC_MPC8543_V21 = 72;
UC_CPU_PPC_MPC8543E_V10 = 69;
UC_CPU_PPC_MPC8543E_V11 = 70;
UC_CPU_PPC_MPC8543E_V20 = 71;
UC_CPU_PPC_MPC8543E_V21 = 72;
UC_CPU_PPC_MPC8544_V10 = 72;
UC_CPU_PPC_MPC8544_V11 = 73;
UC_CPU_PPC_MPC8544E_V11 = 73;
UC_CPU_PPC_MPC8544E_V10 = 72;
UC_CPU_PPC_MPC8545_V10 = 69;
UC_CPU_PPC_MPC8545_V20 = 71;
UC_CPU_PPC_MPC8545_V21 = 72;
UC_CPU_PPC_MPC8545E_V10 = 69;
UC_CPU_PPC_MPC8545E_V20 = 71;
UC_CPU_PPC_MPC8545E_V21 = 72;
UC_CPU_PPC_MPC8547E_V10 = 69;
UC_CPU_PPC_MPC8547E_V20 = 71;
UC_CPU_PPC_MPC8547E_V21 = 72;
UC_CPU_PPC_MPC8548_V10 = 69;
UC_CPU_PPC_MPC8548_V11 = 70;
UC_CPU_PPC_MPC8548_V20 = 71;
UC_CPU_PPC_MPC8548_V21 = 72;
UC_CPU_PPC_MPC8548E_V10 = 69;
UC_CPU_PPC_MPC8548E_V11 = 70;
UC_CPU_PPC_MPC8548E_V20 = 71;
UC_CPU_PPC_MPC8548E_V21 = 72;
UC_CPU_PPC_MPC8555_V10 = 69;
UC_CPU_PPC_MPC8555_V11 = 70;
UC_CPU_PPC_MPC8555E_V10 = 69;
UC_CPU_PPC_MPC8555E_V11 = 70;
UC_CPU_PPC_MPC8560_V10 = 69;
UC_CPU_PPC_MPC8560_V20 = 71;
UC_CPU_PPC_MPC8560_V21 = 72;
UC_CPU_PPC_MPC8567 = 73;
UC_CPU_PPC_MPC8567E = 73;
UC_CPU_PPC_MPC8568 = 73;
UC_CPU_PPC_MPC8568E = 73;
UC_CPU_PPC_MPC8572 = 74;
UC_CPU_PPC_MPC8572E = 74;
UC_CPU_PPC_MPC8610 = 78;
UC_CPU_PPC_MPC8641 = 78;
UC_CPU_PPC_MPC8641D = 78;
UC_CPU_PPC64_620 = 0;
UC_CPU_PPC64_630 = 1;
UC_CPU_PPC64_631 = 2;
UC_CPU_PPC64_POWER4 = 3;
UC_CPU_PPC64_POWER4P = 4;
UC_CPU_PPC64_POWER5 = 5;
UC_CPU_PPC64_POWER5P_V21 = 6;
UC_CPU_PPC64_POWER6 = 7;
UC_CPU_PPC64_POWER_SERVER_MASK = 8;
UC_CPU_PPC64_POWER7_BASE = 9;
UC_CPU_PPC64_POWER7_V23 = 10;
UC_CPU_PPC64_POWER7P_BASE = 11;
UC_CPU_PPC64_POWER7P_V21 = 12;
UC_CPU_PPC64_POWER8E_BASE = 13;
UC_CPU_PPC64_POWER8E_V21 = 14;
UC_CPU_PPC64_POWER8_BASE = 15;
UC_CPU_PPC64_POWER8_V20 = 16;
UC_CPU_PPC64_POWER8NVL_BASE = 17;
UC_CPU_PPC64_POWER8NVL_V10 = 18;
UC_CPU_PPC64_POWER9_BASE = 19;
UC_CPU_PPC64_POWER9_DD1 = 20;
UC_CPU_PPC64_POWER9_DD20 = 21;
UC_CPU_PPC64_POWER10_BASE = 22;
UC_CPU_PPC64_POWER10_DD1 = 23;
UC_CPU_PPC64_970_V22 = 24;
UC_CPU_PPC64_970FX_V10 = 25;
UC_CPU_PPC64_970FX_V20 = 26;
UC_CPU_PPC64_970FX_V21 = 27;
UC_CPU_PPC64_970FX_V30 = 28;
UC_CPU_PPC64_970FX_V31 = 29;
UC_CPU_PPC64_970MP_V10 = 30;
UC_CPU_PPC64_970MP_V11 = 31;
UC_CPU_PPC64_CELL_V10 = 32;
UC_CPU_PPC64_CELL_V20 = 33;
UC_CPU_PPC64_CELL_V30 = 34;
UC_CPU_PPC64_CELL_V31 = 35;
UC_CPU_PPC64_RS64 = 36;
UC_CPU_PPC64_RS64II = 37;
UC_CPU_PPC64_RS64III = 38;
UC_CPU_PPC64_RS64IV = 39;
UC_CPU_PPC64_CELL_V32 = 35;
UC_CPU_PPC64_CELL = 35;
// PPC registers
UC_PPC_REG_INVALID = 0;

View File

@ -5,6 +5,16 @@ unit RiscvConst;
interface
const
UC_CPU_RISCV32_ANY = 0;
UC_CPU_RISCV32_BASE32 = 1;
UC_CPU_RISCV32_SIFIVE_E31 = 2;
UC_CPU_RISCV32_SIFIVE_U34 = 3;
UC_CPU_RISCV64_ANY = 0;
UC_CPU_RISCV64_BASE64 = 1;
UC_CPU_RISCV64_SIFIVE_E51 = 2;
UC_CPU_RISCV64_SIFIVE_U54 = 3;
// RISCV registers
UC_RISCV_REG_INVALID = 0;

View File

@ -5,6 +5,38 @@ unit SparcConst;
interface
const
UC_CPU_SPARC_FUJITSU_MB86904 = 0;
UC_CPU_SPARC_FUJITSU_MB86907 = 1;
UC_CPU_SPARC_TI_MICROSPARC_I = 2;
UC_CPU_SPARC_TI_MICROSPARC_II = 3;
UC_CPU_SPARC_TI_MICROSPARC_IIEP = 4;
UC_CPU_SPARC_TI_SUPERSPARC_40 = 5;
UC_CPU_SPARC_TI_SUPERSPARC_50 = 6;
UC_CPU_SPARC_TI_SUPERSPARC_51 = 7;
UC_CPU_SPARC_TI_SUPERSPARC_60 = 8;
UC_CPU_SPARC_TI_SUPERSPARC_61 = 9;
UC_CPU_SPARC_TI_SUPERSPARC_II = 10;
UC_CPU_SPARC_LEON2 = 11;
UC_CPU_SPARC_LEON3 = 12;
UC_CPU_SPARC64_FUJITSU = 0;
UC_CPU_SPARC64_FUJITSU_III = 1;
UC_CPU_SPARC64_FUJITSU_IV = 2;
UC_CPU_SPARC64_FUJITSU_V = 3;
UC_CPU_SPARC64_TI_ULTRASPARC_I = 4;
UC_CPU_SPARC64_TI_ULTRASPARC_II = 5;
UC_CPU_SPARC64_TI_ULTRASPARC_III = 6;
UC_CPU_SPARC64_TI_ULTRASPARC_IIE = 7;
UC_CPU_SPARC64_SUN_ULTRASPARC_III = 8;
UC_CPU_SPARC64_SUN_ULTRASPARC_III_CU = 9;
UC_CPU_SPARC64_SUN_ULTRASPARC_IIII = 10;
UC_CPU_SPARC64_SUN_ULTRASPARC_IV = 11;
UC_CPU_SPARC64_SUN_ULTRASPARC_IV_PLUS = 12;
UC_CPU_SPARC64_SUN_ULTRASPARC_IIII_PLUS = 13;
UC_CPU_SPARC64_SUN_ULTRASPARC_T1 = 14;
UC_CPU_SPARC64_SUN_ULTRASPARC_T2 = 15;
UC_CPU_SPARC64_NEC_ULTRASPARC_I = 16;
// SPARC registers
UC_SPARC_REG_INVALID = 0;

View File

@ -110,6 +110,22 @@ const UC_API_MAJOR = 2;
UC_QUERY_ARCH = 3;
UC_QUERY_TIMEOUT = 4;
UC_CTL_IO_NONE = 0;
UC_CTL_IO_WRITE = 1;
UC_CTL_IO_READ = 2;
UC_CTL_IO_READ_WRITE = 3;
UC_CTL_UC_MODE = 0;
UC_CTL_UC_PAGE_SIZE = 1;
UC_CTL_UC_ARCH = 2;
UC_CTL_UC_TIMEOUT = 3;
UC_CTL_UC_EXITS_CNT = 4;
UC_CTL_UC_EXITS = 5;
UC_CTL_CPU_MODEL = 6;
UC_CTL_TB_EDGE = 7;
UC_CTL_TB_REQUEST_CACHE = 8;
UC_CTL_TB_REMOVE_CACHE = 9;
UC_PROT_NONE = 0;
UC_PROT_READ = 1;
UC_PROT_WRITE = 2;

View File

@ -5,6 +5,45 @@ unit X86Const;
interface
const
UC_CPU_X86_QEMU64 = 0;
UC_CPU_X86_PHENOM = 1;
UC_CPU_X86_CORE2DUO = 2;
UC_CPU_X86_KVM64 = 3;
UC_CPU_X86_QEMU32 = 4;
UC_CPU_X86_KVM32 = 5;
UC_CPU_X86_COREDUO = 6;
UC_CPU_X86_486 = 7;
UC_CPU_X86_PENTIUM = 8;
UC_CPU_X86_PENTIUM2 = 9;
UC_CPU_X86_PENTIUM3 = 10;
UC_CPU_X86_ATHLON = 11;
UC_CPU_X86_N270 = 12;
UC_CPU_X86_CONROE = 13;
UC_CPU_X86_PENRYN = 14;
UC_CPU_X86_NEHALEM = 15;
UC_CPU_X86_WESTMERE = 16;
UC_CPU_X86_SANDYBRIDGE = 17;
UC_CPU_X86_IVYBRIDGE = 18;
UC_CPU_X86_HASWELL = 19;
UC_CPU_X86_BROADWELL = 20;
UC_CPU_X86_SKYLAKE_CLIENT = 21;
UC_CPU_X86_SKYLAKE_SERVER = 22;
UC_CPU_X86_CASCADELAKE_SERVER = 23;
UC_CPU_X86_COOPERLAKE = 24;
UC_CPU_X86_ICELAKE_CLIENT = 25;
UC_CPU_X86_ICELAKE_SERVER = 26;
UC_CPU_X86_DENVERTON = 27;
UC_CPU_X86_SNOWRIDGE = 28;
UC_CPU_X86_KNIGHTSMILL = 29;
UC_CPU_X86_OPTERON_G1 = 30;
UC_CPU_X86_OPTERON_G2 = 31;
UC_CPU_X86_OPTERON_G3 = 32;
UC_CPU_X86_OPTERON_G4 = 33;
UC_CPU_X86_OPTERON_G5 = 34;
UC_CPU_X86_EPYC = 35;
UC_CPU_X86_DHYANA = 36;
UC_CPU_X86_EPYC_ROME = 37;
// X86 registers
UC_X86_REG_INVALID = 0;

View File

@ -1,5 +1,10 @@
# For Unicorn Engine. AUTO-GENERATED FILE, DO NOT EDIT [arm64_const.py]
UC_CPU_AARCH64_A57 = 0
UC_CPU_AARCH64_A53 = 1
UC_CPU_AARCH64_A72 = 2
UC_CPU_AARCH64_MAX = 3
# ARM64 registers
UC_ARM64_REG_INVALID = 0

View File

@ -1,5 +1,39 @@
# For Unicorn Engine. AUTO-GENERATED FILE, DO NOT EDIT [arm_const.py]
UC_CPU_ARM_926 = 0
UC_CPU_ARM_946 = 1
UC_CPU_ARM_1026 = 2
UC_CPU_ARM_1136_R2 = 3
UC_CPU_ARM_1136 = 4
UC_CPU_ARM_1176 = 5
UC_CPU_ARM_11MPCORE = 6
UC_CPU_ARM_CORTEX_M0 = 7
UC_CPU_ARM_CORTEX_M3 = 8
UC_CPU_ARM_CORTEX_M4 = 9
UC_CPU_ARM_CORTEX_M7 = 10
UC_CPU_ARM_CORTEX_M33 = 11
UC_CPU_ARM_CORTEX_R5 = 12
UC_CPU_ARM_CORTEX_R5F = 13
UC_CPU_ARM_CORTEX_A8 = 14
UC_CPU_ARM_CORTEX_A9 = 15
UC_CPU_ARM_CORTEX_A7 = 16
UC_CPU_ARM_CORTEX_A15 = 17
UC_CPU_ARM_TI925T = 18
UC_CPU_ARM_SA1100 = 19
UC_CPU_ARM_SA1110 = 20
UC_CPU_ARM_PXA250 = 21
UC_CPU_ARM_PXA255 = 22
UC_CPU_ARM_PXA260 = 23
UC_CPU_ARM_PXA261 = 24
UC_CPU_ARM_PXA262 = 25
UC_CPU_ARM_PXA270A0 = 26
UC_CPU_ARM_PXA270A1 = 27
UC_CPU_ARM_PXA270B0 = 28
UC_CPU_ARM_PXA270B1 = 29
UC_CPU_ARM_PXA270C0 = 30
UC_CPU_ARM_PXA270C5 = 31
UC_CPU_ARM_MAX = 32
# ARM registers
UC_ARM_REG_INVALID = 0

View File

@ -1,5 +1,15 @@
# For Unicorn Engine. AUTO-GENERATED FILE, DO NOT EDIT [m68k_const.py]
UC_CPU_M5206_CPU = 0
UC_CPU_M68000_CPU = 1
UC_CPU_M68020_CPU = 2
UC_CPU_M68030_CPU = 3
UC_CPU_M68040_CPU = 4
UC_CPU_M68060_CPU = 5
UC_CPU_M5208_CPU = 6
UC_CPU_CFV4E_CPU = 7
UC_CPU_ANY_CPU = 8
# M68K registers
UC_M68K_REG_INVALID = 0

View File

@ -1,5 +1,35 @@
# For Unicorn Engine. AUTO-GENERATED FILE, DO NOT EDIT [mips_const.py]
UC_CPU_MIPS_4KC = 0
UC_CPU_MIPS_4KM = 1
UC_CPU_MIPS_4KECR1 = 2
UC_CPU_MIPS_4KEMR1 = 3
UC_CPU_MIPS_4KEC = 4
UC_CPU_MIPS_4KEM = 5
UC_CPU_MIPS_24KC = 6
UC_CPU_MIPS_24KEC = 7
UC_CPU_MIPS_24KF = 8
UC_CPU_MIPS_34KF = 9
UC_CPU_MIPS_74KF = 10
UC_CPU_MIPS_M14K = 11
UC_CPU_MIPS_M14KC = 12
UC_CPU_MIPS_P5600 = 13
UC_CPU_MIPS_MIPS32R6_GENERIC = 14
UC_CPU_MIPS_I7200 = 15
UC_CPU_MIPS_R4000 = 16
UC_CPU_MIPS_VR5432 = 17
UC_CPU_MIPS_5KC = 18
UC_CPU_MIPS_5KF = 19
UC_CPU_MIPS_20KC = 20
UC_CPU_MIPS_MIPS64R2_GENERIC = 21
UC_CPU_MIPS_5KEC = 22
UC_CPU_MIPS_5KEF = 23
UC_CPU_MIPS_I6400 = 24
UC_CPU_MIPS_I6500 = 25
UC_CPU_MIPS_LOONGSON_2E = 26
UC_CPU_MIPS_LOONGSON_2F = 27
UC_CPU_MIPS_MIPS64DSPR2 = 28
# MIPS registers
UC_MIPS_REG_INVALID = 0

View File

@ -1,5 +1,306 @@
# For Unicorn Engine. AUTO-GENERATED FILE, DO NOT EDIT [ppc_const.py]
UC_CPU_PPC_401A1 = 0
UC_CPU_PPC_401B2 = 1
UC_CPU_PPC_401C2 = 2
UC_CPU_PPC_401D2 = 3
UC_CPU_PPC_401E2 = 4
UC_CPU_PPC_401F2 = 5
UC_CPU_PPC_401G2 = 6
UC_CPU_PPC_COBRA = 7
UC_CPU_PPC_403GA = 8
UC_CPU_PPC_403GB = 9
UC_CPU_PPC_403GC = 10
UC_CPU_PPC_403GCX = 11
UC_CPU_PPC_405D2 = 12
UC_CPU_PPC_405D4 = 13
UC_CPU_PPC_405CRA = 14
UC_CPU_PPC_405CRB = 15
UC_CPU_PPC_405CRC = 16
UC_CPU_PPC_405EP = 17
UC_CPU_PPC_405EZ = 18
UC_CPU_PPC_405GPA = 19
UC_CPU_PPC_405GPB = 20
UC_CPU_PPC_405GPC = 21
UC_CPU_PPC_405GPD = 22
UC_CPU_PPC_405GPR = 23
UC_CPU_PPC_405LP = 24
UC_CPU_PPC_NPE405H = 25
UC_CPU_PPC_NPE405H2 = 26
UC_CPU_PPC_NPE405L = 27
UC_CPU_PPC_NPE4GS3 = 28
UC_CPU_PPC_STB03 = 29
UC_CPU_PPC_STB04 = 30
UC_CPU_PPC_STB25 = 31
UC_CPU_PPC_X2VP4 = 32
UC_CPU_PPC_440_XILINX = 33
UC_CPU_PPC_440EPA = 34
UC_CPU_PPC_440EPB = 35
UC_CPU_PPC_440GPB = 36
UC_CPU_PPC_440GPC = 37
UC_CPU_PPC_440GRX = 38
UC_CPU_PPC_440GXA = 39
UC_CPU_PPC_440GXB = 40
UC_CPU_PPC_440GXC = 41
UC_CPU_PPC_440GXF = 42
UC_CPU_PPC_440SP = 43
UC_CPU_PPC_440SP2 = 44
UC_CPU_PPC_440SPE = 45
UC_CPU_PPC_460EXB = 46
UC_CPU_PPC_MPC5XX = 47
UC_CPU_PPC_MPC8XX = 48
UC_CPU_PPC_G2 = 49
UC_CPU_PPC_G2H4 = 50
UC_CPU_PPC_G2GP = 51
UC_CPU_PPC_G2LS = 52
UC_CPU_PPC_MPC603 = 53
UC_CPU_PPC_G2_HIP3 = 54
UC_CPU_PPC_G2_HIP4 = 55
UC_CPU_PPC_G2LE = 56
UC_CPU_PPC_G2LEGP = 57
UC_CPU_PPC_G2LELS = 58
UC_CPU_PPC_G2LEGP1 = 59
UC_CPU_PPC_G2LEGP3 = 60
UC_CPU_PPC_E200Z5 = 61
UC_CPU_PPC_E200Z6 = 62
UC_CPU_PPC_E300C1 = 63
UC_CPU_PPC_E300C2 = 64
UC_CPU_PPC_E300C3 = 65
UC_CPU_PPC_E300C4 = 66
UC_CPU_PPC_E500V1_V10 = 67
UC_CPU_PPC_E500V1_V20 = 68
UC_CPU_PPC_E500V2_V10 = 69
UC_CPU_PPC_E500V2_V11 = 70
UC_CPU_PPC_E500V2_V20 = 71
UC_CPU_PPC_E500V2_V21 = 72
UC_CPU_PPC_E500V2_V22 = 73
UC_CPU_PPC_E500V2_V30 = 74
UC_CPU_PPC_E500MC = 75
UC_CPU_PPC_E5500 = 76
UC_CPU_PPC_E6500 = 77
UC_CPU_PPC_E600 = 78
UC_CPU_PPC_601_V0 = 79
UC_CPU_PPC_601_V1 = 80
UC_CPU_PPC_601_V2 = 81
UC_CPU_PPC_602 = 82
UC_CPU_PPC_603 = 83
UC_CPU_PPC_603E_V11 = 84
UC_CPU_PPC_603E_V12 = 85
UC_CPU_PPC_603E_V13 = 86
UC_CPU_PPC_603E_V14 = 87
UC_CPU_PPC_603E_V22 = 88
UC_CPU_PPC_603E_V3 = 89
UC_CPU_PPC_603E_V4 = 90
UC_CPU_PPC_603E_V41 = 91
UC_CPU_PPC_603E7T = 92
UC_CPU_PPC_603E7V = 93
UC_CPU_PPC_603E7V1 = 94
UC_CPU_PPC_603E7V2 = 95
UC_CPU_PPC_603E7 = 96
UC_CPU_PPC_603P = 97
UC_CPU_PPC_604 = 98
UC_CPU_PPC_604E_V10 = 99
UC_CPU_PPC_604E_V22 = 100
UC_CPU_PPC_604E_V24 = 101
UC_CPU_PPC_604R = 102
UC_CPU_PPC_7X0_V10 = 103
UC_CPU_PPC_7X0_V20 = 104
UC_CPU_PPC_7X0_V21 = 105
UC_CPU_PPC_7X0_V22 = 106
UC_CPU_PPC_7X0_V30 = 107
UC_CPU_PPC_7X0_V31 = 108
UC_CPU_PPC_740E = 109
UC_CPU_PPC_750E = 110
UC_CPU_PPC_7X0P = 111
UC_CPU_PPC_750CL_V10 = 112
UC_CPU_PPC_750CL_V20 = 113
UC_CPU_PPC_750CX_V10 = 114
UC_CPU_PPC_750CX_V20 = 115
UC_CPU_PPC_750CX_V21 = 116
UC_CPU_PPC_750CX_V22 = 117
UC_CPU_PPC_750CXE_V21 = 118
UC_CPU_PPC_750CXE_V22 = 119
UC_CPU_PPC_750CXE_V23 = 120
UC_CPU_PPC_750CXE_V24 = 121
UC_CPU_PPC_750CXE_V24B = 122
UC_CPU_PPC_750CXE_V30 = 123
UC_CPU_PPC_750CXE_V31 = 124
UC_CPU_PPC_750CXE_V31B = 125
UC_CPU_PPC_750CXR = 126
UC_CPU_PPC_750FL = 127
UC_CPU_PPC_750FX_V10 = 128
UC_CPU_PPC_750FX_V20 = 129
UC_CPU_PPC_750FX_V21 = 130
UC_CPU_PPC_750FX_V22 = 131
UC_CPU_PPC_750FX_V23 = 132
UC_CPU_PPC_750GL = 133
UC_CPU_PPC_750GX_V10 = 134
UC_CPU_PPC_750GX_V11 = 135
UC_CPU_PPC_750GX_V12 = 136
UC_CPU_PPC_750L_V20 = 137
UC_CPU_PPC_750L_V21 = 138
UC_CPU_PPC_750L_V22 = 139
UC_CPU_PPC_750L_V30 = 140
UC_CPU_PPC_750L_V32 = 141
UC_CPU_PPC_7X5_V10 = 142
UC_CPU_PPC_7X5_V11 = 143
UC_CPU_PPC_7X5_V20 = 144
UC_CPU_PPC_7X5_V21 = 145
UC_CPU_PPC_7X5_V22 = 146
UC_CPU_PPC_7X5_V23 = 147
UC_CPU_PPC_7X5_V24 = 148
UC_CPU_PPC_7X5_V25 = 149
UC_CPU_PPC_7X5_V26 = 150
UC_CPU_PPC_7X5_V27 = 151
UC_CPU_PPC_7X5_V28 = 152
UC_CPU_PPC_7400_V10 = 153
UC_CPU_PPC_7400_V11 = 154
UC_CPU_PPC_7400_V20 = 155
UC_CPU_PPC_7400_V21 = 156
UC_CPU_PPC_7400_V22 = 157
UC_CPU_PPC_7400_V26 = 158
UC_CPU_PPC_7400_V27 = 159
UC_CPU_PPC_7400_V28 = 160
UC_CPU_PPC_7400_V29 = 161
UC_CPU_PPC_7410_V10 = 162
UC_CPU_PPC_7410_V11 = 163
UC_CPU_PPC_7410_V12 = 164
UC_CPU_PPC_7410_V13 = 165
UC_CPU_PPC_7410_V14 = 166
UC_CPU_PPC_7448_V10 = 167
UC_CPU_PPC_7448_V11 = 168
UC_CPU_PPC_7448_V20 = 169
UC_CPU_PPC_7448_V21 = 170
UC_CPU_PPC_7450_V10 = 171
UC_CPU_PPC_7450_V11 = 172
UC_CPU_PPC_7450_V12 = 173
UC_CPU_PPC_7450_V20 = 174
UC_CPU_PPC_7450_V21 = 175
UC_CPU_PPC_74X1_V23 = 176
UC_CPU_PPC_74X1_V210 = 177
UC_CPU_PPC_74X5_V10 = 178
UC_CPU_PPC_74X5_V21 = 179
UC_CPU_PPC_74X5_V32 = 180
UC_CPU_PPC_74X5_V33 = 181
UC_CPU_PPC_74X5_V34 = 182
UC_CPU_PPC_74X7_V10 = 183
UC_CPU_PPC_74X7_V11 = 184
UC_CPU_PPC_74X7_V12 = 185
UC_CPU_PPC_74X7A_V10 = 186
UC_CPU_PPC_74X7A_V11 = 187
UC_CPU_PPC_74X7A_V12 = 188
UC_CPU_PPC_IOP480 = 1
UC_CPU_PPC_X2VP20 = 42
UC_CPU_PPC_440GRA = 35
UC_CPU_PPC_440EPX = 38
UC_CPU_PPC_MPC5200_V10 = 59
UC_CPU_PPC_MPC5200_V11 = 59
UC_CPU_PPC_MPC5200_V12 = 59
UC_CPU_PPC_MPC5200B_V20 = 59
UC_CPU_PPC_MPC5200B_V21 = 59
UC_CPU_PPC_MPC834X = 63
UC_CPU_PPC_MPC837X = 66
UC_CPU_PPC_E500 = 73
UC_CPU_PPC_MPC8533_V10 = 72
UC_CPU_PPC_MPC8533_V11 = 73
UC_CPU_PPC_MPC8533E_V10 = 72
UC_CPU_PPC_MPC8533E_V11 = 73
UC_CPU_PPC_MPC8540_V10 = 67
UC_CPU_PPC_MPC8540_V20 = 68
UC_CPU_PPC_MPC8540_V21 = 68
UC_CPU_PPC_MPC8541_V10 = 68
UC_CPU_PPC_MPC8541_V11 = 68
UC_CPU_PPC_MPC8541E_V10 = 68
UC_CPU_PPC_MPC8541E_V11 = 68
UC_CPU_PPC_MPC8543_V10 = 69
UC_CPU_PPC_MPC8543_V11 = 70
UC_CPU_PPC_MPC8543_V20 = 71
UC_CPU_PPC_MPC8543_V21 = 72
UC_CPU_PPC_MPC8543E_V10 = 69
UC_CPU_PPC_MPC8543E_V11 = 70
UC_CPU_PPC_MPC8543E_V20 = 71
UC_CPU_PPC_MPC8543E_V21 = 72
UC_CPU_PPC_MPC8544_V10 = 72
UC_CPU_PPC_MPC8544_V11 = 73
UC_CPU_PPC_MPC8544E_V11 = 73
UC_CPU_PPC_MPC8544E_V10 = 72
UC_CPU_PPC_MPC8545_V10 = 69
UC_CPU_PPC_MPC8545_V20 = 71
UC_CPU_PPC_MPC8545_V21 = 72
UC_CPU_PPC_MPC8545E_V10 = 69
UC_CPU_PPC_MPC8545E_V20 = 71
UC_CPU_PPC_MPC8545E_V21 = 72
UC_CPU_PPC_MPC8547E_V10 = 69
UC_CPU_PPC_MPC8547E_V20 = 71
UC_CPU_PPC_MPC8547E_V21 = 72
UC_CPU_PPC_MPC8548_V10 = 69
UC_CPU_PPC_MPC8548_V11 = 70
UC_CPU_PPC_MPC8548_V20 = 71
UC_CPU_PPC_MPC8548_V21 = 72
UC_CPU_PPC_MPC8548E_V10 = 69
UC_CPU_PPC_MPC8548E_V11 = 70
UC_CPU_PPC_MPC8548E_V20 = 71
UC_CPU_PPC_MPC8548E_V21 = 72
UC_CPU_PPC_MPC8555_V10 = 69
UC_CPU_PPC_MPC8555_V11 = 70
UC_CPU_PPC_MPC8555E_V10 = 69
UC_CPU_PPC_MPC8555E_V11 = 70
UC_CPU_PPC_MPC8560_V10 = 69
UC_CPU_PPC_MPC8560_V20 = 71
UC_CPU_PPC_MPC8560_V21 = 72
UC_CPU_PPC_MPC8567 = 73
UC_CPU_PPC_MPC8567E = 73
UC_CPU_PPC_MPC8568 = 73
UC_CPU_PPC_MPC8568E = 73
UC_CPU_PPC_MPC8572 = 74
UC_CPU_PPC_MPC8572E = 74
UC_CPU_PPC_MPC8610 = 78
UC_CPU_PPC_MPC8641 = 78
UC_CPU_PPC_MPC8641D = 78
UC_CPU_PPC64_620 = 0
UC_CPU_PPC64_630 = 1
UC_CPU_PPC64_631 = 2
UC_CPU_PPC64_POWER4 = 3
UC_CPU_PPC64_POWER4P = 4
UC_CPU_PPC64_POWER5 = 5
UC_CPU_PPC64_POWER5P_V21 = 6
UC_CPU_PPC64_POWER6 = 7
UC_CPU_PPC64_POWER_SERVER_MASK = 8
UC_CPU_PPC64_POWER7_BASE = 9
UC_CPU_PPC64_POWER7_V23 = 10
UC_CPU_PPC64_POWER7P_BASE = 11
UC_CPU_PPC64_POWER7P_V21 = 12
UC_CPU_PPC64_POWER8E_BASE = 13
UC_CPU_PPC64_POWER8E_V21 = 14
UC_CPU_PPC64_POWER8_BASE = 15
UC_CPU_PPC64_POWER8_V20 = 16
UC_CPU_PPC64_POWER8NVL_BASE = 17
UC_CPU_PPC64_POWER8NVL_V10 = 18
UC_CPU_PPC64_POWER9_BASE = 19
UC_CPU_PPC64_POWER9_DD1 = 20
UC_CPU_PPC64_POWER9_DD20 = 21
UC_CPU_PPC64_POWER10_BASE = 22
UC_CPU_PPC64_POWER10_DD1 = 23
UC_CPU_PPC64_970_V22 = 24
UC_CPU_PPC64_970FX_V10 = 25
UC_CPU_PPC64_970FX_V20 = 26
UC_CPU_PPC64_970FX_V21 = 27
UC_CPU_PPC64_970FX_V30 = 28
UC_CPU_PPC64_970FX_V31 = 29
UC_CPU_PPC64_970MP_V10 = 30
UC_CPU_PPC64_970MP_V11 = 31
UC_CPU_PPC64_CELL_V10 = 32
UC_CPU_PPC64_CELL_V20 = 33
UC_CPU_PPC64_CELL_V30 = 34
UC_CPU_PPC64_CELL_V31 = 35
UC_CPU_PPC64_RS64 = 36
UC_CPU_PPC64_RS64II = 37
UC_CPU_PPC64_RS64III = 38
UC_CPU_PPC64_RS64IV = 39
UC_CPU_PPC64_CELL_V32 = 35
UC_CPU_PPC64_CELL = 35
# PPC registers
UC_PPC_REG_INVALID = 0

View File

@ -1,5 +1,15 @@
# For Unicorn Engine. AUTO-GENERATED FILE, DO NOT EDIT [riscv_const.py]
UC_CPU_RISCV32_ANY = 0
UC_CPU_RISCV32_BASE32 = 1
UC_CPU_RISCV32_SIFIVE_E31 = 2
UC_CPU_RISCV32_SIFIVE_U34 = 3
UC_CPU_RISCV64_ANY = 0
UC_CPU_RISCV64_BASE64 = 1
UC_CPU_RISCV64_SIFIVE_E51 = 2
UC_CPU_RISCV64_SIFIVE_U54 = 3
# RISCV registers
UC_RISCV_REG_INVALID = 0

View File

@ -1,5 +1,37 @@
# For Unicorn Engine. AUTO-GENERATED FILE, DO NOT EDIT [sparc_const.py]
UC_CPU_SPARC_FUJITSU_MB86904 = 0
UC_CPU_SPARC_FUJITSU_MB86907 = 1
UC_CPU_SPARC_TI_MICROSPARC_I = 2
UC_CPU_SPARC_TI_MICROSPARC_II = 3
UC_CPU_SPARC_TI_MICROSPARC_IIEP = 4
UC_CPU_SPARC_TI_SUPERSPARC_40 = 5
UC_CPU_SPARC_TI_SUPERSPARC_50 = 6
UC_CPU_SPARC_TI_SUPERSPARC_51 = 7
UC_CPU_SPARC_TI_SUPERSPARC_60 = 8
UC_CPU_SPARC_TI_SUPERSPARC_61 = 9
UC_CPU_SPARC_TI_SUPERSPARC_II = 10
UC_CPU_SPARC_LEON2 = 11
UC_CPU_SPARC_LEON3 = 12
UC_CPU_SPARC64_FUJITSU = 0
UC_CPU_SPARC64_FUJITSU_III = 1
UC_CPU_SPARC64_FUJITSU_IV = 2
UC_CPU_SPARC64_FUJITSU_V = 3
UC_CPU_SPARC64_TI_ULTRASPARC_I = 4
UC_CPU_SPARC64_TI_ULTRASPARC_II = 5
UC_CPU_SPARC64_TI_ULTRASPARC_III = 6
UC_CPU_SPARC64_TI_ULTRASPARC_IIE = 7
UC_CPU_SPARC64_SUN_ULTRASPARC_III = 8
UC_CPU_SPARC64_SUN_ULTRASPARC_III_CU = 9
UC_CPU_SPARC64_SUN_ULTRASPARC_IIII = 10
UC_CPU_SPARC64_SUN_ULTRASPARC_IV = 11
UC_CPU_SPARC64_SUN_ULTRASPARC_IV_PLUS = 12
UC_CPU_SPARC64_SUN_ULTRASPARC_IIII_PLUS = 13
UC_CPU_SPARC64_SUN_ULTRASPARC_T1 = 14
UC_CPU_SPARC64_SUN_ULTRASPARC_T2 = 15
UC_CPU_SPARC64_NEC_ULTRASPARC_I = 16
# SPARC registers
UC_SPARC_REG_INVALID = 0

View File

@ -105,6 +105,22 @@ UC_QUERY_PAGE_SIZE = 2
UC_QUERY_ARCH = 3
UC_QUERY_TIMEOUT = 4
UC_CTL_IO_NONE = 0
UC_CTL_IO_WRITE = 1
UC_CTL_IO_READ = 2
UC_CTL_IO_READ_WRITE = 3
UC_CTL_UC_MODE = 0
UC_CTL_UC_PAGE_SIZE = 1
UC_CTL_UC_ARCH = 2
UC_CTL_UC_TIMEOUT = 3
UC_CTL_UC_EXITS_CNT = 4
UC_CTL_UC_EXITS = 5
UC_CTL_CPU_MODEL = 6
UC_CTL_TB_EDGE = 7
UC_CTL_TB_REQUEST_CACHE = 8
UC_CTL_TB_REMOVE_CACHE = 9
UC_PROT_NONE = 0
UC_PROT_READ = 1
UC_PROT_WRITE = 2

View File

@ -1,5 +1,44 @@
# For Unicorn Engine. AUTO-GENERATED FILE, DO NOT EDIT [x86_const.py]
UC_CPU_X86_QEMU64 = 0
UC_CPU_X86_PHENOM = 1
UC_CPU_X86_CORE2DUO = 2
UC_CPU_X86_KVM64 = 3
UC_CPU_X86_QEMU32 = 4
UC_CPU_X86_KVM32 = 5
UC_CPU_X86_COREDUO = 6
UC_CPU_X86_486 = 7
UC_CPU_X86_PENTIUM = 8
UC_CPU_X86_PENTIUM2 = 9
UC_CPU_X86_PENTIUM3 = 10
UC_CPU_X86_ATHLON = 11
UC_CPU_X86_N270 = 12
UC_CPU_X86_CONROE = 13
UC_CPU_X86_PENRYN = 14
UC_CPU_X86_NEHALEM = 15
UC_CPU_X86_WESTMERE = 16
UC_CPU_X86_SANDYBRIDGE = 17
UC_CPU_X86_IVYBRIDGE = 18
UC_CPU_X86_HASWELL = 19
UC_CPU_X86_BROADWELL = 20
UC_CPU_X86_SKYLAKE_CLIENT = 21
UC_CPU_X86_SKYLAKE_SERVER = 22
UC_CPU_X86_CASCADELAKE_SERVER = 23
UC_CPU_X86_COOPERLAKE = 24
UC_CPU_X86_ICELAKE_CLIENT = 25
UC_CPU_X86_ICELAKE_SERVER = 26
UC_CPU_X86_DENVERTON = 27
UC_CPU_X86_SNOWRIDGE = 28
UC_CPU_X86_KNIGHTSMILL = 29
UC_CPU_X86_OPTERON_G1 = 30
UC_CPU_X86_OPTERON_G2 = 31
UC_CPU_X86_OPTERON_G3 = 32
UC_CPU_X86_OPTERON_G4 = 33
UC_CPU_X86_OPTERON_G5 = 34
UC_CPU_X86_EPYC = 35
UC_CPU_X86_DHYANA = 36
UC_CPU_X86_EPYC_ROME = 37
# X86 registers
UC_X86_REG_INVALID = 0

View File

@ -2,6 +2,11 @@
module UnicornEngine
UC_CPU_AARCH64_A57 = 0
UC_CPU_AARCH64_A53 = 1
UC_CPU_AARCH64_A72 = 2
UC_CPU_AARCH64_MAX = 3
# ARM64 registers
UC_ARM64_REG_INVALID = 0

View File

@ -2,6 +2,40 @@
module UnicornEngine
UC_CPU_ARM_926 = 0
UC_CPU_ARM_946 = 1
UC_CPU_ARM_1026 = 2
UC_CPU_ARM_1136_R2 = 3
UC_CPU_ARM_1136 = 4
UC_CPU_ARM_1176 = 5
UC_CPU_ARM_11MPCORE = 6
UC_CPU_ARM_CORTEX_M0 = 7
UC_CPU_ARM_CORTEX_M3 = 8
UC_CPU_ARM_CORTEX_M4 = 9
UC_CPU_ARM_CORTEX_M7 = 10
UC_CPU_ARM_CORTEX_M33 = 11
UC_CPU_ARM_CORTEX_R5 = 12
UC_CPU_ARM_CORTEX_R5F = 13
UC_CPU_ARM_CORTEX_A8 = 14
UC_CPU_ARM_CORTEX_A9 = 15
UC_CPU_ARM_CORTEX_A7 = 16
UC_CPU_ARM_CORTEX_A15 = 17
UC_CPU_ARM_TI925T = 18
UC_CPU_ARM_SA1100 = 19
UC_CPU_ARM_SA1110 = 20
UC_CPU_ARM_PXA250 = 21
UC_CPU_ARM_PXA255 = 22
UC_CPU_ARM_PXA260 = 23
UC_CPU_ARM_PXA261 = 24
UC_CPU_ARM_PXA262 = 25
UC_CPU_ARM_PXA270A0 = 26
UC_CPU_ARM_PXA270A1 = 27
UC_CPU_ARM_PXA270B0 = 28
UC_CPU_ARM_PXA270B1 = 29
UC_CPU_ARM_PXA270C0 = 30
UC_CPU_ARM_PXA270C5 = 31
UC_CPU_ARM_MAX = 32
# ARM registers
UC_ARM_REG_INVALID = 0

View File

@ -2,6 +2,16 @@
module UnicornEngine
UC_CPU_M5206_CPU = 0
UC_CPU_M68000_CPU = 1
UC_CPU_M68020_CPU = 2
UC_CPU_M68030_CPU = 3
UC_CPU_M68040_CPU = 4
UC_CPU_M68060_CPU = 5
UC_CPU_M5208_CPU = 6
UC_CPU_CFV4E_CPU = 7
UC_CPU_ANY_CPU = 8
# M68K registers
UC_M68K_REG_INVALID = 0

View File

@ -2,6 +2,36 @@
module UnicornEngine
UC_CPU_MIPS_4KC = 0
UC_CPU_MIPS_4KM = 1
UC_CPU_MIPS_4KECR1 = 2
UC_CPU_MIPS_4KEMR1 = 3
UC_CPU_MIPS_4KEC = 4
UC_CPU_MIPS_4KEM = 5
UC_CPU_MIPS_24KC = 6
UC_CPU_MIPS_24KEC = 7
UC_CPU_MIPS_24KF = 8
UC_CPU_MIPS_34KF = 9
UC_CPU_MIPS_74KF = 10
UC_CPU_MIPS_M14K = 11
UC_CPU_MIPS_M14KC = 12
UC_CPU_MIPS_P5600 = 13
UC_CPU_MIPS_MIPS32R6_GENERIC = 14
UC_CPU_MIPS_I7200 = 15
UC_CPU_MIPS_R4000 = 16
UC_CPU_MIPS_VR5432 = 17
UC_CPU_MIPS_5KC = 18
UC_CPU_MIPS_5KF = 19
UC_CPU_MIPS_20KC = 20
UC_CPU_MIPS_MIPS64R2_GENERIC = 21
UC_CPU_MIPS_5KEC = 22
UC_CPU_MIPS_5KEF = 23
UC_CPU_MIPS_I6400 = 24
UC_CPU_MIPS_I6500 = 25
UC_CPU_MIPS_LOONGSON_2E = 26
UC_CPU_MIPS_LOONGSON_2F = 27
UC_CPU_MIPS_MIPS64DSPR2 = 28
# MIPS registers
UC_MIPS_REG_INVALID = 0

View File

@ -2,6 +2,307 @@
module UnicornEngine
UC_CPU_PPC_401A1 = 0
UC_CPU_PPC_401B2 = 1
UC_CPU_PPC_401C2 = 2
UC_CPU_PPC_401D2 = 3
UC_CPU_PPC_401E2 = 4
UC_CPU_PPC_401F2 = 5
UC_CPU_PPC_401G2 = 6
UC_CPU_PPC_COBRA = 7
UC_CPU_PPC_403GA = 8
UC_CPU_PPC_403GB = 9
UC_CPU_PPC_403GC = 10
UC_CPU_PPC_403GCX = 11
UC_CPU_PPC_405D2 = 12
UC_CPU_PPC_405D4 = 13
UC_CPU_PPC_405CRA = 14
UC_CPU_PPC_405CRB = 15
UC_CPU_PPC_405CRC = 16
UC_CPU_PPC_405EP = 17
UC_CPU_PPC_405EZ = 18
UC_CPU_PPC_405GPA = 19
UC_CPU_PPC_405GPB = 20
UC_CPU_PPC_405GPC = 21
UC_CPU_PPC_405GPD = 22
UC_CPU_PPC_405GPR = 23
UC_CPU_PPC_405LP = 24
UC_CPU_PPC_NPE405H = 25
UC_CPU_PPC_NPE405H2 = 26
UC_CPU_PPC_NPE405L = 27
UC_CPU_PPC_NPE4GS3 = 28
UC_CPU_PPC_STB03 = 29
UC_CPU_PPC_STB04 = 30
UC_CPU_PPC_STB25 = 31
UC_CPU_PPC_X2VP4 = 32
UC_CPU_PPC_440_XILINX = 33
UC_CPU_PPC_440EPA = 34
UC_CPU_PPC_440EPB = 35
UC_CPU_PPC_440GPB = 36
UC_CPU_PPC_440GPC = 37
UC_CPU_PPC_440GRX = 38
UC_CPU_PPC_440GXA = 39
UC_CPU_PPC_440GXB = 40
UC_CPU_PPC_440GXC = 41
UC_CPU_PPC_440GXF = 42
UC_CPU_PPC_440SP = 43
UC_CPU_PPC_440SP2 = 44
UC_CPU_PPC_440SPE = 45
UC_CPU_PPC_460EXB = 46
UC_CPU_PPC_MPC5XX = 47
UC_CPU_PPC_MPC8XX = 48
UC_CPU_PPC_G2 = 49
UC_CPU_PPC_G2H4 = 50
UC_CPU_PPC_G2GP = 51
UC_CPU_PPC_G2LS = 52
UC_CPU_PPC_MPC603 = 53
UC_CPU_PPC_G2_HIP3 = 54
UC_CPU_PPC_G2_HIP4 = 55
UC_CPU_PPC_G2LE = 56
UC_CPU_PPC_G2LEGP = 57
UC_CPU_PPC_G2LELS = 58
UC_CPU_PPC_G2LEGP1 = 59
UC_CPU_PPC_G2LEGP3 = 60
UC_CPU_PPC_E200Z5 = 61
UC_CPU_PPC_E200Z6 = 62
UC_CPU_PPC_E300C1 = 63
UC_CPU_PPC_E300C2 = 64
UC_CPU_PPC_E300C3 = 65
UC_CPU_PPC_E300C4 = 66
UC_CPU_PPC_E500V1_V10 = 67
UC_CPU_PPC_E500V1_V20 = 68
UC_CPU_PPC_E500V2_V10 = 69
UC_CPU_PPC_E500V2_V11 = 70
UC_CPU_PPC_E500V2_V20 = 71
UC_CPU_PPC_E500V2_V21 = 72
UC_CPU_PPC_E500V2_V22 = 73
UC_CPU_PPC_E500V2_V30 = 74
UC_CPU_PPC_E500MC = 75
UC_CPU_PPC_E5500 = 76
UC_CPU_PPC_E6500 = 77
UC_CPU_PPC_E600 = 78
UC_CPU_PPC_601_V0 = 79
UC_CPU_PPC_601_V1 = 80
UC_CPU_PPC_601_V2 = 81
UC_CPU_PPC_602 = 82
UC_CPU_PPC_603 = 83
UC_CPU_PPC_603E_V11 = 84
UC_CPU_PPC_603E_V12 = 85
UC_CPU_PPC_603E_V13 = 86
UC_CPU_PPC_603E_V14 = 87
UC_CPU_PPC_603E_V22 = 88
UC_CPU_PPC_603E_V3 = 89
UC_CPU_PPC_603E_V4 = 90
UC_CPU_PPC_603E_V41 = 91
UC_CPU_PPC_603E7T = 92
UC_CPU_PPC_603E7V = 93
UC_CPU_PPC_603E7V1 = 94
UC_CPU_PPC_603E7V2 = 95
UC_CPU_PPC_603E7 = 96
UC_CPU_PPC_603P = 97
UC_CPU_PPC_604 = 98
UC_CPU_PPC_604E_V10 = 99
UC_CPU_PPC_604E_V22 = 100
UC_CPU_PPC_604E_V24 = 101
UC_CPU_PPC_604R = 102
UC_CPU_PPC_7X0_V10 = 103
UC_CPU_PPC_7X0_V20 = 104
UC_CPU_PPC_7X0_V21 = 105
UC_CPU_PPC_7X0_V22 = 106
UC_CPU_PPC_7X0_V30 = 107
UC_CPU_PPC_7X0_V31 = 108
UC_CPU_PPC_740E = 109
UC_CPU_PPC_750E = 110
UC_CPU_PPC_7X0P = 111
UC_CPU_PPC_750CL_V10 = 112
UC_CPU_PPC_750CL_V20 = 113
UC_CPU_PPC_750CX_V10 = 114
UC_CPU_PPC_750CX_V20 = 115
UC_CPU_PPC_750CX_V21 = 116
UC_CPU_PPC_750CX_V22 = 117
UC_CPU_PPC_750CXE_V21 = 118
UC_CPU_PPC_750CXE_V22 = 119
UC_CPU_PPC_750CXE_V23 = 120
UC_CPU_PPC_750CXE_V24 = 121
UC_CPU_PPC_750CXE_V24B = 122
UC_CPU_PPC_750CXE_V30 = 123
UC_CPU_PPC_750CXE_V31 = 124
UC_CPU_PPC_750CXE_V31B = 125
UC_CPU_PPC_750CXR = 126
UC_CPU_PPC_750FL = 127
UC_CPU_PPC_750FX_V10 = 128
UC_CPU_PPC_750FX_V20 = 129
UC_CPU_PPC_750FX_V21 = 130
UC_CPU_PPC_750FX_V22 = 131
UC_CPU_PPC_750FX_V23 = 132
UC_CPU_PPC_750GL = 133
UC_CPU_PPC_750GX_V10 = 134
UC_CPU_PPC_750GX_V11 = 135
UC_CPU_PPC_750GX_V12 = 136
UC_CPU_PPC_750L_V20 = 137
UC_CPU_PPC_750L_V21 = 138
UC_CPU_PPC_750L_V22 = 139
UC_CPU_PPC_750L_V30 = 140
UC_CPU_PPC_750L_V32 = 141
UC_CPU_PPC_7X5_V10 = 142
UC_CPU_PPC_7X5_V11 = 143
UC_CPU_PPC_7X5_V20 = 144
UC_CPU_PPC_7X5_V21 = 145
UC_CPU_PPC_7X5_V22 = 146
UC_CPU_PPC_7X5_V23 = 147
UC_CPU_PPC_7X5_V24 = 148
UC_CPU_PPC_7X5_V25 = 149
UC_CPU_PPC_7X5_V26 = 150
UC_CPU_PPC_7X5_V27 = 151
UC_CPU_PPC_7X5_V28 = 152
UC_CPU_PPC_7400_V10 = 153
UC_CPU_PPC_7400_V11 = 154
UC_CPU_PPC_7400_V20 = 155
UC_CPU_PPC_7400_V21 = 156
UC_CPU_PPC_7400_V22 = 157
UC_CPU_PPC_7400_V26 = 158
UC_CPU_PPC_7400_V27 = 159
UC_CPU_PPC_7400_V28 = 160
UC_CPU_PPC_7400_V29 = 161
UC_CPU_PPC_7410_V10 = 162
UC_CPU_PPC_7410_V11 = 163
UC_CPU_PPC_7410_V12 = 164
UC_CPU_PPC_7410_V13 = 165
UC_CPU_PPC_7410_V14 = 166
UC_CPU_PPC_7448_V10 = 167
UC_CPU_PPC_7448_V11 = 168
UC_CPU_PPC_7448_V20 = 169
UC_CPU_PPC_7448_V21 = 170
UC_CPU_PPC_7450_V10 = 171
UC_CPU_PPC_7450_V11 = 172
UC_CPU_PPC_7450_V12 = 173
UC_CPU_PPC_7450_V20 = 174
UC_CPU_PPC_7450_V21 = 175
UC_CPU_PPC_74X1_V23 = 176
UC_CPU_PPC_74X1_V210 = 177
UC_CPU_PPC_74X5_V10 = 178
UC_CPU_PPC_74X5_V21 = 179
UC_CPU_PPC_74X5_V32 = 180
UC_CPU_PPC_74X5_V33 = 181
UC_CPU_PPC_74X5_V34 = 182
UC_CPU_PPC_74X7_V10 = 183
UC_CPU_PPC_74X7_V11 = 184
UC_CPU_PPC_74X7_V12 = 185
UC_CPU_PPC_74X7A_V10 = 186
UC_CPU_PPC_74X7A_V11 = 187
UC_CPU_PPC_74X7A_V12 = 188
UC_CPU_PPC_IOP480 = 1
UC_CPU_PPC_X2VP20 = 42
UC_CPU_PPC_440GRA = 35
UC_CPU_PPC_440EPX = 38
UC_CPU_PPC_MPC5200_V10 = 59
UC_CPU_PPC_MPC5200_V11 = 59
UC_CPU_PPC_MPC5200_V12 = 59
UC_CPU_PPC_MPC5200B_V20 = 59
UC_CPU_PPC_MPC5200B_V21 = 59
UC_CPU_PPC_MPC834X = 63
UC_CPU_PPC_MPC837X = 66
UC_CPU_PPC_E500 = 73
UC_CPU_PPC_MPC8533_V10 = 72
UC_CPU_PPC_MPC8533_V11 = 73
UC_CPU_PPC_MPC8533E_V10 = 72
UC_CPU_PPC_MPC8533E_V11 = 73
UC_CPU_PPC_MPC8540_V10 = 67
UC_CPU_PPC_MPC8540_V20 = 68
UC_CPU_PPC_MPC8540_V21 = 68
UC_CPU_PPC_MPC8541_V10 = 68
UC_CPU_PPC_MPC8541_V11 = 68
UC_CPU_PPC_MPC8541E_V10 = 68
UC_CPU_PPC_MPC8541E_V11 = 68
UC_CPU_PPC_MPC8543_V10 = 69
UC_CPU_PPC_MPC8543_V11 = 70
UC_CPU_PPC_MPC8543_V20 = 71
UC_CPU_PPC_MPC8543_V21 = 72
UC_CPU_PPC_MPC8543E_V10 = 69
UC_CPU_PPC_MPC8543E_V11 = 70
UC_CPU_PPC_MPC8543E_V20 = 71
UC_CPU_PPC_MPC8543E_V21 = 72
UC_CPU_PPC_MPC8544_V10 = 72
UC_CPU_PPC_MPC8544_V11 = 73
UC_CPU_PPC_MPC8544E_V11 = 73
UC_CPU_PPC_MPC8544E_V10 = 72
UC_CPU_PPC_MPC8545_V10 = 69
UC_CPU_PPC_MPC8545_V20 = 71
UC_CPU_PPC_MPC8545_V21 = 72
UC_CPU_PPC_MPC8545E_V10 = 69
UC_CPU_PPC_MPC8545E_V20 = 71
UC_CPU_PPC_MPC8545E_V21 = 72
UC_CPU_PPC_MPC8547E_V10 = 69
UC_CPU_PPC_MPC8547E_V20 = 71
UC_CPU_PPC_MPC8547E_V21 = 72
UC_CPU_PPC_MPC8548_V10 = 69
UC_CPU_PPC_MPC8548_V11 = 70
UC_CPU_PPC_MPC8548_V20 = 71
UC_CPU_PPC_MPC8548_V21 = 72
UC_CPU_PPC_MPC8548E_V10 = 69
UC_CPU_PPC_MPC8548E_V11 = 70
UC_CPU_PPC_MPC8548E_V20 = 71
UC_CPU_PPC_MPC8548E_V21 = 72
UC_CPU_PPC_MPC8555_V10 = 69
UC_CPU_PPC_MPC8555_V11 = 70
UC_CPU_PPC_MPC8555E_V10 = 69
UC_CPU_PPC_MPC8555E_V11 = 70
UC_CPU_PPC_MPC8560_V10 = 69
UC_CPU_PPC_MPC8560_V20 = 71
UC_CPU_PPC_MPC8560_V21 = 72
UC_CPU_PPC_MPC8567 = 73
UC_CPU_PPC_MPC8567E = 73
UC_CPU_PPC_MPC8568 = 73
UC_CPU_PPC_MPC8568E = 73
UC_CPU_PPC_MPC8572 = 74
UC_CPU_PPC_MPC8572E = 74
UC_CPU_PPC_MPC8610 = 78
UC_CPU_PPC_MPC8641 = 78
UC_CPU_PPC_MPC8641D = 78
UC_CPU_PPC64_620 = 0
UC_CPU_PPC64_630 = 1
UC_CPU_PPC64_631 = 2
UC_CPU_PPC64_POWER4 = 3
UC_CPU_PPC64_POWER4P = 4
UC_CPU_PPC64_POWER5 = 5
UC_CPU_PPC64_POWER5P_V21 = 6
UC_CPU_PPC64_POWER6 = 7
UC_CPU_PPC64_POWER_SERVER_MASK = 8
UC_CPU_PPC64_POWER7_BASE = 9
UC_CPU_PPC64_POWER7_V23 = 10
UC_CPU_PPC64_POWER7P_BASE = 11
UC_CPU_PPC64_POWER7P_V21 = 12
UC_CPU_PPC64_POWER8E_BASE = 13
UC_CPU_PPC64_POWER8E_V21 = 14
UC_CPU_PPC64_POWER8_BASE = 15
UC_CPU_PPC64_POWER8_V20 = 16
UC_CPU_PPC64_POWER8NVL_BASE = 17
UC_CPU_PPC64_POWER8NVL_V10 = 18
UC_CPU_PPC64_POWER9_BASE = 19
UC_CPU_PPC64_POWER9_DD1 = 20
UC_CPU_PPC64_POWER9_DD20 = 21
UC_CPU_PPC64_POWER10_BASE = 22
UC_CPU_PPC64_POWER10_DD1 = 23
UC_CPU_PPC64_970_V22 = 24
UC_CPU_PPC64_970FX_V10 = 25
UC_CPU_PPC64_970FX_V20 = 26
UC_CPU_PPC64_970FX_V21 = 27
UC_CPU_PPC64_970FX_V30 = 28
UC_CPU_PPC64_970FX_V31 = 29
UC_CPU_PPC64_970MP_V10 = 30
UC_CPU_PPC64_970MP_V11 = 31
UC_CPU_PPC64_CELL_V10 = 32
UC_CPU_PPC64_CELL_V20 = 33
UC_CPU_PPC64_CELL_V30 = 34
UC_CPU_PPC64_CELL_V31 = 35
UC_CPU_PPC64_RS64 = 36
UC_CPU_PPC64_RS64II = 37
UC_CPU_PPC64_RS64III = 38
UC_CPU_PPC64_RS64IV = 39
UC_CPU_PPC64_CELL_V32 = 35
UC_CPU_PPC64_CELL = 35
# PPC registers
UC_PPC_REG_INVALID = 0

View File

@ -2,6 +2,16 @@
module UnicornEngine
UC_CPU_RISCV32_ANY = 0
UC_CPU_RISCV32_BASE32 = 1
UC_CPU_RISCV32_SIFIVE_E31 = 2
UC_CPU_RISCV32_SIFIVE_U34 = 3
UC_CPU_RISCV64_ANY = 0
UC_CPU_RISCV64_BASE64 = 1
UC_CPU_RISCV64_SIFIVE_E51 = 2
UC_CPU_RISCV64_SIFIVE_U54 = 3
# RISCV registers
UC_RISCV_REG_INVALID = 0

View File

@ -2,6 +2,38 @@
module UnicornEngine
UC_CPU_SPARC_FUJITSU_MB86904 = 0
UC_CPU_SPARC_FUJITSU_MB86907 = 1
UC_CPU_SPARC_TI_MICROSPARC_I = 2
UC_CPU_SPARC_TI_MICROSPARC_II = 3
UC_CPU_SPARC_TI_MICROSPARC_IIEP = 4
UC_CPU_SPARC_TI_SUPERSPARC_40 = 5
UC_CPU_SPARC_TI_SUPERSPARC_50 = 6
UC_CPU_SPARC_TI_SUPERSPARC_51 = 7
UC_CPU_SPARC_TI_SUPERSPARC_60 = 8
UC_CPU_SPARC_TI_SUPERSPARC_61 = 9
UC_CPU_SPARC_TI_SUPERSPARC_II = 10
UC_CPU_SPARC_LEON2 = 11
UC_CPU_SPARC_LEON3 = 12
UC_CPU_SPARC64_FUJITSU = 0
UC_CPU_SPARC64_FUJITSU_III = 1
UC_CPU_SPARC64_FUJITSU_IV = 2
UC_CPU_SPARC64_FUJITSU_V = 3
UC_CPU_SPARC64_TI_ULTRASPARC_I = 4
UC_CPU_SPARC64_TI_ULTRASPARC_II = 5
UC_CPU_SPARC64_TI_ULTRASPARC_III = 6
UC_CPU_SPARC64_TI_ULTRASPARC_IIE = 7
UC_CPU_SPARC64_SUN_ULTRASPARC_III = 8
UC_CPU_SPARC64_SUN_ULTRASPARC_III_CU = 9
UC_CPU_SPARC64_SUN_ULTRASPARC_IIII = 10
UC_CPU_SPARC64_SUN_ULTRASPARC_IV = 11
UC_CPU_SPARC64_SUN_ULTRASPARC_IV_PLUS = 12
UC_CPU_SPARC64_SUN_ULTRASPARC_IIII_PLUS = 13
UC_CPU_SPARC64_SUN_ULTRASPARC_T1 = 14
UC_CPU_SPARC64_SUN_ULTRASPARC_T2 = 15
UC_CPU_SPARC64_NEC_ULTRASPARC_I = 16
# SPARC registers
UC_SPARC_REG_INVALID = 0

View File

@ -107,6 +107,22 @@ module UnicornEngine
UC_QUERY_ARCH = 3
UC_QUERY_TIMEOUT = 4
UC_CTL_IO_NONE = 0
UC_CTL_IO_WRITE = 1
UC_CTL_IO_READ = 2
UC_CTL_IO_READ_WRITE = 3
UC_CTL_UC_MODE = 0
UC_CTL_UC_PAGE_SIZE = 1
UC_CTL_UC_ARCH = 2
UC_CTL_UC_TIMEOUT = 3
UC_CTL_UC_EXITS_CNT = 4
UC_CTL_UC_EXITS = 5
UC_CTL_CPU_MODEL = 6
UC_CTL_TB_EDGE = 7
UC_CTL_TB_REQUEST_CACHE = 8
UC_CTL_TB_REMOVE_CACHE = 9
UC_PROT_NONE = 0
UC_PROT_READ = 1
UC_PROT_WRITE = 2

View File

@ -2,6 +2,45 @@
module UnicornEngine
UC_CPU_X86_QEMU64 = 0
UC_CPU_X86_PHENOM = 1
UC_CPU_X86_CORE2DUO = 2
UC_CPU_X86_KVM64 = 3
UC_CPU_X86_QEMU32 = 4
UC_CPU_X86_KVM32 = 5
UC_CPU_X86_COREDUO = 6
UC_CPU_X86_486 = 7
UC_CPU_X86_PENTIUM = 8
UC_CPU_X86_PENTIUM2 = 9
UC_CPU_X86_PENTIUM3 = 10
UC_CPU_X86_ATHLON = 11
UC_CPU_X86_N270 = 12
UC_CPU_X86_CONROE = 13
UC_CPU_X86_PENRYN = 14
UC_CPU_X86_NEHALEM = 15
UC_CPU_X86_WESTMERE = 16
UC_CPU_X86_SANDYBRIDGE = 17
UC_CPU_X86_IVYBRIDGE = 18
UC_CPU_X86_HASWELL = 19
UC_CPU_X86_BROADWELL = 20
UC_CPU_X86_SKYLAKE_CLIENT = 21
UC_CPU_X86_SKYLAKE_SERVER = 22
UC_CPU_X86_CASCADELAKE_SERVER = 23
UC_CPU_X86_COOPERLAKE = 24
UC_CPU_X86_ICELAKE_CLIENT = 25
UC_CPU_X86_ICELAKE_SERVER = 26
UC_CPU_X86_DENVERTON = 27
UC_CPU_X86_SNOWRIDGE = 28
UC_CPU_X86_KNIGHTSMILL = 29
UC_CPU_X86_OPTERON_G1 = 30
UC_CPU_X86_OPTERON_G2 = 31
UC_CPU_X86_OPTERON_G3 = 32
UC_CPU_X86_OPTERON_G4 = 33
UC_CPU_X86_OPTERON_G5 = 34
UC_CPU_X86_EPYC = 35
UC_CPU_X86_DHYANA = 36
UC_CPU_X86_EPYC_ROME = 37
# X86 registers
UC_X86_REG_INVALID = 0

View File

@ -15,6 +15,42 @@ extern "C" {
#pragma warning(disable : 4201)
#endif
typedef enum uc_cpu_arm {
UC_CPU_ARM_926 = 0,
UC_CPU_ARM_946,
UC_CPU_ARM_1026,
UC_CPU_ARM_1136_R2,
UC_CPU_ARM_1136,
UC_CPU_ARM_1176,
UC_CPU_ARM_11MPCORE,
UC_CPU_ARM_CORTEX_M0,
UC_CPU_ARM_CORTEX_M3,
UC_CPU_ARM_CORTEX_M4,
UC_CPU_ARM_CORTEX_M7,
UC_CPU_ARM_CORTEX_M33,
UC_CPU_ARM_CORTEX_R5,
UC_CPU_ARM_CORTEX_R5F,
UC_CPU_ARM_CORTEX_A8,
UC_CPU_ARM_CORTEX_A9,
UC_CPU_ARM_CORTEX_A7,
UC_CPU_ARM_CORTEX_A15,
UC_CPU_ARM_TI925T,
UC_CPU_ARM_SA1100,
UC_CPU_ARM_SA1110,
UC_CPU_ARM_PXA250,
UC_CPU_ARM_PXA255,
UC_CPU_ARM_PXA260,
UC_CPU_ARM_PXA261,
UC_CPU_ARM_PXA262,
UC_CPU_ARM_PXA270A0,
UC_CPU_ARM_PXA270A1,
UC_CPU_ARM_PXA270B0,
UC_CPU_ARM_PXA270B1,
UC_CPU_ARM_PXA270C0,
UC_CPU_ARM_PXA270C5,
UC_CPU_ARM_MAX
} uc_cpu_arm;
//> ARM registers
typedef enum uc_arm_reg {
UC_ARM_REG_INVALID = 0,

View File

@ -15,6 +15,13 @@ extern "C" {
#pragma warning(disable : 4201)
#endif
typedef enum uc_cpu_aarch64 {
UC_CPU_AARCH64_A57 = 0,
UC_CPU_AARCH64_A53,
UC_CPU_AARCH64_A72,
UC_CPU_AARCH64_MAX
} uc_cpu_aarch64;
//> ARM64 registers
typedef enum uc_arm64_reg {
UC_ARM64_REG_INVALID = 0,

View File

@ -15,6 +15,18 @@ extern "C" {
#pragma warning(disable : 4201)
#endif
typedef enum uc_cpu_m68k {
UC_CPU_M5206_CPU = 0,
UC_CPU_M68000_CPU,
UC_CPU_M68020_CPU,
UC_CPU_M68030_CPU,
UC_CPU_M68040_CPU,
UC_CPU_M68060_CPU,
UC_CPU_M5208_CPU,
UC_CPU_CFV4E_CPU,
UC_CPU_ANY_CPU,
} uc_cpu_m68k;
//> M68K registers
typedef enum uc_m68k_reg {
UC_M68K_REG_INVALID = 0,

View File

@ -19,6 +19,38 @@ extern "C" {
#pragma warning(disable : 4201)
#endif
typedef enum uc_cpu_mips {
UC_CPU_MIPS_4KC = 0,
UC_CPU_MIPS_4KM,
UC_CPU_MIPS_4KECR1,
UC_CPU_MIPS_4KEMR1,
UC_CPU_MIPS_4KEC,
UC_CPU_MIPS_4KEM,
UC_CPU_MIPS_24KC,
UC_CPU_MIPS_24KEC,
UC_CPU_MIPS_24KF,
UC_CPU_MIPS_34KF,
UC_CPU_MIPS_74KF,
UC_CPU_MIPS_M14K,
UC_CPU_MIPS_M14KC,
UC_CPU_MIPS_P5600,
UC_CPU_MIPS_MIPS32R6_GENERIC,
UC_CPU_MIPS_I7200,
UC_CPU_MIPS_R4000,
UC_CPU_MIPS_VR5432,
UC_CPU_MIPS_5KC,
UC_CPU_MIPS_5KF,
UC_CPU_MIPS_20KC,
UC_CPU_MIPS_MIPS64R2_GENERIC,
UC_CPU_MIPS_5KEC,
UC_CPU_MIPS_5KEF,
UC_CPU_MIPS_I6400,
UC_CPU_MIPS_I6500,
UC_CPU_MIPS_LOONGSON_2E,
UC_CPU_MIPS_LOONGSON_2F,
UC_CPU_MIPS_MIPS64DSPR2
} uc_cpu_mips;
//> MIPS registers
typedef enum UC_MIPS_REG {
UC_MIPS_REG_INVALID = 0,

View File

@ -15,6 +15,311 @@ extern "C" {
#pragma warning(disable : 4201)
#endif
typedef enum uc_cpu_ppc {
UC_CPU_PPC_401A1 = 0,
UC_CPU_PPC_401B2,
UC_CPU_PPC_401C2,
UC_CPU_PPC_401D2,
UC_CPU_PPC_401E2,
UC_CPU_PPC_401F2,
UC_CPU_PPC_401G2,
UC_CPU_PPC_COBRA,
UC_CPU_PPC_403GA,
UC_CPU_PPC_403GB,
UC_CPU_PPC_403GC,
UC_CPU_PPC_403GCX,
UC_CPU_PPC_405D2,
UC_CPU_PPC_405D4,
UC_CPU_PPC_405CRA,
UC_CPU_PPC_405CRB,
UC_CPU_PPC_405CRC,
UC_CPU_PPC_405EP,
UC_CPU_PPC_405EZ,
UC_CPU_PPC_405GPA,
UC_CPU_PPC_405GPB,
UC_CPU_PPC_405GPC,
UC_CPU_PPC_405GPD,
UC_CPU_PPC_405GPR,
UC_CPU_PPC_405LP,
UC_CPU_PPC_NPE405H,
UC_CPU_PPC_NPE405H2,
UC_CPU_PPC_NPE405L,
UC_CPU_PPC_NPE4GS3,
UC_CPU_PPC_STB03,
UC_CPU_PPC_STB04,
UC_CPU_PPC_STB25,
UC_CPU_PPC_X2VP4,
UC_CPU_PPC_440_XILINX,
UC_CPU_PPC_440EPA,
UC_CPU_PPC_440EPB,
UC_CPU_PPC_440GPB,
UC_CPU_PPC_440GPC,
UC_CPU_PPC_440GRX,
UC_CPU_PPC_440GXA,
UC_CPU_PPC_440GXB,
UC_CPU_PPC_440GXC,
UC_CPU_PPC_440GXF,
UC_CPU_PPC_440SP,
UC_CPU_PPC_440SP2,
UC_CPU_PPC_440SPE,
UC_CPU_PPC_460EXB,
UC_CPU_PPC_MPC5XX,
UC_CPU_PPC_MPC8XX,
UC_CPU_PPC_G2,
UC_CPU_PPC_G2H4,
UC_CPU_PPC_G2GP,
UC_CPU_PPC_G2LS,
UC_CPU_PPC_MPC603,
UC_CPU_PPC_G2_HIP3,
UC_CPU_PPC_G2_HIP4,
UC_CPU_PPC_G2LE,
UC_CPU_PPC_G2LEGP,
UC_CPU_PPC_G2LELS,
UC_CPU_PPC_G2LEGP1,
UC_CPU_PPC_G2LEGP3,
UC_CPU_PPC_E200Z5,
UC_CPU_PPC_E200Z6,
UC_CPU_PPC_E300C1,
UC_CPU_PPC_E300C2,
UC_CPU_PPC_E300C3,
UC_CPU_PPC_E300C4,
UC_CPU_PPC_E500V1_V10,
UC_CPU_PPC_E500V1_V20,
UC_CPU_PPC_E500V2_V10,
UC_CPU_PPC_E500V2_V11,
UC_CPU_PPC_E500V2_V20,
UC_CPU_PPC_E500V2_V21,
UC_CPU_PPC_E500V2_V22,
UC_CPU_PPC_E500V2_V30,
UC_CPU_PPC_E500MC,
UC_CPU_PPC_E5500,
UC_CPU_PPC_E6500,
UC_CPU_PPC_E600,
UC_CPU_PPC_601_V0,
UC_CPU_PPC_601_V1,
UC_CPU_PPC_601_V2,
UC_CPU_PPC_602,
UC_CPU_PPC_603,
UC_CPU_PPC_603E_V11,
UC_CPU_PPC_603E_V12,
UC_CPU_PPC_603E_V13,
UC_CPU_PPC_603E_V14,
UC_CPU_PPC_603E_V22,
UC_CPU_PPC_603E_V3,
UC_CPU_PPC_603E_V4,
UC_CPU_PPC_603E_V41,
UC_CPU_PPC_603E7T,
UC_CPU_PPC_603E7V,
UC_CPU_PPC_603E7V1,
UC_CPU_PPC_603E7V2,
UC_CPU_PPC_603E7,
UC_CPU_PPC_603P,
UC_CPU_PPC_604,
UC_CPU_PPC_604E_V10,
UC_CPU_PPC_604E_V22,
UC_CPU_PPC_604E_V24,
UC_CPU_PPC_604R,
UC_CPU_PPC_7X0_V10,
UC_CPU_PPC_7X0_V20,
UC_CPU_PPC_7X0_V21,
UC_CPU_PPC_7X0_V22,
UC_CPU_PPC_7X0_V30,
UC_CPU_PPC_7X0_V31,
UC_CPU_PPC_740E,
UC_CPU_PPC_750E,
UC_CPU_PPC_7X0P,
UC_CPU_PPC_750CL_V10,
UC_CPU_PPC_750CL_V20,
UC_CPU_PPC_750CX_V10,
UC_CPU_PPC_750CX_V20,
UC_CPU_PPC_750CX_V21,
UC_CPU_PPC_750CX_V22,
UC_CPU_PPC_750CXE_V21,
UC_CPU_PPC_750CXE_V22,
UC_CPU_PPC_750CXE_V23,
UC_CPU_PPC_750CXE_V24,
UC_CPU_PPC_750CXE_V24B,
UC_CPU_PPC_750CXE_V30,
UC_CPU_PPC_750CXE_V31,
UC_CPU_PPC_750CXE_V31B,
UC_CPU_PPC_750CXR,
UC_CPU_PPC_750FL,
UC_CPU_PPC_750FX_V10,
UC_CPU_PPC_750FX_V20,
UC_CPU_PPC_750FX_V21,
UC_CPU_PPC_750FX_V22,
UC_CPU_PPC_750FX_V23,
UC_CPU_PPC_750GL,
UC_CPU_PPC_750GX_V10,
UC_CPU_PPC_750GX_V11,
UC_CPU_PPC_750GX_V12,
UC_CPU_PPC_750L_V20,
UC_CPU_PPC_750L_V21,
UC_CPU_PPC_750L_V22,
UC_CPU_PPC_750L_V30,
UC_CPU_PPC_750L_V32,
UC_CPU_PPC_7X5_V10,
UC_CPU_PPC_7X5_V11,
UC_CPU_PPC_7X5_V20,
UC_CPU_PPC_7X5_V21,
UC_CPU_PPC_7X5_V22,
UC_CPU_PPC_7X5_V23,
UC_CPU_PPC_7X5_V24,
UC_CPU_PPC_7X5_V25,
UC_CPU_PPC_7X5_V26,
UC_CPU_PPC_7X5_V27,
UC_CPU_PPC_7X5_V28,
UC_CPU_PPC_7400_V10,
UC_CPU_PPC_7400_V11,
UC_CPU_PPC_7400_V20,
UC_CPU_PPC_7400_V21,
UC_CPU_PPC_7400_V22,
UC_CPU_PPC_7400_V26,
UC_CPU_PPC_7400_V27,
UC_CPU_PPC_7400_V28,
UC_CPU_PPC_7400_V29,
UC_CPU_PPC_7410_V10,
UC_CPU_PPC_7410_V11,
UC_CPU_PPC_7410_V12,
UC_CPU_PPC_7410_V13,
UC_CPU_PPC_7410_V14,
UC_CPU_PPC_7448_V10,
UC_CPU_PPC_7448_V11,
UC_CPU_PPC_7448_V20,
UC_CPU_PPC_7448_V21,
UC_CPU_PPC_7450_V10,
UC_CPU_PPC_7450_V11,
UC_CPU_PPC_7450_V12,
UC_CPU_PPC_7450_V20,
UC_CPU_PPC_7450_V21,
UC_CPU_PPC_74X1_V23,
UC_CPU_PPC_74X1_V210,
UC_CPU_PPC_74X5_V10,
UC_CPU_PPC_74X5_V21,
UC_CPU_PPC_74X5_V32,
UC_CPU_PPC_74X5_V33,
UC_CPU_PPC_74X5_V34,
UC_CPU_PPC_74X7_V10,
UC_CPU_PPC_74X7_V11,
UC_CPU_PPC_74X7_V12,
UC_CPU_PPC_74X7A_V10,
UC_CPU_PPC_74X7A_V11,
UC_CPU_PPC_74X7A_V12,
UC_CPU_PPC_IOP480 = UC_CPU_PPC_401B2,
UC_CPU_PPC_X2VP20 = UC_CPU_PPC_440GXF,
UC_CPU_PPC_440GRA = UC_CPU_PPC_440EPB,
UC_CPU_PPC_440EPX = UC_CPU_PPC_440GRX,
UC_CPU_PPC_MPC5200_V10 = UC_CPU_PPC_G2LEGP1,
UC_CPU_PPC_MPC5200_V11 = UC_CPU_PPC_G2LEGP1,
UC_CPU_PPC_MPC5200_V12 = UC_CPU_PPC_G2LEGP1,
UC_CPU_PPC_MPC5200B_V20 = UC_CPU_PPC_G2LEGP1,
UC_CPU_PPC_MPC5200B_V21 = UC_CPU_PPC_G2LEGP1,
UC_CPU_PPC_MPC834X = UC_CPU_PPC_E300C1,
UC_CPU_PPC_MPC837X = UC_CPU_PPC_E300C4,
UC_CPU_PPC_E500 = UC_CPU_PPC_E500V2_V22,
UC_CPU_PPC_MPC8533_V10 = UC_CPU_PPC_E500V2_V21,
UC_CPU_PPC_MPC8533_V11 = UC_CPU_PPC_E500V2_V22,
UC_CPU_PPC_MPC8533E_V10 = UC_CPU_PPC_E500V2_V21,
UC_CPU_PPC_MPC8533E_V11 = UC_CPU_PPC_E500V2_V22,
UC_CPU_PPC_MPC8540_V10 = UC_CPU_PPC_E500V1_V10,
UC_CPU_PPC_MPC8540_V20 = UC_CPU_PPC_E500V1_V20,
UC_CPU_PPC_MPC8540_V21 = UC_CPU_PPC_E500V1_V20,
UC_CPU_PPC_MPC8541_V10 = UC_CPU_PPC_E500V1_V20,
UC_CPU_PPC_MPC8541_V11 = UC_CPU_PPC_E500V1_V20,
UC_CPU_PPC_MPC8541E_V10 = UC_CPU_PPC_E500V1_V20,
UC_CPU_PPC_MPC8541E_V11 = UC_CPU_PPC_E500V1_V20,
UC_CPU_PPC_MPC8543_V10 = UC_CPU_PPC_E500V2_V10,
UC_CPU_PPC_MPC8543_V11 = UC_CPU_PPC_E500V2_V11,
UC_CPU_PPC_MPC8543_V20 = UC_CPU_PPC_E500V2_V20,
UC_CPU_PPC_MPC8543_V21 = UC_CPU_PPC_E500V2_V21,
UC_CPU_PPC_MPC8543E_V10 = UC_CPU_PPC_E500V2_V10,
UC_CPU_PPC_MPC8543E_V11 = UC_CPU_PPC_E500V2_V11,
UC_CPU_PPC_MPC8543E_V20 = UC_CPU_PPC_E500V2_V20,
UC_CPU_PPC_MPC8543E_V21 = UC_CPU_PPC_E500V2_V21,
UC_CPU_PPC_MPC8544_V10 = UC_CPU_PPC_E500V2_V21,
UC_CPU_PPC_MPC8544_V11 = UC_CPU_PPC_E500V2_V22,
UC_CPU_PPC_MPC8544E_V11 = UC_CPU_PPC_E500V2_V22,
UC_CPU_PPC_MPC8544E_V10 = UC_CPU_PPC_E500V2_V21,
UC_CPU_PPC_MPC8545_V10 = UC_CPU_PPC_E500V2_V10,
UC_CPU_PPC_MPC8545_V20 = UC_CPU_PPC_E500V2_V20,
UC_CPU_PPC_MPC8545_V21 = UC_CPU_PPC_E500V2_V21,
UC_CPU_PPC_MPC8545E_V10 = UC_CPU_PPC_E500V2_V10,
UC_CPU_PPC_MPC8545E_V20 = UC_CPU_PPC_E500V2_V20,
UC_CPU_PPC_MPC8545E_V21 = UC_CPU_PPC_E500V2_V21,
UC_CPU_PPC_MPC8547E_V10 = UC_CPU_PPC_E500V2_V10,
UC_CPU_PPC_MPC8547E_V20 = UC_CPU_PPC_E500V2_V20,
UC_CPU_PPC_MPC8547E_V21 = UC_CPU_PPC_E500V2_V21,
UC_CPU_PPC_MPC8548_V10 = UC_CPU_PPC_E500V2_V10,
UC_CPU_PPC_MPC8548_V11 = UC_CPU_PPC_E500V2_V11,
UC_CPU_PPC_MPC8548_V20 = UC_CPU_PPC_E500V2_V20,
UC_CPU_PPC_MPC8548_V21 = UC_CPU_PPC_E500V2_V21,
UC_CPU_PPC_MPC8548E_V10 = UC_CPU_PPC_E500V2_V10,
UC_CPU_PPC_MPC8548E_V11 = UC_CPU_PPC_E500V2_V11,
UC_CPU_PPC_MPC8548E_V20 = UC_CPU_PPC_E500V2_V20,
UC_CPU_PPC_MPC8548E_V21 = UC_CPU_PPC_E500V2_V21,
UC_CPU_PPC_MPC8555_V10 = UC_CPU_PPC_E500V2_V10,
UC_CPU_PPC_MPC8555_V11 = UC_CPU_PPC_E500V2_V11,
UC_CPU_PPC_MPC8555E_V10 = UC_CPU_PPC_E500V2_V10,
UC_CPU_PPC_MPC8555E_V11 = UC_CPU_PPC_E500V2_V11,
UC_CPU_PPC_MPC8560_V10 = UC_CPU_PPC_E500V2_V10,
UC_CPU_PPC_MPC8560_V20 = UC_CPU_PPC_E500V2_V20,
UC_CPU_PPC_MPC8560_V21 = UC_CPU_PPC_E500V2_V21,
UC_CPU_PPC_MPC8567 = UC_CPU_PPC_E500V2_V22,
UC_CPU_PPC_MPC8567E = UC_CPU_PPC_E500V2_V22,
UC_CPU_PPC_MPC8568 = UC_CPU_PPC_E500V2_V22,
UC_CPU_PPC_MPC8568E = UC_CPU_PPC_E500V2_V22,
UC_CPU_PPC_MPC8572 = UC_CPU_PPC_E500V2_V30,
UC_CPU_PPC_MPC8572E = UC_CPU_PPC_E500V2_V30,
UC_CPU_PPC_MPC8610 = UC_CPU_PPC_E600,
UC_CPU_PPC_MPC8641 = UC_CPU_PPC_E600,
UC_CPU_PPC_MPC8641D = UC_CPU_PPC_E600,
} uc_cpu_ppc;
typedef enum uc_cpu_ppc64 {
UC_CPU_PPC64_620 = 0,
UC_CPU_PPC64_630,
UC_CPU_PPC64_631,
UC_CPU_PPC64_POWER4,
UC_CPU_PPC64_POWER4P,
UC_CPU_PPC64_POWER5,
UC_CPU_PPC64_POWER5P_V21,
UC_CPU_PPC64_POWER6,
UC_CPU_PPC64_POWER_SERVER_MASK,
UC_CPU_PPC64_POWER7_BASE,
UC_CPU_PPC64_POWER7_V23,
UC_CPU_PPC64_POWER7P_BASE,
UC_CPU_PPC64_POWER7P_V21,
UC_CPU_PPC64_POWER8E_BASE,
UC_CPU_PPC64_POWER8E_V21,
UC_CPU_PPC64_POWER8_BASE,
UC_CPU_PPC64_POWER8_V20,
UC_CPU_PPC64_POWER8NVL_BASE,
UC_CPU_PPC64_POWER8NVL_V10,
UC_CPU_PPC64_POWER9_BASE,
UC_CPU_PPC64_POWER9_DD1,
UC_CPU_PPC64_POWER9_DD20,
UC_CPU_PPC64_POWER10_BASE,
UC_CPU_PPC64_POWER10_DD1,
UC_CPU_PPC64_970_V22,
UC_CPU_PPC64_970FX_V10,
UC_CPU_PPC64_970FX_V20,
UC_CPU_PPC64_970FX_V21,
UC_CPU_PPC64_970FX_V30,
UC_CPU_PPC64_970FX_V31,
UC_CPU_PPC64_970MP_V10,
UC_CPU_PPC64_970MP_V11,
UC_CPU_PPC64_CELL_V10,
UC_CPU_PPC64_CELL_V20,
UC_CPU_PPC64_CELL_V30,
UC_CPU_PPC64_CELL_V31,
UC_CPU_PPC64_RS64,
UC_CPU_PPC64_RS64II,
UC_CPU_PPC64_RS64III,
UC_CPU_PPC64_RS64IV,
UC_CPU_PPC64_CELL_V32 = UC_CPU_PPC64_CELL_V31,
UC_CPU_PPC64_CELL = UC_CPU_PPC64_CELL_V32,
} uc_cpu_ppc64;
//> PPC registers
typedef enum uc_ppc_reg {
UC_PPC_REG_INVALID = 0,

View File

@ -15,6 +15,20 @@ extern "C" {
#pragma warning(disable : 4201)
#endif
typedef enum uc_cpu_riscv32 {
UC_CPU_RISCV32_ANY = 0,
UC_CPU_RISCV32_BASE32,
UC_CPU_RISCV32_SIFIVE_E31,
UC_CPU_RISCV32_SIFIVE_U34,
} uc_cpu_riscv32;
typedef enum uc_cpu_riscv64 {
UC_CPU_RISCV64_ANY = 0,
UC_CPU_RISCV64_BASE64,
UC_CPU_RISCV64_SIFIVE_E51,
UC_CPU_RISCV64_SIFIVE_U54,
} uc_cpu_riscv64;
//> RISCV registers
typedef enum uc_riscv_reg {
UC_RISCV_REG_INVALID = 0,

View File

@ -19,6 +19,42 @@ extern "C" {
#pragma warning(disable : 4201)
#endif
typedef enum uc_cpu_sparc {
UC_CPU_SPARC_FUJITSU_MB86904 = 0,
UC_CPU_SPARC_FUJITSU_MB86907,
UC_CPU_SPARC_TI_MICROSPARC_I,
UC_CPU_SPARC_TI_MICROSPARC_II,
UC_CPU_SPARC_TI_MICROSPARC_IIEP,
UC_CPU_SPARC_TI_SUPERSPARC_40,
UC_CPU_SPARC_TI_SUPERSPARC_50,
UC_CPU_SPARC_TI_SUPERSPARC_51,
UC_CPU_SPARC_TI_SUPERSPARC_60,
UC_CPU_SPARC_TI_SUPERSPARC_61,
UC_CPU_SPARC_TI_SUPERSPARC_II,
UC_CPU_SPARC_LEON2,
UC_CPU_SPARC_LEON3
} uc_cpu_sparc;
typedef enum uc_cpu_sparc64 {
UC_CPU_SPARC64_FUJITSU = 0,
UC_CPU_SPARC64_FUJITSU_III,
UC_CPU_SPARC64_FUJITSU_IV,
UC_CPU_SPARC64_FUJITSU_V,
UC_CPU_SPARC64_TI_ULTRASPARC_I,
UC_CPU_SPARC64_TI_ULTRASPARC_II,
UC_CPU_SPARC64_TI_ULTRASPARC_III,
UC_CPU_SPARC64_TI_ULTRASPARC_IIE,
UC_CPU_SPARC64_SUN_ULTRASPARC_III,
UC_CPU_SPARC64_SUN_ULTRASPARC_III_CU,
UC_CPU_SPARC64_SUN_ULTRASPARC_IIII,
UC_CPU_SPARC64_SUN_ULTRASPARC_IV,
UC_CPU_SPARC64_SUN_ULTRASPARC_IV_PLUS,
UC_CPU_SPARC64_SUN_ULTRASPARC_IIII_PLUS,
UC_CPU_SPARC64_SUN_ULTRASPARC_T1,
UC_CPU_SPARC64_SUN_ULTRASPARC_T2,
UC_CPU_SPARC64_NEC_ULTRASPARC_I,
} uc_cpu_sparc64;
//> SPARC registers
typedef enum uc_sparc_reg {
UC_SPARC_REG_INVALID = 0,

View File

@ -391,6 +391,108 @@ typedef enum uc_query_type {
// result = True)
} uc_query_type;
// The implementation of uc_ctl is like what Linux ioctl does but slightly
// different.
//
// A uc_control_type passed to uc_ctl is constructed as:
//
// R/W NR Reserved Type
// [ ] [ ] [ ] [ ]
// 31 30 29 26 25 16 15 0
//
// @R/W: Whether the operation is a read or write access.
// @NR: Number of arguments.
// @Reserved: Should be zero, reserved for future extension.
// @Type: Taken from uc_control_type enum.
//
// See the helper macros below.
// No input and output arguments.
#define UC_CTL_IO_NONE (0)
// The arguments are used for input.
#define UC_CTL_IO_WRITE (1)
// The arguments are used for ouput.
#define UC_CTL_IO_READ (2)
// The arguments include both input and output arugments.
#define UC_CTL_IO_READ_WRITE (UC_CTL_IO_WRITE | UC_CTL_IO_READ)
#define UC_CTL(type, nr, rw) ((type) | ((nr) << 26) | ((rw) << 30))
#define UC_CTL_NONE(type, nr) UC_CTL(type, nr, UC_CTL_IO_NONE)
#define UC_CTL_READ(type, nr) UC_CTL(type, nr, UC_CTL_IO_READ)
#define UC_CTL_WRITE(type, nr) UC_CTL(type, nr, UC_CTL_IO_WRITE)
#define UC_CTL_READ_WRITE(type, nr) UC_CTL(type, nr, UC_CTL_IO_READ_WRITE)
// All type of controls for uc_ctl API.
// The controls are organized in a tree level.
// If a control don't have `Set` or `Get` for @args, it means it's r/o or w/o.
typedef enum uc_control_type {
// Current mode.
// Read: @args = (*int)
UC_CTL_UC_MODE = 0,
// Curent page size.
// Write: @args = (int)
// Read: @args = (*int)
UC_CTL_UC_PAGE_SIZE,
// Current arch.
// Read: @args = (*int)
UC_CTL_UC_ARCH,
// Current timeout.
// Read: @args = (*uint64_t)
UC_CTL_UC_TIMEOUT,
// The number of current exists.
// Read: @args = (*size_t)
UC_CTL_UC_EXITS_CNT,
// Current exists.
// Write: @args = (*uint64_t exists, size_t len)
// @len = UC_CTL_UC_EXITS_CNT
// Read: @args = (*uint64_t exists, size_t len)
// @len = UC_CTL_UC_EXITS_CNT
UC_CTL_UC_EXITS,
// Set the cpu model of uc.
// Note this option can only be set before any Unicorn
// API is called except for uc_open.
// Write: @args = (int)
// Read: @args = (int)
UC_CTL_CPU_MODEL,
// Request the edge of two TBs.
// Read: @args = (uint64_t, uint64_t, *uint64_t)
UC_CTL_TB_EDGE,
// Request a tb cache at a specific address
// Read: @args = (uint64_t)
UC_CTL_TB_REQUEST_CACHE,
// Remove a tb cache at a specific address
// Read: @args = (uint64_t)
UC_CTL_TB_REMOVE_CACHE
} uc_control_type;
#define uc_ctl_get_mode(uc, mode) \
uc_ctl(uc, UC_CTL_READ(UC_CTL_UC_MODE, 1), (mode))
#define uc_ctl_get_page_size(uc, ptr) \
uc_ctl(uc, UC_CTL_READ(UC_CTL_UC_PAGE_SIZE, 1, (ptr))
#define uc_ctl_set_page_size(uc, page_size) \
uc_ctl(uc, UC_CTL_WRITE(UC_CTL_UC_PAGE_SIZE, 1), (page_size))
#define uc_ctl_get_arch(uc, arch) \
uc_ctl(uc, UC_CTL_READ(UC_CTL_UC_ARCH, 1), (arch))
#define uc_ctl_get_timeout(uc, ptr) \
uc_ctl(uc, UC_CTL_READ(UC_CTL_UC_TIMEOUT, 1), (ptr))
#define uc_ctl_get_exists_cnt(uc, ptr) \
uc_ctl(uc, UC_CTL_READ(UC_CTL_UC_EXITS_CNT, 1), (ptr))
#define uc_ctl_get_exists(uc, buffer, len) \
uc_ctl(uc, UC_CTL_READ(UC_CTL_UC_EXITS, 2), (buffer), (len))
#define uc_ctl_set_exists(uc, buffer, len) \
uc_ctl(uc, UC_CTL_WRITE(UC_CTL_UC_EXITS, 2), (buffer), (len))
#define uc_ctl_get_cpu_model(uc, model) \
uc_ctl(uc, UC_CTL_READ(UC_CTL_CPU_MODEL, 1), (model))
#define uc_ctl_set_cpu_model(uc, model) \
uc_ctl(uc, UC_CTL_WRITE(UC_CTL_CPU_MODEL, 1), (model))
#define uc_ctl_remove_cache(uc, address) \
uc_ctl(uc, UC_CTL_WRITE(UC_CTL_TB_REMOVE_CACHE, 1), (address))
#define uc_ctl_request_cache(uc, address) \
uc_ctl(uc, UC_CTL_WRITE(UC_CTL_TB_REQUEST_CACHE, 1), (address))
#define uc_ctl_get_edge(uc, addr1, addr2, ptr) \
uc_ctl(uc, UC_CTL_READ_WRITE(UC_CTL_TB_EDGE, 3), (addr1), (addr2), (ptr))
// Opaque storage for CPU context, used with uc_context_*()
struct uc_context;
typedef struct uc_context uc_context;
@ -467,6 +569,20 @@ uc_err uc_close(uc_engine *uc);
UNICORN_EXPORT
uc_err uc_query(uc_engine *uc, uc_query_type type, size_t *result);
/*
Control internal states of engine.
Also see uc_ctl_* macro helpers for easy use.
@uc: handle returned by uc_open()
@option: control type.
@args: See uc_control_type for details about variadic arguments.
@return: error code of uc_err enum type (UC_ERR_*, see above)
*/
UNICORN_EXPORT
uc_err uc_ctl(uc_engine *uc, uc_control_type option, ...);
/*
Report the last error number when some API function fail.
Like glibc's errno, uc_errno might not retain its old value once accessed.

View File

@ -13,6 +13,47 @@ extern "C" {
#include "platform.h"
typedef enum uc_cpu_x86 {
UC_CPU_X86_QEMU64 = 0,
UC_CPU_X86_PHENOM,
UC_CPU_X86_CORE2DUO,
UC_CPU_X86_KVM64,
UC_CPU_X86_QEMU32,
UC_CPU_X86_KVM32,
UC_CPU_X86_COREDUO,
UC_CPU_X86_486,
UC_CPU_X86_PENTIUM,
UC_CPU_X86_PENTIUM2,
UC_CPU_X86_PENTIUM3,
UC_CPU_X86_ATHLON,
UC_CPU_X86_N270,
UC_CPU_X86_CONROE,
UC_CPU_X86_PENRYN,
UC_CPU_X86_NEHALEM,
UC_CPU_X86_WESTMERE,
UC_CPU_X86_SANDYBRIDGE,
UC_CPU_X86_IVYBRIDGE,
UC_CPU_X86_HASWELL,
UC_CPU_X86_BROADWELL,
UC_CPU_X86_SKYLAKE_CLIENT,
UC_CPU_X86_SKYLAKE_SERVER,
UC_CPU_X86_CASCADELAKE_SERVER,
UC_CPU_X86_COOPERLAKE,
UC_CPU_X86_ICELAKE_CLIENT,
UC_CPU_X86_ICELAKE_SERVER,
UC_CPU_X86_DENVERTON,
UC_CPU_X86_SNOWRIDGE,
UC_CPU_X86_KNIGHTSMILL,
UC_CPU_X86_OPTERON_G1,
UC_CPU_X86_OPTERON_G2,
UC_CPU_X86_OPTERON_G3,
UC_CPU_X86_OPTERON_G4,
UC_CPU_X86_OPTERON_G5,
UC_CPU_X86_EPYC,
UC_CPU_X86_DHYANA,
UC_CPU_X86_EPYC_ROME
} uc_cpu_x86;
// Memory-Management Register for instructions IDTR, GDTR, LDTR, TR.
// Borrow from SegmentCache in qemu/target-i386/cpu.h
typedef struct uc_x86_mmr {

6
uc.c
View File

@ -1519,6 +1519,12 @@ uc_err uc_query(uc_engine *uc, uc_query_type type, size_t *result)
return UC_ERR_OK;
}
UNICORN_EXPORT
uc_err uc_ctl(uc_engine *uc, uc_control_type option, ...)
{
return UC_ERR_ARG;
}
UNICORN_EXPORT
uc_err uc_context_alloc(uc_engine *uc, uc_context **context)
{