VirtualBox

Changeset 1090 in vbox for trunk/src/VBox/VMM/VMMAll


Ignore:
Timestamp:
Feb 28, 2007 8:44:17 AM (18 years ago)
Author:
vboxsync
Message:

Corrected assertions for v86 mode

Location:
trunk/src/VBox/VMM/VMMAll
Files:
3 edited

Legend:

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

    r772 r1090  
    12071207    else
    12081208    {
    1209         AssertMsg((pCtxCore->ss & X86_SEL_RPL) >= 2 && !pCtxCore->eflags.Bits.u1VM,
     1209        AssertMsg((pCtxCore->ss & X86_SEL_RPL) >= 2 || pCtxCore->eflags.Bits.u1VM,
    12101210                  ("ring-1 code not supported\n"));
    12111211        /*
     
    12551255        pCtxCore = CPUMCTX2CORE(pCtx);
    12561256    Assert(pCtxCore->eflags.Bits.u1VM || (pCtxCore->ss & X86_SEL_RPL));
    1257     AssertMsg(pCtxCore->eflags.Bits.u2IOPL < (unsigned)(pCtxCore->ss & X86_SEL_RPL),
     1257    AssertMsg(pCtxCore->eflags.Bits.u1VM || pCtxCore->eflags.Bits.u2IOPL < (unsigned)(pCtxCore->ss & X86_SEL_RPL),
    12581258              ("X86_EFL_IOPL=%d CPL=%d\n", pCtxCore->eflags.Bits.u2IOPL, pCtxCore->ss & X86_SEL_RPL));
    12591259
  • trunk/src/VBox/VMM/VMMAll/PGMAllBth.h

    r851 r1090  
    553553                Assert((pRegFrame->ss & X86_SEL_RPL) == 0 || (pRegFrame->ss & X86_SEL_RPL) == 3);
    554554#  else
    555                 Assert((pRegFrame->ss & X86_SEL_RPL) == 1 || (pRegFrame->ss & X86_SEL_RPL) == 3);
     555                Assert((pRegFrame->ss & X86_SEL_RPL) == 1 || (pRegFrame->ss & X86_SEL_RPL) == 3 || pRegFrame->eflags.Bits.u1VM);
    556556                if (CSAMIsEnabled(pVM) && (pRegFrame->ss & X86_SEL_RPL) == 1)
    557557                {
  • trunk/src/VBox/VMM/VMMAll/TRPMAll.cpp

    r624 r1090  
    577577                 * Build trap stack frame on guest handler's stack
    578578                 */
     579                /** @todo if eflags.Bits.u1VM check for 4 more dwords */
    579580#ifdef IN_GC
    580581                Assert((pRegFrame->ss & X86_SEL_RPL) != 0);
     
    594595                    Log(("TRAP%02X: Handler %04X:%08X Stack %04X:%08X RPL=%d CR2=%08X\n", iGate, GuestIdte.Gen.u16SegSel, pHandler, ss_r0, esp_r0, (pRegFrame->ss & X86_SEL_RPL), pVM->trpm.s.uActiveCR2));
    595596
     597                    /** @todo if eflags.Bits.u1VM push gs, fs, ds, es */
    596598                    if (fConforming == false && dpl < cpl)
    597599                    {
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