Commit 13727ecb authored by George Hotz's avatar George Hotz

fix ci

parent 5d012a1f
...@@ -225,6 +225,7 @@ def hook_interrupt(uc, intno, user_data): ...@@ -225,6 +225,7 @@ def hook_interrupt(uc, intno, user_data):
print("exit(%d)" % a0) print("exit(%d)" % a0)
sys.stdout.flush() sys.stdout.flush()
sys.stderr.flush() sys.stderr.flush()
uc.reg_write(UC_MIPS_REG_PC, 0x5ead0000)
#os._exit(a0) #os._exit(a0)
elif syscall_no == 4090 or syscall_no == 4210: elif syscall_no == 4090 or syscall_no == 4210:
a0 = uc.reg_read(UC_MIPS_REG_A0) a0 = uc.reg_read(UC_MIPS_REG_A0)
...@@ -271,14 +272,9 @@ mu.mem_write(0x30000000, inputs) ...@@ -271,14 +272,9 @@ mu.mem_write(0x30000000, inputs)
_, r = load_minigeth(mu) _, r = load_minigeth(mu)
died_well = False
def hook_mem_invalid(uc, access, address, size, value, user_data): def hook_mem_invalid(uc, access, address, size, value, user_data):
global died_well
pc = uc.reg_read(UC_MIPS_REG_PC) pc = uc.reg_read(UC_MIPS_REG_PC)
if pc == 0x5EAD0000:
died_well = True
return False
print("UNMAPPED MEMORY:", access, hex(address), size, "at", hex(pc)) print("UNMAPPED MEMORY:", access, hex(address), size, "at", hex(pc))
return False return False
mu.hook_add(UC_HOOK_MEM_READ_UNMAPPED | UC_HOOK_MEM_WRITE_UNMAPPED, hook_mem_invalid) mu.hook_add(UC_HOOK_MEM_READ_UNMAPPED | UC_HOOK_MEM_WRITE_UNMAPPED, hook_mem_invalid)
...@@ -289,8 +285,10 @@ mu.hook_add(UC_HOOK_INTR, hook_interrupt) ...@@ -289,8 +285,10 @@ mu.hook_add(UC_HOOK_INTR, hook_interrupt)
if tracelevel >= 3: if tracelevel >= 3:
start_instrumenting() start_instrumenting()
died_well = False
try: try:
mu.emu_start(0, -1) mu.emu_start(0, 0x5EAD0000)
died_well = True
except unicorn.UcError: except unicorn.UcError:
pass pass
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment