VirtualBox

Ignore:
Timestamp:
Apr 11, 2011 1:29:08 PM (14 years ago)
Author:
vboxsync
Message:

HWVMXR0.cpp: probably a workaround for a REM bug.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMR0/HWVMXR0.cpp

    r36641 r36643  
    15361536            val = pCtx->trHid.Attr.u;
    15371537
    1538             /* The TSS selector must be busy. */
    1539             if ((val & 0xD) == X86_SEL_TYPE_SYS_286_TSS_AVAIL)
    1540                 val = (val & ~0xF) | X86_SEL_TYPE_SYS_286_TSS_BUSY;
    1541             else
    1542                 /* Default even if no TR selector has been set (otherwise vmlaunch will fail!) */
    1543                 val = (val & ~0xF) | X86_SEL_TYPE_SYS_386_TSS_BUSY;
    1544 
     1538            /* The TSS selector must be busy (REM bugs? see defect #XXXX). */
     1539            if (!(val & X86_SEL_TYPE_SYS_TSS_BUSY_MASK))
     1540            {
     1541                if (val & 0xf)
     1542                    val |= X86_SEL_TYPE_SYS_TSS_BUSY_MASK;
     1543                else
     1544                    /* Default if no TR selector has been set (otherwise vmlaunch will fail!) */
     1545                    val = (val & ~0xF) | X86_SEL_TYPE_SYS_386_TSS_BUSY;
     1546            }
     1547            AssertMsg((val & 0xf) == X86_SEL_TYPE_SYS_386_TSS_BUSY || (val & 0xf) == X86_SEL_TYPE_SYS_286_TSS_BUSY, ("%#x\n", val));
    15451548        }
    15461549        rc |= VMXWriteVMCS(VMX_VMCS32_GUEST_TR_ACCESS_RIGHTS, val);
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