Several bugfixes (#2049)
* Remove global variable from aarch64 tcg target This obviously breaks trying to run two unicorn instances at once on aarch64. It appears a similar variable had already been moved to the state struct for i386 tcg target. * Reenable writing to jit region while calling tb_add_jump On arm macs, every place that writes to jit code needs to have tb_exec_unlock called first. This is already in most necessary places, but not this one. * Don't forget to call restore_jit_state in uc_context_restore Every time UC_INIT is used, restore_jit_state must be used on the return path, or occasional assertion failures will pop up on arm macs. * Restore pc before calling into tlb fill hook In my application it is important to have correct pc values available from this hook.
This commit is contained in:
@@ -55,6 +55,8 @@ bool unicorn_fill_tlb(CPUState *cs, vaddr address, int size,
|
||||
struct hook *hook;
|
||||
HOOK_FOREACH_VAR_DECLARE;
|
||||
|
||||
cpu_restore_state(cs, retaddr, false);
|
||||
|
||||
HOOK_FOREACH(uc, hook, UC_HOOK_TLB_FILL) {
|
||||
if (hook->to_delete) {
|
||||
continue;
|
||||
|
||||
Reference in New Issue
Block a user