VirtualBox

Changeset 59206 in vbox


Ignore:
Timestamp:
Dec 22, 2015 9:38:26 AM (9 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
104832
Message:

VMMR3EmtRendezvous: New flag for tricky suspend and poweroff cases: VMMEMTRENDEZVOUS_FLAGS_PRIORITY

Location:
trunk
Files:
2 edited

Legend:

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

    r59138 r59206  
    337337 * at a time. */
    338338#define VMMEMTRENDEZVOUS_FLAGS_STOP_ON_ERROR        UINT32_C(0x00000008)
     339/** Use VMREQFLAGS_PRIORITY when contacting the EMTs. */
     340#define VMMEMTRENDEZVOUS_FLAGS_PRIORITY             UINT32_C(0x00000010)
    339341/** The valid flags. */
    340 #define VMMEMTRENDEZVOUS_FLAGS_VALID_MASK           UINT32_C(0x0000000f)
     342#define VMMEMTRENDEZVOUS_FLAGS_VALID_MASK           UINT32_C(0x0000001f)
    341343/** @} */
    342344VMMR3_INT_DECL(int)     VMMR3EmtRendezvousFF(PVM pVM, PVMCPU pVCpu);
  • trunk/src/VBox/VMM/VMMR3/VMM.cpp

    r59138 r59206  
    21562156    {
    21572157        Log(("VMMR3EmtRendezvous: %#x non-EMT\n", fFlags));
    2158         rcStrict = VMR3ReqCallWait(pVM, VMCPUID_ANY,
    2159                                    (PFNRT)VMMR3EmtRendezvous, 4, pVM, fFlags, pfnRendezvous, pvUser);
     2158        if (!(fFlags & VMMEMTRENDEZVOUS_FLAGS_PRIORITY))
     2159            rcStrict = VMR3ReqCallWait(pVM, VMCPUID_ANY, (PFNRT)VMMR3EmtRendezvous, 4, pVM, fFlags, pfnRendezvous, pvUser);
     2160        else
     2161            rcStrict = VMR3ReqPriorityCallWait(pVM, VMCPUID_ANY, (PFNRT)VMMR3EmtRendezvous, 4, pVM, fFlags, pfnRendezvous, pvUser);
    21602162        Log(("VMMR3EmtRendezvous: %#x non-EMT returns %Rrc\n", fFlags, VBOXSTRICTRC_VAL(rcStrict)));
    21612163    }
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