From 7164ab5ff422e7a34d58a6cfedf936926edfeedd Mon Sep 17 00:00:00 2001 From: dmarxn <47157608+dmarxn@users.noreply.github.com> Date: Thu, 28 Feb 2019 17:04:41 -0500 Subject: [PATCH] changed cpu_compue_eflags to use the updated eflags variable. Otherwise, cli/sti and popfl may break, as we get the non-updated eflags (#1057) Backports commit 360e9c60e1feb4a93e7e43f30858e38eac2d35f2 from unicorn --- qemu/target/i386/cpu.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/qemu/target/i386/cpu.h b/qemu/target/i386/cpu.h index 25184090..721b4fbd 100644 --- a/qemu/target/i386/cpu.h +++ b/qemu/target/i386/cpu.h @@ -1724,8 +1724,8 @@ uint32_t cpu_cc_compute_all(CPUX86State *env1, int op); static inline uint32_t cpu_compute_eflags(CPUX86State *env) { - // Unicorn: Modified to use eflags0 instead of eflags - uint32_t eflags = env->eflags0; + // Unicorn: Modified to use eflags instead of eflags0 + uint32_t eflags = env->eflags; if (tcg_enabled(env->uc)) { eflags = (eflags & ~(CC_O | CC_S | CC_Z | CC_A | CC_P | CC_C | DF_MASK)) | cpu_cc_compute_all(env, CC_OP) | (env->df & DF_MASK); }