VirtualBox

Ignore:
Timestamp:
Jan 12, 2009 3:33:49 PM (16 years ago)
Author:
vboxsync
Message:

REM: VME CLI/STI was operating on wrong flag

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/recompiler_new/target-i386/op_helper.c

    r15744 r15899  
    145145    unsigned int new_eflags = t0;
    146146
     147    assert(env->eflags & (1<<VM_SHIFT));
     148
    147149    /* if virtual interrupt pending and (virtual) interrupts will be enabled -> #GP */
    148150    /* if TF will be set -> #GP */
     
    151153        raise_exception(EXCP0D_GPF);
    152154    } else {
    153         load_eflags(new_eflags, (TF_MASK | AC_MASK | ID_MASK | NT_MASK) & 0xffff);
     155        load_eflags(new_eflags, TF_MASK | AC_MASK | ID_MASK | NT_MASK);
    154156
    155157        if (new_eflags & IF_MASK) {
     
    53675369void helper_cli_vme(void)
    53685370{
    5369     env->eflags &= ~IF_MASK;
     5371    env->eflags &= ~VIF_MASK;
    53705372}
    53715373
     
    53765378        raise_exception(EXCP0D_GPF);
    53775379    }
    5378     env->eflags |= IF_MASK;
     5380    env->eflags |= VIF_MASK;
    53795381}
    53805382#endif
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette