VirtualBox

Changeset 29687 in vbox for trunk/src/recompiler


Ignore:
Timestamp:
May 20, 2010 11:49:58 AM (15 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
61853
Message:

Make sure the right descriptor attributes (0xf3) are loaded in V86 mode (VT-x is picky)

File:
1 edited

Legend:

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

    r21581 r29687  
    27982798                  offsetof(CPUX86State,segs[seg_reg].base));
    27992799#ifdef VBOX
    2800     int flags = DESC_P_MASK | DESC_S_MASK | DESC_W_MASK;
    2801     if (seg_reg == R_CS)
    2802         flags |= DESC_CS_MASK;
     2800    /* flags must be 0xf3; expand-up read/write accessed data segment with DPL=3. (VT-x) */
     2801    unsigned flags = DESC_P_MASK | DESC_S_MASK | DESC_W_MASK | DESC_A_MASK;
     2802    flags |= (3 << DESC_DPL_SHIFT);
     2803
    28032804    gen_op_movl_T0_im(flags);
    28042805    tcg_gen_st32_tl(cpu_T[0], cpu_env, offsetof(CPUX86State,segs[seg_reg].flags));
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