diff options
Diffstat (limited to 'target-i386')
-rw-r--r-- | target-i386/cpu.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/target-i386/cpu.h b/target-i386/cpu.h index ead073c7a3..ebbf1b1fc0 100644 --- a/target-i386/cpu.h +++ b/target-i386/cpu.h @@ -799,4 +799,12 @@ static inline void cpu_pc_from_tb(CPUState *env, TranslationBlock *tb) env->eip = tb->pc - tb->cs_base; } +static inline void cpu_get_tb_cpu_state(CPUState *env, target_ulong *pc, + target_ulong *cs_base, int *flags) +{ + *cs_base = env->segs[R_CS].base; + *pc = *cs_base + env->eip; + *flags = env->hflags | (env->eflags & (IOPL_MASK | TF_MASK | VM_MASK)); +} + #endif /* CPU_I386_H */ |