diff --git a/tools/firmware/vmxassist/vm86.c b/tools/firmware/vmxassist/vm86.c index 03c44bb034..e3fcaa5276 100644 --- a/tools/firmware/vmxassist/vm86.c +++ b/tools/firmware/vmxassist/vm86.c @@ -38,7 +38,7 @@ unsigned prev_eip = 0; enum vm86_mode mode; #ifdef DEBUG -int traceset = 0xff; +int traceset = 0; char *states[] = { "", @@ -446,8 +446,6 @@ movcr(struct regs *regs, unsigned prefix, unsigned opc) #endif if (getreg(regs, modrm) & CR0_PE) set_mode(regs, VM86_REAL_TO_PROTECTED); - else - set_mode(regs, VM86_REAL); break; case 3: @@ -605,9 +603,7 @@ set_mode(struct regs *regs, enum vm86_mode newmode) { switch (newmode) { case VM86_REAL: - if ((mode == VM86_PROTECTED_TO_REAL) || - (mode == VM86_REAL_TO_PROTECTED)) { - regs->eflags &= ~EFLAGS_TF; + if (mode == VM86_PROTECTED_TO_REAL) { real_mode(regs); break; } else if (mode == VM86_REAL) {