x86_update_hflags reference env->efer which is updated in hax_get_msrs,
so it has to be called after hax_get_msrs. This fix the bug that sometimes
dump_state show 32 bits regs even in 64 bits mode.

Signed-off-by: Tao Wu <lep...@google.com>
---
 target/i386/hax-all.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/target/i386/hax-all.c b/target/i386/hax-all.c
index dc379373f7..5a4a5025b9 100644
--- a/target/i386/hax-all.c
+++ b/target/i386/hax-all.c
@@ -838,9 +838,6 @@ static int hax_sync_vcpu_register(CPUArchState *env, int 
set)
             return -1;
         }
     }
-    if (!set) {
-        x86_update_hflags(env);
-    }
     return 0;
 }
 
@@ -1021,6 +1018,7 @@ static int hax_arch_get_registers(CPUArchState *env)
         return ret;
     }
 
+    x86_update_hflags(env);
     return 0;
 }
 
-- 
2.16.0.rc1.238.g530d649a79-goog


Reply via email to