Changeset 19402 in vbox
- Timestamp:
- May 5, 2009 10:12:34 PM (16 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/vmapi.h
r19400 r19402 263 263 VMREQFLAGS_RETURN_MASK = 1, 264 264 /** 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 266 268 } VMREQFLAGS; 267 269 -
trunk/src/VBox/VMM/VMReq.cpp
r19400 r19402 269 269 AssertPtrReturn(pfnFunction, VERR_INVALID_POINTER); 270 270 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); 272 272 if (!(fFlags & VMREQFLAGS_NO_WAIT) || ppReq) 273 273 { … … 633 633 pReq->enmType, VMREQTYPE_INVALID + 1, VMREQTYPE_MAX - 1), 634 634 VERR_VM_REQUEST_INVALID_TYPE); 635 Assert(!(pReq->fFlags & ~(VMREQFLAGS_RETURN_MASK | VMREQFLAGS_NO_WAIT | VMREQFLAGS_POKE))); 635 636 636 637 /* … … 697 698 if (pUVM->pVM) 698 699 VMCPU_FF_SET(pVCpu, VMCPU_FF_REQUEST); 699 VMR3NotifyCpuFFU(pUVCpu, 0);700 VMR3NotifyCpuFFU(pUVCpu, fFlags & VMREQFLAGS_POKE ? VMNOTIFYFF_FLAGS_POKE : 0); 700 701 701 702 /* … … 727 728 if (pUVM->pVM) 728 729 VM_FF_SET(pUVM->pVM, VM_FF_REQUEST); 729 VMR3NotifyGlobalFFU(pUVM, 0);730 VMR3NotifyGlobalFFU(pUVM, fFlags & VMREQFLAGS_POKE ? VMNOTIFYFF_FLAGS_POKE : 0); 730 731 731 732 /*
Note:
See TracChangeset
for help on using the changeset viewer.