mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-05 08:43:55 -06:00
target-i386: Use cpu_exec_enter/exit qom hooks
Note that the code that was within the "exit" ifdef block was identical to the cpu_compute_eflags inline, so make that simplification at the same time. Signed-off-by: Richard Henderson <rth@twiddle.net> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Message-id: 1410626734-3804-4-git-send-email-rth@twiddle.net Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
1039e1290f
commit
374e0cd4db
4 changed files with 28 additions and 12 deletions
|
@ -1262,3 +1262,24 @@ void do_cpu_sipi(X86CPU *cpu)
|
|||
{
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Frob eflags into and out of the CPU temporary format. */
|
||||
|
||||
void x86_cpu_exec_enter(CPUState *cs)
|
||||
{
|
||||
X86CPU *cpu = X86_CPU(cs);
|
||||
CPUX86State *env = &cpu->env;
|
||||
|
||||
CC_SRC = env->eflags & (CC_O | CC_S | CC_Z | CC_A | CC_P | CC_C);
|
||||
env->df = 1 - (2 * ((env->eflags >> 10) & 1));
|
||||
CC_OP = CC_OP_EFLAGS;
|
||||
env->eflags &= ~(DF_MASK | CC_O | CC_S | CC_Z | CC_A | CC_P | CC_C);
|
||||
}
|
||||
|
||||
void x86_cpu_exec_exit(CPUState *cs)
|
||||
{
|
||||
X86CPU *cpu = X86_CPU(cs);
|
||||
CPUX86State *env = &cpu->env;
|
||||
|
||||
env->eflags = cpu_compute_eflags(env);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue