VirtualBox

Changeset 19402 in vbox


Ignore:
Timestamp:
May 5, 2009 10:12:34 PM (16 years ago)
Author:
vboxsync
Message:

VMReq: Added VMREQFLAGS_POKE for high priority requests.

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/vmapi.h

    r19400 r19402  
    263263    VMREQFLAGS_RETURN_MASK  = 1,
    264264    /** Caller does not wait on the packet, EMT will free it. */
    265     VMREQFLAGS_NO_WAIT      = 2
     265    VMREQFLAGS_NO_WAIT      = 2,
     266    /** Poke the destination EMT(s) if executing guest code. Use with care. */
     267    VMREQFLAGS_POKE         = 4
    266268} VMREQFLAGS;
    267269
  • trunk/src/VBox/VMM/VMReq.cpp

    r19400 r19402  
    269269    AssertPtrReturn(pfnFunction, VERR_INVALID_POINTER);
    270270    AssertPtrReturn(pUVM, VERR_INVALID_POINTER);
    271     AssertReturn(!(fFlags & ~(VMREQFLAGS_RETURN_MASK | VMREQFLAGS_NO_WAIT)), VERR_INVALID_PARAMETER);
     271    AssertReturn(!(fFlags & ~(VMREQFLAGS_RETURN_MASK | VMREQFLAGS_NO_WAIT | VMREQFLAGS_POKE)), VERR_INVALID_PARAMETER);
    272272    if (!(fFlags & VMREQFLAGS_NO_WAIT) || ppReq)
    273273    {
     
    633633                     pReq->enmType, VMREQTYPE_INVALID + 1, VMREQTYPE_MAX - 1),
    634634                    VERR_VM_REQUEST_INVALID_TYPE);
     635    Assert(!(pReq->fFlags & ~(VMREQFLAGS_RETURN_MASK | VMREQFLAGS_NO_WAIT | VMREQFLAGS_POKE)));
    635636
    636637    /*
     
    697698        if (pUVM->pVM)
    698699            VMCPU_FF_SET(pVCpu, VMCPU_FF_REQUEST);
    699         VMR3NotifyCpuFFU(pUVCpu, 0);
     700        VMR3NotifyCpuFFU(pUVCpu, fFlags & VMREQFLAGS_POKE ? VMNOTIFYFF_FLAGS_POKE : 0);
    700701
    701702        /*
     
    727728        if (pUVM->pVM)
    728729            VM_FF_SET(pUVM->pVM, VM_FF_REQUEST);
    729         VMR3NotifyGlobalFFU(pUVM, 0);
     730        VMR3NotifyGlobalFFU(pUVM, fFlags & VMREQFLAGS_POKE ? VMNOTIFYFF_FLAGS_POKE : 0);
    730731
    731732        /*
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