diff options
Diffstat (limited to 'target-i386/translate.c')
-rw-r--r-- | target-i386/translate.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/target-i386/translate.c b/target-i386/translate.c index 782f7d2666..8af4ee970f 100644 --- a/target-i386/translate.c +++ b/target-i386/translate.c @@ -33,7 +33,7 @@ #include "exec/helper-gen.h" #include "trace-tcg.h" - +#include "sysemu/hax.h" #define PREFIX_REPZ 0x01 #define PREFIX_REPNZ 0x02 @@ -8008,6 +8008,13 @@ static inline void gen_intermediate_code_internal(X86CPU *cpu, pc_ptr = disas_insn(env, dc, pc_ptr); num_insns++; +#ifdef CONFIG_HAX + if (hax_enabled() && hax_stop_translate(cs)) { + gen_jmp_im(pc_ptr - dc->cs_base); + gen_eob(dc); + break; + } +#endif /* stop translation if indicated */ if (dc->is_jmp) break; |