VirtualBox

Changeset 13449 in vbox for trunk/src/recompiler


Ignore:
Timestamp:
Oct 21, 2008 3:22:56 PM (16 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
38232
Message:

Fixed default flags for selector register loads in real and V86 mode

Location:
trunk/src/recompiler/target-i386
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/recompiler/target-i386/helper.c

    r13385 r13449  
    176176{
    177177    selector &= 0xffff;
     178#ifdef VBOX
     179    unsigned flags = DESC_P_MASK | DESC_S_MASK | DESC_W_MASK;
     180
     181    if (seg == R_CS)
     182        flags |= DESC_CS_MASK;
     183
     184    cpu_x86_load_seg_cache(env, seg, selector,
     185                           (selector << 4), 0xffff, flags);
     186#else
    178187    cpu_x86_load_seg_cache(env, seg, selector,
    179188                           (selector << 4), 0xffff, 0);
     189#endif
    180190}
    181191
  • trunk/src/recompiler/target-i386/op.c

    r11982 r13449  
    12591259    sc->base = (selector << 4);
    12601260#ifdef VBOX
    1261     sc->flags = 0; /* clear attributes */
     1261    sc->flags = DESC_P_MASK | DESC_S_MASK | DESC_W_MASK;
     1262    if (PARAM1 == offsetof(CPUX86State,segs[R_CS]))
     1263        sc->flags |= DESC_CS_MASK;
    12621264#endif
    12631265}
Note: See TracChangeset for help on using the changeset viewer.

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