VirtualBox

Changeset 74310 in vbox for trunk/src


Ignore:
Timestamp:
Sep 17, 2018 1:49:35 PM (6 years ago)
Author:
vboxsync
Message:

VMX: Removed assertion, needs to be a run-time check. See bugref:9244

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMAll/HMVMXAll.cpp

    r74289 r74310  
    565565                    ("%#x\n", pSel->Attr.u), false);
    566566
    567     /* DPL must equal RPL.
    568        Note! This is also a hard requirement like above. */
    569     AssertMsgReturn(pSel->Attr.n.u2Dpl == (pSel->Sel & X86_SEL_RPL),
    570                     ("u2Dpl=%u Sel=%#x\n", pSel->Attr.n.u2Dpl, pSel->Sel), false);
    571 
    572567    /*
    573      * The following two requirements are VT-x specific:
    574      *   - G bit must be set if any high limit bits are set.
    575      *   - G bit must be clear if any low limit bits are clear.
     568     * DPL must equal RPL. But in real mode or soon after enabling protected
     569     * mode, it might not be.
    576570     */
    577     if (   ((pSel->u32Limit & 0xfff00000) == 0x00000000 ||  pSel->Attr.n.u1Granularity)
    578         && ((pSel->u32Limit & 0x00000fff) == 0x00000fff || !pSel->Attr.n.u1Granularity))
    579         return true;
     571    if (pSel->Attr.n.u2Dpl == (pSel->Sel & X86_SEL_RPL))
     572    {
     573        /*
     574         * The following two requirements are VT-x specific:
     575         *   - G bit must be set if any high limit bits are set.
     576         *   - G bit must be clear if any low limit bits are clear.
     577         */
     578        if (   ((pSel->u32Limit & 0xfff00000) == 0x00000000 ||  pSel->Attr.n.u1Granularity)
     579            && ((pSel->u32Limit & 0x00000fff) == 0x00000fff || !pSel->Attr.n.u1Granularity))
     580            return true;
     581    }
    580582    return false;
    581583}
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