|
@@ -78,6 +78,13 @@ int tcg_cpus_exec(CPUState *cpu)
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
|
+static void tcg_cpu_reset_hold(CPUState *cpu)
|
|
|
+{
|
|
|
+ tcg_flush_jmp_cache(cpu);
|
|
|
+
|
|
|
+ tlb_flush(cpu);
|
|
|
+}
|
|
|
+
|
|
|
/* mask must never be zero, except for A20 change call */
|
|
|
void tcg_handle_interrupt(CPUState *cpu, int mask)
|
|
|
{
|
|
@@ -206,6 +213,7 @@ static void tcg_accel_ops_init(AccelOpsClass *ops)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ ops->cpu_reset_hold = tcg_cpu_reset_hold;
|
|
|
ops->supports_guest_debug = tcg_supports_guest_debug;
|
|
|
ops->insert_breakpoint = tcg_insert_breakpoint;
|
|
|
ops->remove_breakpoint = tcg_remove_breakpoint;
|