Changed register list to use precomputed tuples (#866)

* Changed register list to use precomputed tuples

* Changed missing powerpc register list to pre-computed tuple
pull/893/head
Tobias Faller 5 years ago committed by GitHub
parent cd0cd8280e
commit 96df189e97
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -98,14 +98,14 @@ arm_xpsr_flags = collections.OrderedDict([
arm = RegisterSet( retaddr = ('lr',),
flags = {'cpsr': arm_cpsr_flags},
gpr = tuple('r%i' % i for i in range(13)),
gpr = ('r0', 'r1', 'r2', 'r3', 'r4', 'r5', 'r6', 'r7', 'r8', 'r9', 'r10', 'r11', 'r12'),
args = ('r0','r1','r2','r3'),
retval = 'r0')
# ARM Cortex-M
armcm = RegisterSet( retaddr = ('lr',),
flags = {'xpsr': arm_xpsr_flags},
gpr = tuple('r%i' % i for i in range(13)),
gpr = ('r0', 'r1', 'r2', 'r3', 'r4', 'r5', 'r6', 'r7', 'r8', 'r9', 'r10', 'r11', 'r12'),
args = ('r0','r1','r2','r3'),
retval = 'r0')
@ -113,8 +113,12 @@ armcm = RegisterSet( retaddr = ('lr',),
aarch64 = RegisterSet( retaddr = ('lr',),
flags = {'cpsr':{}},
frame = 'x29',
gpr = tuple('x%i' % i for i in range(29)),
misc = tuple('w%i' % i for i in range(29)),
gpr = ('x0', 'x1', 'x2', 'x3', 'x4', 'x5', 'x6', 'x7', 'x8', 'x9',
'x10', 'x11', 'x12', 'x13', 'x14', 'x15', 'x16', 'x17', 'x18', 'x19',
'x20', 'x21', 'x22', 'x23', 'x24', 'x25', 'x26', 'x27', 'x28'),
misc = ('w0', 'w1', 'w2', 'w3', 'w4', 'w5', 'w6', 'w7', 'w8', 'w9',
'w10', 'w11', 'w12', 'w13', 'w14', 'w15', 'w16', 'w17', 'w18', 'w19',
'w20', 'w21', 'w22', 'w23', 'w24', 'w25', 'w26', 'w27', 'w28'),
args = ('x0','x1','x2','x3'),
retval = 'x0')
@ -174,9 +178,12 @@ i386 = RegisterSet( pc = 'eip',
# r31 Used for local variables or "environment pointers"
powerpc = RegisterSet( retaddr = ('lr','r0'),
flags = {'msr':{},'xer':{}},
gpr = tuple('r%i' % i for i in range(3,32)),
gpr = ('r3', 'r4', 'r5', 'r6', 'r7', 'r8', 'r9',
'r10', 'r11', 'r12', 'r13', 'r14', 'r15', 'r16', 'r17', 'r18', 'r19',
'r20', 'r21', 'r22', 'r23', 'r24', 'r25', 'r26', 'r27', 'r28', 'r29',
'r30', 'r31'),
misc = ('cr','lr','r2'),
args = tuple('r%i' for i in range(3,11)),
args = ('r3', 'r4', 'r5', 'r6', 'r7', 'r8', 'r9', 'r10'),
retval = 'r3')
# http://people.cs.clemson.edu/~mark/sparc/sparc_arch_desc.txt
@ -205,19 +212,17 @@ powerpc = RegisterSet( retaddr = ('lr','r0'),
# %i7 == %r31 == for return address |
# ____________________________________/
sparc_gp = tuple(['g%i' % i for i in range(1,8)]
+['o%i' % i for i in range(0,6)]+['o7']
+['l%i' % i for i in range(0,8)]
+['i%i' % i for i in range(0,6)])
sparc = RegisterSet(stack = 'sp',
frame = 'fp',
retaddr = ('i7',),
flags = {'psr':{}},
gpr = sparc_gp,
gpr = ('g1', 'g2', 'g3', 'g4', 'g5', 'g6', 'g7',
'o0', 'o1', 'o2', 'o3', 'o4', 'o5', 'o7',
'l0', 'l1', 'l2', 'l3', 'l4', 'l5', 'l6', 'l7',
'i0', 'i1', 'i2', 'i3', 'i4', 'i5'),
args = ('i0','i1','i2','i3','i4','i5'),
retval = 'o0')
# http://logos.cs.uic.edu/366/notes/mips%20quick%20tutorial.htm
# r0 => zero
# r1 => temporary
@ -233,9 +238,9 @@ sparc = RegisterSet(stack = 'sp',
# r31 => return address
mips = RegisterSet( frame = 'fp',
retaddr = ('ra',),
gpr = ('v0','v1','a0','a1','a2','a3') \
+ tuple('t%i' % i for i in range(10)) \
+ tuple('s%i' % i for i in range(9)),
gpr = ('v0','v1','a0','a1','a2','a3',
't0', 't1', 't2', 't3', 't4', 't5', 't6', 't7', 't8', 't9',
's0', 's1', 's2', 's3', 's4', 's5', 's6', 's7', 's8'),
args = ('a0','a1','a2','a3'),
retval = 'v0')

Loading…
Cancel
Save