arm: fix #114 by enabling cortex-a15 model. FIXME: enable this on demand with an API
This commit is contained in:
@@ -19,7 +19,8 @@
|
|||||||
|
|
||||||
static void tosa_init(struct uc_struct *uc, MachineState *machine)
|
static void tosa_init(struct uc_struct *uc, MachineState *machine)
|
||||||
{
|
{
|
||||||
cpu_arm_init(uc, "pxa255");
|
//cpu_arm_init(uc, "pxa255");
|
||||||
|
cpu_arm_init(uc, "cortex-a15"); // FIXME
|
||||||
}
|
}
|
||||||
|
|
||||||
void tosa_machine_init(struct uc_struct *uc)
|
void tosa_machine_init(struct uc_struct *uc)
|
||||||
|
|||||||
@@ -1,11 +1,17 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
|
|
||||||
from unicorn import *
|
from unicorn import *
|
||||||
|
from unicorn.arm_const import *
|
||||||
|
|
||||||
uc = Uc(UC_ARCH_ARM, UC_MODE_ARM)
|
uc = Uc(UC_ARCH_ARM, UC_MODE_ARM)
|
||||||
uc.mem_map(0x1000, 0x1000)
|
uc.mem_map(0x1000, 0x1000)
|
||||||
uc.mem_write(0x1000, '00c000e3'.decode('hex'))
|
uc.mem_write(0x1000, '00c000e3'.decode('hex'))
|
||||||
def hook_block(uc, addr, *args):
|
def hook_block(uc, addr, *args):
|
||||||
print 'enter block 0x%04x' % addr
|
print 'enter block 0x%04x' % addr
|
||||||
|
|
||||||
|
uc.reg_write(UC_ARM_REG_R12, 0x123)
|
||||||
|
print 'r12 =', uc.reg_read(UC_ARM_REG_R12)
|
||||||
uc.hook_add(UC_HOOK_BLOCK, hook_block)
|
uc.hook_add(UC_HOOK_BLOCK, hook_block)
|
||||||
print 'block should only run once'
|
print 'block should only run once'
|
||||||
uc.emu_start(0x1000, 0x1004, timeout=250)
|
uc.emu_start(0x1000, 0x1004, timeout=250)
|
||||||
|
print 'r12 =', uc.reg_read(UC_ARM_REG_R12)
|
||||||
|
|||||||
Reference in New Issue
Block a user