Changeset 13782
- Timestamp:
- 11/04/08 13:16:30 (2 months ago)
- Files:
-
- trunk/include/VBox/uvm.h (modified) (3 diffs)
- trunk/include/VBox/vmapi.h (modified) (1 diff)
- trunk/src/VBox/Devices/Storage/DevATA.cpp (modified) (2 diffs)
- trunk/src/VBox/Devices/VMMDev/VBoxDev.cpp (modified) (2 diffs)
- trunk/src/VBox/Devices/VMMDev/VMMDevHGCM.cpp (modified) (1 diff)
- trunk/src/VBox/Frontends/VBoxBFE/DisplayImpl.cpp (modified) (1 diff)
- trunk/src/VBox/Frontends/VBoxBFE/HostUSBImpl.cpp (modified) (2 diffs)
- trunk/src/VBox/Frontends/VBoxBFE/MachineDebuggerImpl.cpp (modified) (2 diffs)
- trunk/src/VBox/Frontends/VBoxBFE/VBoxBFE.cpp (modified) (4 diffs)
- trunk/src/VBox/Frontends/VBoxBFE/VMControl.cpp (modified) (5 diffs)
- trunk/src/VBox/Main/ConsoleImpl.cpp (modified) (4 diffs)
- trunk/src/VBox/Main/DisplayImpl.cpp (modified) (6 diffs)
- trunk/src/VBox/Main/MachineDebuggerImpl.cpp (modified) (2 diffs)
- trunk/src/VBox/VMM/DBGF.cpp (modified) (2 diffs)
- trunk/src/VBox/VMM/DBGFBp.cpp (modified) (7 diffs)
- trunk/src/VBox/VMM/DBGFInfo.cpp (modified) (4 diffs)
- trunk/src/VBox/VMM/DBGFLog.cpp (modified) (3 diffs)
- trunk/src/VBox/VMM/DBGFMem.cpp (modified) (3 diffs)
- trunk/src/VBox/VMM/DBGFOS.cpp (modified) (4 diffs)
- trunk/src/VBox/VMM/DBGFStack.cpp (modified) (2 diffs)
- trunk/src/VBox/VMM/EM.cpp (modified) (1 diff)
- trunk/src/VBox/VMM/PATM/CSAM.cpp (modified) (1 diff)
- trunk/src/VBox/VMM/PGMPhys.cpp (modified) (1 diff)
- trunk/src/VBox/VMM/PGMPool.cpp (modified) (1 diff)
- trunk/src/VBox/VMM/VM.cpp (modified) (19 diffs)
- trunk/src/VBox/VMM/VMEmt.cpp (modified) (7 diffs)
- trunk/src/VBox/VMM/VMInternal.h (modified) (2 diffs)
- trunk/src/VBox/VMM/VMMAll/PDMAllQueue.cpp (modified) (1 diff)
- trunk/src/VBox/VMM/VMMAll/TMAllVirtual.cpp (modified) (1 diff)
- trunk/src/VBox/VMM/VMMAll/VMAll.cpp (modified) (2 diffs)
- trunk/src/VBox/VMM/VMReq.cpp (modified) (4 diffs)
- trunk/src/VBox/VMM/testcase/tstAnimate.cpp (modified) (3 diffs)
- trunk/src/VBox/VMM/testcase/tstMicro.cpp (modified) (1 diff)
- trunk/src/VBox/VMM/testcase/tstVMM-2.cpp (modified) (2 diffs)
- trunk/src/VBox/VMM/testcase/tstVMM-HwAccm.cpp (modified) (1 diff)
- trunk/src/VBox/VMM/testcase/tstVMM.cpp (modified) (1 diff)
- trunk/src/VBox/VMM/testcase/tstVMMFork.cpp (modified) (1 diff)
- trunk/src/VBox/VMM/testcase/tstVMREQ.cpp (modified) (3 diffs)
- trunk/src/recompiler/VBoxRecompiler.c (modified) (1 diff)
- trunk/src/recompiler_new/VBoxRecompiler.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/include/VBox/uvm.h
r13755 r13782 36 36 #include <VBox/types.h> 37 37 38 /* Forward decl. */ 39 struct UVM; 40 38 41 /** 39 42 * Per virtual CPU ring-3 (user mode) data. … … 41 44 typedef struct UVMCPU 42 45 { 43 uint32_t uFiller; 46 struct UVM *pUVM; 47 RTCPUID idCPU; 48 44 49 /** The VM internal data. */ 45 50 struct … … 50 55 uint8_t padding[768]; 51 56 } vm; 52 } UVMCPU ;57 } UVMCPU, *PUVMCPU; 53 58 54 59 /** trunk/include/VBox/vmapi.h
r13765 r13782 272 272 VMREQDEST_CPU0 = 0, 273 273 274 /** Request packet for the VM (any VCPU can handle it). */ 275 VMREQDEST_ALL = -1 274 /** Request packet for all VMCPU threads. */ 275 VMREQDEST_BROADCAST = 0x1000, 276 277 /** Request packet for any VMCPU thread. */ 278 VMREQDEST_ANY = 0x1001 276 279 } VMREQDEST; 277 280 trunk/src/VBox/Devices/Storage/DevATA.cpp
r13756 r13782 2337 2337 2338 2338 PDMCritSectLeave(&pCtl->lock); 2339 rc = VMR3ReqCall(PDMDevHlpGetVM(pDevIns), VMREQDEST_A LL, &pReq, RT_INDEFINITE_WAIT,2339 rc = VMR3ReqCall(PDMDevHlpGetVM(pDevIns), VMREQDEST_ANY, &pReq, RT_INDEFINITE_WAIT, 2340 2340 (PFNRT)s->pDrvMount->pfnUnmount, 2, s->pDrvMount, false); 2341 2341 AssertReleaseRC(rc); … … 3909 3909 3910 3910 pCtl->fRedoIdle = true; 3911 rc = VMR3ReqCall(PDMDevHlpGetVM(pDevIns), VMREQDEST_A LL, &pReq, RT_INDEFINITE_WAIT,3911 rc = VMR3ReqCall(PDMDevHlpGetVM(pDevIns), VMREQDEST_ANY, &pReq, RT_INDEFINITE_WAIT, 3912 3912 (PFNRT)PDMDevHlpVMSuspend, 1, pDevIns); 3913 3913 AssertReleaseRC(rc); trunk/src/VBox/Devices/VMMDev/VBoxDev.cpp
r13756 r13782 249 249 PVMREQ pReq; 250 250 251 rc = VMR3ReqCallVoid (pVM, VMREQDEST_A LL, &pReq, RT_INDEFINITE_WAIT,251 rc = VMR3ReqCallVoid (pVM, VMREQDEST_ANY, &pReq, RT_INDEFINITE_WAIT, 252 252 (PFNRT) vmmdevCtlGuestFilterMask_EMT, 253 253 3, pVMMDevState, u32OrMask, u32NotMask); … … 274 274 * about something, which has already happened. 275 275 */ 276 rc = VMR3ReqCallEx(pVM, VMREQDEST_A LL, NULL, 0, VMREQFLAGS_NO_WAIT | VMREQFLAGS_VOID,276 rc = VMR3ReqCallEx(pVM, VMREQDEST_ANY, NULL, 0, VMREQFLAGS_NO_WAIT | VMREQFLAGS_VOID, 277 277 (PFNRT) vmmdevNotifyGuest_EMT, 278 278 2, pVMMDevState, u32EventMask); trunk/src/VBox/Devices/VMMDev/VMMDevHGCM.cpp
r13756 r13782 1138 1138 1139 1139 /* Not safe to execute asynchroneously; forward to EMT */ 1140 int rc = VMR3ReqCallEx(PDMDevHlpGetVM(pVMMDevState->pDevIns), VMREQDEST_A LL, NULL, 0, VMREQFLAGS_NO_WAIT | VMREQFLAGS_VOID,1140 int rc = VMR3ReqCallEx(PDMDevHlpGetVM(pVMMDevState->pDevIns), VMREQDEST_ANY, NULL, 0, VMREQFLAGS_NO_WAIT | VMREQFLAGS_VOID, 1141 1141 (PFNRT)hgcmCompletedWorker, 3, pInterface, result, pCmd); 1142 1142 AssertRC(rc); trunk/src/VBox/Frontends/VBoxBFE/DisplayImpl.cpp
r13755 r13782 378 378 /* pdm.h says that this has to be called from the EMT thread */ 379 379 PVMREQ pReq; 380 int rcVBox = VMR3ReqCallVoid(pVM, VMREQDEST_A LL, &pReq, RT_INDEFINITE_WAIT,380 int rcVBox = VMR3ReqCallVoid(pVM, VMREQDEST_ANY, &pReq, RT_INDEFINITE_WAIT, 381 381 (PFNRT)VMDisplay::doInvalidateAndUpdate, 1, mpDrv); 382 382 if (VBOX_SUCCESS(rcVBox)) trunk/src/VBox/Frontends/VBoxBFE/HostUSBImpl.cpp
r13755 r13782 244 244 LogFlowMember (("Console::AttachUSBDevice: Proxying USB device '%s' %Vuuid...\n", Address.c_str(), &Uuid)); 245 245 PVMREQ pReq; 246 vrc = VMR3ReqCall (mpVM, VMREQDEST_A LL, &pReq, RT_INDEFINITE_WAIT,246 vrc = VMR3ReqCall (mpVM, VMREQDEST_ANY, &pReq, RT_INDEFINITE_WAIT, 247 247 (PFNRT)pRhConfig->pfnCreateProxyDevice, 248 248 5, pRhConfig, &Uuid, fRemote, … … 303 303 LogFlowMember (("Console::DetachUSBDevice: Detaching USB proxy device %Vuuid...\n", &Uuid)); 304 304 PVMREQ pReq; 305 vrc = VMR3ReqCall (mpVM, VMREQDEST_A LL, &pReq, RT_INDEFINITE_WAIT, (PFNRT)pRhConfig->pfnDestroyProxyDevice,305 vrc = VMR3ReqCall (mpVM, VMREQDEST_ANY, &pReq, RT_INDEFINITE_WAIT, (PFNRT)pRhConfig->pfnDestroyProxyDevice, 306 306 2, pRhConfig, &Uuid); 307 307 if (VBOX_SUCCESS (vrc)) trunk/src/VBox/Frontends/VBoxBFE/MachineDebuggerImpl.cpp
r13755 r13782 138 138 PVMREQ pReq; 139 139 EMRAWMODE rawModeFlag = enable ? EMRAW_RING3_DISABLE : EMRAW_RING3_ENABLE; 140 int rcVBox = VMR3ReqCall(pVM, VMREQDEST_A LL, &pReq, RT_INDEFINITE_WAIT,140 int rcVBox = VMR3ReqCall(pVM, VMREQDEST_ANY, &pReq, RT_INDEFINITE_WAIT, 141 141 (PFNRT)EMR3RawSetMode, 2, pVM, rawModeFlag); 142 142 if (VBOX_SUCCESS(rcVBox)) … … 198 198 PVMREQ pReq; 199 199 EMRAWMODE rawModeFlag = enable ? EMRAW_RING0_DISABLE : EMRAW_RING0_ENABLE; 200 int rcVBox = VMR3ReqCall(pVM, VMREQDEST_A LL, &pReq, RT_INDEFINITE_WAIT,200 int rcVBox = VMR3ReqCall(pVM, VMREQDEST_ANY, &pReq, RT_INDEFINITE_WAIT, 201 201 (PFNRT)EMR3RawSetMode, 2, pVM, rawModeFlag); 202 202 if (VBOX_SUCCESS(rcVBox)) trunk/src/VBox/Frontends/VBoxBFE/VBoxBFE.cpp
r13755 r13782 965 965 /* Power off VM */ 966 966 PVMREQ pReq; 967 rc = VMR3ReqCall(pVM, VMREQDEST_A LL, &pReq, RT_INDEFINITE_WAIT, (PFNRT)VMR3PowerOff, 1, pVM);967 rc = VMR3ReqCall(pVM, VMREQDEST_ANY, &pReq, RT_INDEFINITE_WAIT, (PFNRT)VMR3PowerOff, 1, pVM); 968 968 } 969 969 … … 1274 1274 { 1275 1275 startProgressInfo("Restoring"); 1276 rc = VMR3ReqCall(pVM, VMREQDEST_A LL, &pReq, RT_INDEFINITE_WAIT,1276 rc = VMR3ReqCall(pVM, VMREQDEST_ANY, &pReq, RT_INDEFINITE_WAIT, 1277 1277 (PFNRT)VMR3Load, 4, pVM, g_pszStateFile, &callProgressInfo, NULL); 1278 1278 endProgressInfo(); … … 1280 1280 { 1281 1281 VMR3ReqFree(pReq); 1282 rc = VMR3ReqCall(pVM, VMREQDEST_A LL, &pReq, RT_INDEFINITE_WAIT,1282 rc = VMR3ReqCall(pVM, VMREQDEST_ANY, &pReq, RT_INDEFINITE_WAIT, 1283 1283 (PFNRT)VMR3Resume, 1, pVM); 1284 1284 if (VBOX_SUCCESS(rc)) … … 1294 1294 else 1295 1295 { 1296 rc = VMR3ReqCall(pVM, VMREQDEST_A LL, &pReq, RT_INDEFINITE_WAIT, (PFNRT)VMR3PowerOn, 1, pVM);1296 rc = VMR3ReqCall(pVM, VMREQDEST_ANY, &pReq, RT_INDEFINITE_WAIT, (PFNRT)VMR3PowerOn, 1, pVM); 1297 1297 if (VBOX_SUCCESS(rc)) 1298 1298 { trunk/src/VBox/Frontends/VBoxBFE/VMControl.cpp
r13755 r13782 63 63 64 64 PVMREQ pReq; 65 int rcVBox = VMR3ReqCall(pVM, VMREQDEST_A LL, &pReq, RT_INDEFINITE_WAIT,65 int rcVBox = VMR3ReqCall(pVM, VMREQDEST_ANY, &pReq, RT_INDEFINITE_WAIT, 66 66 (PFNRT)VMR3Suspend, 1, pVM); 67 67 AssertRC(rcVBox); … … 84 84 85 85 PVMREQ pReq; 86 int rcVBox = VMR3ReqCall(pVM, VMREQDEST_A LL, &pReq, RT_INDEFINITE_WAIT,86 int rcVBox = VMR3ReqCall(pVM, VMREQDEST_ANY, &pReq, RT_INDEFINITE_WAIT, 87 87 (PFNRT)VMR3Resume, 1, pVM); 88 88 AssertRC(rcVBox); … … 102 102 { 103 103 PVMREQ pReq; 104 int rcVBox = VMR3ReqCall(pVM, VMREQDEST_A LL, &pReq, RT_INDEFINITE_WAIT,104 int rcVBox = VMR3ReqCall(pVM, VMREQDEST_ANY, &pReq, RT_INDEFINITE_WAIT, 105 105 (PFNRT)VMR3Reset, 1, pVM); 106 106 AssertRC(rcVBox); … … 160 160 161 161 startProgressInfo("Saving"); 162 rc = VMR3ReqCall(pVM, VMREQDEST_A LL, &pReq, RT_INDEFINITE_WAIT,162 rc = VMR3ReqCall(pVM, VMREQDEST_ANY, &pReq, RT_INDEFINITE_WAIT, 163 163 (PFNRT)VMR3Save, 4, pVM, g_pszStateFile, &callProgressInfo, NULL); 164 164 endProgressInfo(); … … 193 193 { 194 194 PVMREQ pReq; 195 rc = VMR3ReqCall(pVM, VMREQDEST_A LL, &pReq, RT_INDEFINITE_WAIT,195 rc = VMR3ReqCall(pVM, VMREQDEST_ANY, &pReq, RT_INDEFINITE_WAIT, 196 196 (PFNRT)VMR3Suspend, 1, pVM); 197 197 AssertRC(rc); trunk/src/VBox/Main/ConsoleImpl.cpp
r13779 r13782 2801 2801 */ 2802 2802 PVMREQ pReq; 2803 int vrc = VMR3ReqCall (mpVM, VMREQDEST_A LL, &pReq, 0 /* no wait! */,2803 int vrc = VMR3ReqCall (mpVM, VMREQDEST_ANY, &pReq, 0 /* no wait! */, 2804 2804 (PFNRT) Console::changeDrive, 8, 2805 2805 this, pszDevice, uInstance, uLun, eState, peState, … … 5521 5521 /** @todo just do everything here and only wrap the PDMR3Usb call. That'll offload some notification stuff from the EMT thread. */ 5522 5522 PVMREQ pReq = NULL; 5523 int vrc = VMR3ReqCall (mpVM, VMREQDEST_A LL, &pReq, RT_INDEFINITE_WAIT,5523 int vrc = VMR3ReqCall (mpVM, VMREQDEST_ANY, &pReq, RT_INDEFINITE_WAIT, 5524 5524 (PFNRT) usbAttachCallback, 6, this, aHostDevice, Uuid.ptr(), fRemote, Address.raw(), aMaskedIfs); 5525 5525 if (VBOX_SUCCESS (vrc)) … … 5646 5646 PVMREQ pReq; 5647 5647 /** @todo just do everything here and only wrap the PDMR3Usb call. That'll offload some notification stuff from the EMT thread. */ 5648 int vrc = VMR3ReqCall (mpVM, VMREQDEST_A LL, &pReq, RT_INDEFINITE_WAIT,5648 int vrc = VMR3ReqCall (mpVM, VMREQDEST_ANY, &pReq, RT_INDEFINITE_WAIT, 5649 5649 (PFNRT) usbDetachCallback, 4, 5650 5650 this, &aIt, (*aIt)->id().raw()); … … 7130 7130 * to access Console. 7131 7131 */ 7132 int vrc = VMR3ReqCall (that->mpVM, VMREQDEST_A LL, &pReq, RT_INDEFINITE_WAIT,7132 int vrc = VMR3ReqCall (that->mpVM, VMREQDEST_ANY, &pReq, RT_INDEFINITE_WAIT, 7133 7133 (PFNRT)reconfigureHardDisks, 3, that->mpVM, 7134 7134 atts [i], &rc); trunk/src/VBox/Main/DisplayImpl.cpp
r13755 r13782 1348 1348 /* send request to the EMT thread */ 1349 1349 PVMREQ pReq = NULL; 1350 int vrc = VMR3ReqCall (pVM, VMREQDEST_A LL, &pReq, RT_INDEFINITE_WAIT,1350 int vrc = VMR3ReqCall (pVM, VMREQDEST_ANY, &pReq, RT_INDEFINITE_WAIT, 1351 1351 (PFNRT) changeFramebuffer, 4, 1352 1352 this, static_cast <IFramebuffer *> (frameBuf), … … 1435 1435 /* send request to the EMT thread */ 1436 1436 PVMREQ pReq = NULL; 1437 int vrc = VMR3ReqCall (pVM, VMREQDEST_A LL, &pReq, RT_INDEFINITE_WAIT,1437 int vrc = VMR3ReqCall (pVM, VMREQDEST_ANY, &pReq, RT_INDEFINITE_WAIT, 1438 1438 (PFNRT) changeFramebuffer, 4, 1439 1439 this, frameBuf, false /* aInternal */, VBOX_VIDEO_PRIMARY_SCREEN); … … 1476 1476 /* send request to the EMT thread */ 1477 1477 PVMREQ pReq = NULL; 1478 int vrc = VMR3ReqCall (pVM, VMREQDEST_A LL, &pReq, RT_INDEFINITE_WAIT,1478 int vrc = VMR3ReqCall (pVM, VMREQDEST_ANY, &pReq, RT_INDEFINITE_WAIT, 1479 1479 (PFNRT) changeFramebuffer, 4, 1480 1480 this, aFramebuffer, false /* aInternal */, aScreenId); … … 1631 1631 PVMREQ pReq; 1632 1632 size_t cbData = RT_ALIGN_Z(width, 4) * 4 * height; 1633 rcVBox = VMR3ReqCall(pVM, VMREQDEST_A LL, &pReq, RT_INDEFINITE_WAIT,1633 rcVBox = VMR3ReqCall(pVM, VMREQDEST_ANY, &pReq, RT_INDEFINITE_WAIT, 1634 1634 (PFNRT)mpDrv->pUpPort->pfnSnapshot, 6, mpDrv->pUpPort, 1635 1635 address, cbData, NULL, NULL, NULL); … … 1692 1692 */ 1693 1693 PVMREQ pReq; 1694 int rcVBox = VMR3ReqCall(pVM, VMREQDEST_A LL, &pReq, RT_INDEFINITE_WAIT,1694 int rcVBox = VMR3ReqCall(pVM, VMREQDEST_ANY, &pReq, RT_INDEFINITE_WAIT, 1695 1695 (PFNRT)mpDrv->pUpPort->pfnDisplayBlt, 6, mpDrv->pUpPort, 1696 1696 address, x, y, width, height); … … 1752 1752 /* pdm.h says that this has to be called from the EMT thread */ 1753 1753 PVMREQ pReq; 1754 int rcVBox = VMR3ReqCallVoid(pVM, VMREQDEST_A LL, &pReq, RT_INDEFINITE_WAIT,1754 int rcVBox = VMR3ReqCallVoid(pVM, VMREQDEST_ANY, &pReq, RT_INDEFINITE_WAIT, 1755 1755 (PFNRT)mpDrv->pUpPort->pfnUpdateDisplayAll, 1, mpDrv->pUpPort); 1756 1756 if (VBOX_SUCCESS(rcVBox)) trunk/src/VBox/Main/MachineDebuggerImpl.cpp
r13755 r13782 244 244 PVMREQ pReq; 245 245 EMRAWMODE rawModeFlag = enable ? EMRAW_RING3_DISABLE : EMRAW_RING3_ENABLE; 246 int rcVBox = VMR3ReqCall(pVM, VMREQDEST_A LL, &pReq, RT_INDEFINITE_WAIT,246 int rcVBox = VMR3ReqCall(pVM, VMREQDEST_ANY, &pReq, RT_INDEFINITE_WAIT, 247 247 (PFNRT)EMR3RawSetMode, 2, pVM.raw(), rawModeFlag); 248 248 if (VBOX_SUCCESS(rcVBox)) … … 313 313 PVMREQ pReq; 314 314 EMRAWMODE rawModeFlag = enable ? EMRAW_RING0_DISABLE : EMRAW_RING0_ENABLE; 315 int rcVBox = VMR3ReqCall(pVM, VMREQDEST_A LL, &pReq, RT_INDEFINITE_WAIT,315 int rcVBox = VMR3ReqCall(pVM, VMREQDEST_ANY, &pReq, RT_INDEFINITE_WAIT, 316 316 (PFNRT)EMR3RawSetMode, 2, pVM.raw(), rawModeFlag); 317 317 if (VBOX_SUCCESS(rcVBox)) trunk/src/VBox/VMM/DBGF.cpp
r13765 r13782 611 611 { 612 612 LogFlow(("dbgfR3VMMWait: Processes requests...\n")); 613 rc = VMR3ReqProcessU(pVM->pUVM, VMREQDEST_A LL);613 rc = VMR3ReqProcessU(pVM->pUVM, VMREQDEST_ANY); 614 614 LogFlow(("dbgfR3VMMWait: VMR3ReqProcess -> %Vrc rcRet=%Vrc\n", rc, rcRet)); 615 615 if (rc >= VINF_EM_FIRST && rc <= VINF_EM_LAST) … … 823 823 */ 824 824 PVMREQ pReq; 825 int rc = VMR3ReqCall(pVM, VMREQDEST_A LL, &pReq, RT_INDEFINITE_WAIT, (PFNRT)dbgfR3Attach, 1, pVM);825 int rc = VMR3ReqCall(pVM, VMREQDEST_ANY, &pReq, RT_INDEFINITE_WAIT, (PFNRT)dbgfR3Attach, 1, pVM); 826 826 if (RT_SUCCESS(rc)) 827 827 rc = pReq->iStatus; trunk/src/VBox/VMM/DBGFBp.cpp
r13755 r13782 288 288 */ 289 289 PVMREQ pReq; 290 int rc = VMR3ReqCall(pVM, VMREQDEST_A LL, &pReq, RT_INDEFINITE_WAIT, (PFNRT)dbgfR3BpSetInt3, 5, pVM, pAddress, &iHitTrigger, &iHitDisable, piBp);290 int rc = VMR3ReqCall(pVM, VMREQDEST_ANY, &pReq, RT_INDEFINITE_WAIT, (PFNRT)dbgfR3BpSetInt3, 5, pVM, pAddress, &iHitTrigger, &iHitDisable, piBp); 291 291 if (VBOX_SUCCESS(rc)) 292 292 rc = pReq->iStatus; … … 437 437 */ 438 438 PVMREQ pReq; 439 int rc = VMR3ReqCall(pVM, VMREQDEST_A LL, &pReq, RT_INDEFINITE_WAIT, (PFNRT)dbgfR3BpSetReg, 7, pVM, pAddress, &iHitTrigger, &iHitDisable, fType, cb, piBp);439 int rc = VMR3ReqCall(pVM, VMREQDEST_ANY, &pReq, RT_INDEFINITE_WAIT, (PFNRT)dbgfR3BpSetReg, 7, pVM, pAddress, &iHitTrigger, &iHitDisable, fType, cb, piBp); 440 440 if (VBOX_SUCCESS(rc)) 441 441 rc = pReq->iStatus; … … 602 602 */ 603 603 PVMREQ pReq; 604 int rc = VMR3ReqCall(pVM, VMREQDEST_A LL, &pReq, RT_INDEFINITE_WAIT, (PFNRT)dbgfR3BpSetREM, 5, pVM, pAddress, &iHitTrigger, &iHitDisable, piBp);604 int rc = VMR3ReqCall(pVM, VMREQDEST_ANY, &pReq, RT_INDEFINITE_WAIT, (PFNRT)dbgfR3BpSetREM, 5, pVM, pAddress, &iHitTrigger, &iHitDisable, piBp); 605 605 if (VBOX_SUCCESS(rc)) 606 606 rc = pReq->iStatus; … … 698 698 */ 699 699 PVMREQ pReq; 700 int rc = VMR3ReqCall(pVM, VMREQDEST_A LL, &pReq, RT_INDEFINITE_WAIT, (PFNRT)dbgfR3BpClear, 2, pVM, iBp);700 int rc = VMR3ReqCall(pVM, VMREQDEST_ANY, &pReq, RT_INDEFINITE_WAIT, (PFNRT)dbgfR3BpClear, 2, pVM, iBp); 701 701 if (VBOX_SUCCESS(rc)) 702 702 rc = pReq->iStatus; … … 775 775 */ 776 776 PVMREQ pReq; 777 int rc = VMR3ReqCall(pVM, VMREQDEST_A LL, &pReq, RT_INDEFINITE_WAIT, (PFNRT)dbgfR3BpEnable, 2, pVM, iBp);777 int rc = VMR3ReqCall(pVM, VMREQDEST_ANY, &pReq, RT_INDEFINITE_WAIT, (PFNRT)dbgfR3BpEnable, 2, pVM, iBp); 778 778 if (VBOX_SUCCESS(rc)) 779 779 rc = pReq->iStatus; … … 852 852 */ 853 853 PVMREQ pReq; 854 int rc = VMR3ReqCall(pVM, VMREQDEST_A LL, &pReq, RT_INDEFINITE_WAIT, (PFNRT)dbgfR3BpDisable, 2, pVM, iBp);854 int rc = VMR3ReqCall(pVM, VMREQDEST_ANY, &pReq, RT_INDEFINITE_WAIT, (PFNRT)dbgfR3BpDisable, 2, pVM, iBp); 855 855 if (VBOX_SUCCESS(rc)) 856 856 rc = pReq->iStatus; … … 928 928 */ 929 929 PVMREQ pReq; 930 int rc = VMR3ReqCall(pVM, VMREQDEST_A LL, &pReq, RT_INDEFINITE_WAIT, (PFNRT)dbgfR3BpEnum, 3, pVM, pfnCallback, pvUser);930 int rc = VMR3ReqCall(pVM, VMREQDEST_ANY, &pReq, RT_INDEFINITE_WAIT, (PFNRT)dbgfR3BpEnum, 3, pVM, pfnCallback, pvUser); 931 931 if (VBOX_SUCCESS(rc)) 932 932 rc = pReq->iStatus; trunk/src/VBox/VMM/DBGFInfo.cpp
r13755 r13782 717 717 case DBGFINFOTYPE_DEV: 718 718 if (Info.fFlags & DBGFINFO_FLAGS_RUN_ON_EMT) 719 rc = VMR3ReqCallVoid(pVM, VMREQDEST_A LL, &pReq, RT_INDEFINITE_WAIT, (PFNRT)Info.u.Dev.pfnHandler, 3, Info.u.Dev.pDevIns, pHlp, pszArgs);719 rc = VMR3ReqCallVoid(pVM, VMREQDEST_ANY, &pReq, RT_INDEFINITE_WAIT, (PFNRT)Info.u.Dev.pfnHandler, 3, Info.u.Dev.pDevIns, pHlp, pszArgs); 720 720 else 721 721 Info.u.Dev.pfnHandler(Info.u.Dev.pDevIns, pHlp, pszArgs); … … 724 724 case DBGFINFOTYPE_DRV: 725 725 if (Info.fFlags & DBGFINFO_FLAGS_RUN_ON_EMT) 726 rc = VMR3ReqCallVoid(pVM, VMREQDEST_A LL, &pReq, RT_INDEFINITE_WAIT, (PFNRT)Info.u.Drv.pfnHandler, 3, Info.u.Drv.pDrvIns, pHlp, pszArgs);726 rc = VMR3ReqCallVoid(pVM, VMREQDEST_ANY, &pReq, RT_INDEFINITE_WAIT, (PFNRT)Info.u.Drv.pfnHandler, 3, Info.u.Drv.pDrvIns, pHlp, pszArgs); 727 727 else 728 728 Info.u.Drv.pfnHandler(Info.u.Drv.pDrvIns, pHlp, pszArgs); … … 731 731 case DBGFINFOTYPE_INT: 732 732 if (Info.fFlags & DBGFINFO_FLAGS_RUN_ON_EMT) 733 rc = VMR3ReqCallVoid(pVM, VMREQDEST_A LL, &pReq, RT_INDEFINITE_WAIT, (PFNRT)Info.u.Int.pfnHandler, 3, pVM, pHlp, pszArgs);733 rc = VMR3ReqCallVoid(pVM, VMREQDEST_ANY, &pReq, RT_INDEFINITE_WAIT, (PFNRT)Info.u.Int.pfnHandler, 3, pVM, pHlp, pszArgs); 734 734 else 735 735 Info.u.Int.pfnHandler(pVM, pHlp, pszArgs); … … 738 738 case DBGFINFOTYPE_EXT: 739 739 if (Info.fFlags & DBGFINFO_FLAGS_RUN_ON_EMT) 740 rc = VMR3ReqCallVoid(pVM, VMREQDEST_A LL, &pReq, RT_INDEFINITE_WAIT, (PFNRT)Info.u.Ext.pfnHandler, 3, Info.u.Ext.pvUser, pHlp, pszArgs);740 rc = VMR3ReqCallVoid(pVM, VMREQDEST_ANY, &pReq, RT_INDEFINITE_WAIT, (PFNRT)Info.u.Ext.pfnHandler, 3, Info.u.Ext.pvUser, pHlp, pszArgs); 741 741 else 742 742 Info.u.Ext.pfnHandler(Info.u.Ext.pvUser, pHlp, pszArgs); trunk/src/VBox/VMM/DBGFLog.cpp
r13755 r13782 53 53 54 54 PVMREQ pReq; 55 int rc = VMR3ReqCall(pVM, VMREQDEST_A LL, &pReq, RT_INDEFINITE_WAIT, (PFNRT)dbgfR3LogModifyGroups, 2, pVM, pszGroupSettings);55 int rc = VMR3ReqCall(pVM, VMREQDEST_ANY, &pReq, RT_INDEFINITE_WAIT, (PFNRT)dbgfR3LogModifyGroups, 2, pVM, pszGroupSettings); 56 56 if (VBOX_SUCCESS(rc)) 57 57 rc = pReq->iStatus; … … 90 90 91 91 PVMREQ pReq; 92 int rc = VMR3ReqCall(pVM, VMREQDEST_A LL, &pReq, RT_INDEFINITE_WAIT, (PFNRT)dbgfR3LogModifyFlags, 2, pVM, pszFlagSettings);92 int rc = VMR3ReqCall(pVM, VMREQDEST_ANY, &pReq, RT_INDEFINITE_WAIT, (PFNRT)dbgfR3LogModifyFlags, 2, pVM, pszFlagSettings); 93 93 if (VBOX_SUCCESS(rc)) 94 94 rc = pReq->iStatus; … … 127 127 128 128 PVMREQ pReq; 129 int rc = VMR3ReqCall(pVM, VMREQDEST_A LL, &pReq, RT_INDEFINITE_WAIT, (PFNRT)dbgfR3LogModifyDestinations, 2, pVM, pszDestSettings);129 int rc = VMR3ReqCall(pVM, VMREQDEST_ANY, &pReq, RT_INDEFINITE_WAIT, (PFNRT)dbgfR3LogModifyDestinations, 2, pVM, pszDestSettings); 130 130 if (VBOX_SUCCESS(rc)) 131 131 rc = pReq->iStatus; trunk/src/VBox/VMM/DBGFMem.cpp
r13755 r13782 113 113 { 114 114 PVMREQ pReq; 115 int rc = VMR3ReqCall(pVM, VMREQDEST_A LL, &pReq, RT_INDEFINITE_WAIT, (PFNRT)dbgfR3MemScan, 6,115 int rc = VMR3ReqCall(pVM, VMREQDEST_ANY, &pReq, RT_INDEFINITE_WAIT, (PFNRT)dbgfR3MemScan, 6, 116 116 pVM, pAddress, cbRange, pabNeedle, cbNeedle, pHitAddress); 117 117 if (VBOX_SUCCESS(rc)) … … 180 180 { 181 181 PVMREQ pReq; 182 int rc = VMR3ReqCallU(pVM->pUVM, VMREQDEST_A LL, &pReq, RT_INDEFINITE_WAIT, 0, (PFNRT)dbgfR3MemRead, 4,182 int rc = VMR3ReqCallU(pVM->pUVM, VMREQDEST_ANY, &pReq, RT_INDEFINITE_WAIT, 0, (PFNRT)dbgfR3MemRead, 4, 183 183 pVM, pAddress, pvBuf, cbRead); 184 184 if (VBOX_SUCCESS(rc)) … … 277 277 */ 278 278 PVMREQ pReq; 279 int rc = VMR3ReqCallU(pVM->pUVM, VMREQDEST_A LL, &pReq, RT_INDEFINITE_WAIT, 0, (PFNRT)dbgfR3MemReadString, 4,279 int rc = VMR3ReqCallU(pVM->pUVM, VMREQDEST_ANY, &pReq, RT_INDEFINITE_WAIT, 0, (PFNRT)dbgfR3MemReadString, 4, 280 280 pVM, pAddress, pszBuf, cchBuf); 281 281 if (VBOX_SUCCESS(rc)) trunk/src/VBox/VMM/DBGFOS.cpp
r13755 r13782 115 115 */ 116 116 PVMREQ pReq; 117 int rc = VMR3ReqCallU(pVM->pUVM, VMREQDEST_A LL, &pReq, RT_INDEFINITE_WAIT, 0, (PFNRT)dbgfR3OSRegister, 2, pVM, pReg);117 int rc = VMR3ReqCallU(pVM->pUVM, VMREQDEST_ANY, &pReq, RT_INDEFINITE_WAIT, 0, (PFNRT)dbgfR3OSRegister, 2, pVM, pReg); 118 118 if (RT_SUCCESS(rc)) 119 119 rc = pReq->iStatus; … … 223 223 */ 224 224 PVMREQ pReq; 225 int rc = VMR3ReqCallU(pVM->pUVM, VMREQDEST_A LL, &pReq, RT_INDEFINITE_WAIT, 0, (PFNRT)dbgfR3OSDetect, 3, pVM, pszName, cchName);225 int rc = VMR3ReqCallU(pVM->pUVM, VMREQDEST_ANY, &pReq, RT_INDEFINITE_WAIT, 0, (PFNRT)dbgfR3OSDetect, 3, pVM, pszName, cchName); 226 226 if (RT_SUCCESS(rc)) 227 227 rc = pReq->iStatus; … … 307 307 */ 308 308 PVMREQ pReq; 309 int rc = VMR3ReqCallU(pVM->pUVM, VMREQDEST_A LL, &pReq, RT_INDEFINITE_WAIT, 0, (PFNRT)dbgfR3OSQueryNameAndVersion,309 int rc = VMR3ReqCallU(pVM->pUVM, VMREQDEST_ANY, &pReq, RT_INDEFINITE_WAIT, 0, (PFNRT)dbgfR3OSQueryNameAndVersion, 310 310 5, pVM, pszName, cchName, pszVersion, cchVersion); 311 311 if (RT_SUCCESS(rc)) … … 358 358 void *pvIf = NULL; 359 359 PVMREQ pReq; 360 VMR3ReqCallVoidU(pVM->pUVM, VMREQDEST_A LL, &pReq, RT_INDEFINITE_WAIT, (PFNRT)dbgfR3OSQueryInterface, 3, pVM, enmIf, &pvIf);360 VMR3ReqCallVoidU(pVM->pUVM, VMREQDEST_ANY, &pReq, RT_INDEFINITE_WAIT, (PFNRT)dbgfR3OSQueryInterface, 3, pVM, enmIf, &pvIf); 361 361 VMR3ReqFree(pReq); 362 362 trunk/src/VBox/VMM/DBGFStack.cpp
r13755 r13782 357 357 358 358 PVMREQ pReq; 359 int rc = VMR3ReqCall(pVM, VMREQDEST_A LL, &pReq, RT_INDEFINITE_WAIT, (PFNRT)dbgfR3StackWalkCtxFull, 4,359 int rc = VMR3ReqCall(pVM, VMREQDEST_ANY, &pReq, RT_INDEFINITE_WAIT, (PFNRT)dbgfR3StackWalkCtxFull, 4, 360 360 pVM, pFrame, CPUMGetGuestCtxCore(pVM), true); 361 361 if (VBOX_SUCCESS(rc)) … … 388 388 389 389 PVMREQ pReq; 390 int rc = VMR3ReqCall(pVM, VMREQDEST_A LL, &pReq, RT_INDEFINITE_WAIT, (PFNRT)dbgfR3StackWalkCtxFull, 4,390 int rc = VMR3ReqCall(pVM, VMREQDEST_ANY, &pReq, RT_INDEFINITE_WAIT, (PFNRT)dbgfR3StackWalkCtxFull, 4, 391 391 pVM, pFrame, CPUMGetHyperCtxCore(pVM), 4); 392 392 if (VBOX_SUCCESS(rc)) trunk/src/VBox/VMM/EM.cpp
r13778 r13782 3140 3140 if (VM_FF_ISSET(pVM, VM_FF_REQUEST)) 3141 3141 { 3142 rc2 = VMR3ReqProcessU(pVM->pUVM, VMREQDEST_A LL);3142 rc2 = VMR3ReqProcessU(pVM->pUVM, VMREQDEST_ANY); 3143 3143 if (rc2 == VINF_EM_OFF || rc2 == VINF_EM_TERMINATE) 3144 3144 { trunk/src/VBox/VMM/PATM/CSAM.cpp
r13755 r13782 1955 1955 Log(("CSAMCodePageWriteHandler: delayed write!\n")); 1956 1956 AssertCompileSize(RTRCPTR, 4); 1957 rc = VMR3ReqCallEx(pVM, VMREQDEST_A LL, NULL, 0, VMREQFLAGS_NO_WAIT | VMREQFLAGS_VOID,1957 rc = VMR3ReqCallEx(pVM, VMREQDEST_ANY, NULL, 0, VMREQFLAGS_NO_WAIT | VMREQFLAGS_VOID, 1958 1958 (PFNRT)CSAMDelayedWriteHandler, 3, pVM, (RTRCPTR)GCPtr, cbBuf); 1959 1959 } trunk/src/VBox/VMM/PGMPhys.cpp
r13755 r13782 1975 1975 AssertMsg(!PDMCritSectIsOwner(&pVM->pgm.s.CritSect), ("We own the PGM lock -> deadlock danger!!\n")); 1976 1976 1977 rc = VMR3ReqCall(pVM, VMREQDEST_A LL, &pReq, RT_INDEFINITE_WAIT, (PFNRT)PGM3PhysGrowRange, 2, pVM, &GCPhysParam);1977 rc = VMR3ReqCall(pVM, VMREQDEST_ANY, &pReq, RT_INDEFINITE_WAIT, (PFNRT)PGM3PhysGrowRange, 2, pVM, &GCPhysParam); 1978 1978 if (VBOX_SUCCESS(rc)) 1979 1979 { trunk/src/VBox/VMM/PGMPool.cpp
r13755 r13782 546 546 if (!pPage->fReusedFlushPending) 547 547 { 548 int rc = VMR3ReqCallEx(pPool->pVMR3, VMREQDEST_A LL, NULL, 0, VMREQFLAGS_NO_WAIT | VMREQFLAGS_VOID, (PFNRT)pgmR3PoolFlushReusedPage, 2, pPool, pPage);548 int rc = VMR3ReqCallEx(pPool->pVMR3, VMREQDEST_ANY, NULL, 0, VMREQFLAGS_NO_WAIT | VMREQFLAGS_VOID, (PFNRT)pgmR3PoolFlushReusedPage, 2, pPool, pPage); 549 549 AssertRCReturn(rc, rc); 550 550 pPage->fReusedFlushPending = true; trunk/src/VBox/VMM/VM.cpp
r13778 r13782 230 230 */ 231 231 PVMREQ pReq; 232 rc = VMR3ReqCallU(pUVM, VMREQDEST_A LL, &pReq, RT_INDEFINITE_WAIT, 0, (PFNRT)vmR3CreateU,232 rc = VMR3ReqCallU(pUVM, VMREQDEST_ANY, &pReq, RT_INDEFINITE_WAIT, 0, (PFNRT)vmR3CreateU, 233 233 4, pUVM, cCPUs, pfnCFGMConstructor, pvUserCFGM); 234 234 if (RT_SUCCESS(rc)) … … 385 385 pUVM->vm.s.ppAtRuntimeErrorNext = &pUVM->vm.s.pAtRuntimeError; 386 386 pUVM->vm.s.enmHaltMethod = VMHALTMETHOD_BOOTSTRAP; 387 int rc = RTSemEventCreate(&pUVM->vm.s.EventSemWait); 387 388 /* Allocate a TLS entry to store the VMINTUSERPERVMCPU pointer. */ 389 int rc = RTTlsAllocEx(&pUVM->vm.s.idxTLS, NULL); 390 AssertRC(rc); 391 if (RT_FAILURE(rc)) 392 { 393 RTMemFree(pUVM); 394 return rc; 395 } 396 397 /* Initialize the VMCPU array in the UVM. */ 398 for (unsigned i=0;i<cCPUs;i++) 399 { 400 pUVM->aCpu[i].pUVM = pUVM; 401 pUVM->aCpu[i].idCPU = i; 402 } 403 404 rc = RTSemEventCreate(&pUVM->vm.s.EventSemWait); 388 405 if (RT_SUCCESS(rc)) 389 406 { … … 397 414 if (RT_SUCCESS(rc)) 398 415 { 399 rc = RTThreadCreate(&pUVM->vm.s.ThreadEMT, vmR3EmulationThread, pUVM, _1M, 400 RTTHREADTYPE_EMULATION, RTTHREADFLAGS_WAITABLE, "EMT"); 416 /* Start the emulation threads for all VMCPUs. */ 417 for (unsigned i=0;i<cCPUs;i++) 418 { 419 rc = RTThreadCreate(&pUVM->vm.s.ThreadEMT, vmR3EmulationThread, &pUVM->aCpu[i], _1M, 420 RTTHREADTYPE_EMULATION, RTTHREADFLAGS_WAITABLE, "EMT"); 421 if (RT_FAILURE(rc)) 422 break; 423 } 424 401 425 if (RT_SUCCESS(rc)) 402 426 { … … 414 438 RTSemEventDestroy(pUVM->vm.s.EventSemWait); 415 439 } 440 RTTlsFree(pUVM->vm.s.idxTLS); 416 441 RTMemFree(pUVM); 417 442 return rc; … … 955 980 */ 956 981 PVMREQ pReq; 957 int rc = VMR3ReqCall(pVM, VMREQDEST_A LL, &pReq, RT_INDEFINITE_WAIT, (PFNRT)vmR3PowerOn, 1, pVM);982 int rc = VMR3ReqCall(pVM, VMREQDEST_ANY, &pReq, RT_INDEFINITE_WAIT, (PFNRT)vmR3PowerOn, 1, pVM); 958 983 if (VBOX_SUCCESS(rc)) 959 984 { … … 1025 1050 */ 1026 1051 PVMREQ pReq; 1027 int rc = VMR3ReqCall(pVM, VMREQDEST_A LL, &pReq, RT_INDEFINITE_WAIT, (PFNRT)vmR3Suspend, 1, pVM);1052 int rc = VMR3ReqCall(pVM, VMREQDEST_ANY, &pReq, RT_INDEFINITE_WAIT, (PFNRT)vmR3Suspend, 1, pVM); 1028 1053 if (VBOX_SUCCESS(rc)) 1029 1054 { … … 1112 1137 */ 1113 1138 PVMREQ pReq; 1114 int rc = VMR3ReqCall(pVM, VMREQDEST_A LL, &pReq, RT_INDEFINITE_WAIT, (PFNRT)vmR3Resume, 1, pVM);1139 int rc = VMR3ReqCall(pVM, VMREQDEST_ANY, &pReq, RT_INDEFINITE_WAIT, (PFNRT)vmR3Resume, 1, pVM); 1115 1140 if (VBOX_SUCCESS(rc)) 1116 1141 { … … 1193 1218 */ 1194 1219 PVMREQ pReq; 1195 int rc = VMR3ReqCall(pVM, VMREQDEST_A LL, &pReq, RT_INDEFINITE_WAIT, (PFNRT)vmR3Save, 4, pVM, pszFilename, pfnProgress, pvUser);1220 int rc = VMR3ReqCall(pVM, VMREQDEST_ANY, &pReq, RT_INDEFINITE_WAIT, (PFNRT)vmR3Save, 4, pVM, pszFilename, pfnProgress, pvUser); 1196 1221 if (VBOX_SUCCESS(rc)) 1197 1222 { … … 1288 1313 */ 1289 1314 PVMREQ pReq; 1290 int rc = VMR3ReqCall(pVM, VMREQDEST_A LL, &pReq, RT_INDEFINITE_WAIT, (PFNRT)vmR3Load, 4, pVM, pszFilename, pfnProgress, pvUser);1315 int rc = VMR3ReqCall(pVM, VMREQDEST_ANY, &pReq, RT_INDEFINITE_WAIT, (PFNRT)vmR3Load, 4, pVM, pszFilename, pfnProgress, pvUser); 1291 1316 if (VBOX_SUCCESS(rc)) 1292 1317 { … … 1377 1402 */ 1378 1403 PVMREQ pReq; 1379 int rc = VMR3ReqCall(pVM, VMREQDEST_A LL, &pReq, RT_INDEFINITE_WAIT, (PFNRT)vmR3PowerOff, 1, pVM);1404 int rc = VMR3ReqCall(pVM, VMREQDEST_ANY, &pReq, RT_INDEFINITE_WAIT, (PFNRT)vmR3PowerOff, 1, pVM); 1380 1405 if (VBOX_SUCCESS(rc)) 1381 1406 { … … 1547 1572 */ 1548 1573 PVMREQ pReq = NULL; 1549 int rc = VMR3ReqCallU(pUVM, VMREQDEST_A LL, &pReq, RT_INDEFINITE_WAIT, 0, (PFNRT)vmR3Destroy, 1, pVM);1574 int rc = VMR3ReqCallU(pUVM, VMREQDEST_ANY, &pReq, RT_INDEFINITE_WAIT, 0, (PFNRT)vmR3Destroy, 1, pVM); 1550 1575 if (RT_SUCCESS(rc)) 1551 1576 rc = pReq->iStatus; … … 1775 1800 STAMR3TermUVM(pUVM); 1776 1801 1802 RTTlsFree(pUVM->vm.s.idxTLS); 1803 1777 1804 ASMAtomicUoWriteU32(&pUVM->u32Magic, UINT32_MAX); 1778 1805 RTMemFree(pUVM); … … 1933 1960 */ 1934 1961 PVMREQ pReq = NULL; 1935 rc = VMR3ReqCall(pVM, VMREQDEST_A LL, &pReq, 0, (PFNRT)vmR3Reset, 1, pVM);1962 rc = VMR3ReqCall(pVM, VMREQDEST_ANY, &pReq, 0, (PFNRT)vmR3Reset, 1, pVM); 1936 1963 while (rc == VERR_TIMEOUT) 1937 1964 rc = VMR3ReqWait(pReq, RT_INDEFINITE_WAIT); … … 2451 2478 */ 2452 2479 PVMREQ pReq; 2453 int rc = VMR3ReqCall(pVM, VMREQDEST_A LL, &pReq, RT_INDEFINITE_WAIT, (PFNRT)vmR3AtStateRegisterU, 3, pVM->pUVM, pfnAtState, pvUser);2480 int rc = VMR3ReqCall(pVM, VMREQDEST_ANY, &pReq, RT_INDEFINITE_WAIT, (PFNRT)vmR3AtStateRegisterU, 3, pVM->pUVM, pfnAtState, pvUser); 2454 2481 if (VBOX_FAILURE(rc)) 2455 2482 return rc; … … 2520 2547 */ 2521 2548 PVMREQ pReq; 2522 int rc = VMR3ReqCall(pVM, VMREQDEST_A LL, &pReq, RT_INDEFINITE_WAIT, (PFNRT)vmR3AtStateDeregisterU, 3, pVM->pUVM, pfnAtState, pvUser);2549 int rc = VMR3ReqCall(pVM, VMREQDEST_ANY, &pReq, RT_INDEFINITE_WAIT, (PFNRT)vmR3AtStateDeregisterU, 3, pVM->pUVM, pfnAtState, pvUser); 2523 2550 if (VBOX_FAILURE(rc)) 2524 2551 return rc; … … 2622 2649 */ 2623 2650 PVMREQ pReq; 2624 int rc = VMR3ReqCallU(pUVM, VMREQDEST_A LL, &pReq, RT_INDEFINITE_WAIT, 0, (PFNRT)vmR3AtErrorRegisterU, 3, pUVM, pfnAtError, pvUser);2651 int rc = VMR3ReqCallU(pUVM, VMREQDEST_ANY, &pReq, RT_INDEFINITE_WAIT, 0, (PFNRT)vmR3AtErrorRegisterU, 3, pUVM, pfnAtError, pvUser); 2625 2652 if (VBOX_FAILURE(rc)) 2626 2653 return rc; … … 2691 2718 */ 2692 2719 PVMREQ pReq; 2693 int rc = VMR3ReqCall(pVM, VMREQDEST_A LL, &pReq, RT_INDEFINITE_WAIT, (PFNRT)vmR3AtErrorDeregisterU, 3, pVM->pUVM, pfnAtError, pvUser);2720 int rc = VMR3ReqCall(pVM, VMREQDEST_ANY, &pReq, RT_INDEFINITE_WAIT, (PFNRT)vmR3AtErrorDeregisterU, 3, pVM->pUVM, pfnAtError, pvUser); 2694 2721 if (VBOX_FAILURE(rc)) 2695 2722 return rc; … … 2907 2934 */ 2908 2935 PVMREQ pReq; 2909 int rc = VMR3ReqCall(pVM, VMREQDEST_A LL, &pReq, RT_INDEFINITE_WAIT, (PFNRT)vmR3AtRuntimeErrorRegisterU, 3, pVM->pUVM, pfnAtRuntimeError, pvUser);2936 int rc = VMR3ReqCall(pVM, VMREQDEST_ANY, &pReq, RT_INDEFINITE_WAIT, (PFNRT)vmR3AtRuntimeErrorRegisterU, 3, pVM->pUVM, pfnAtRuntimeError, pvUser); 2910 2937 if (VBOX_FAILURE(rc)) 2911 2938 return rc; … … 2976 3003 */ 2977 3004 PVMREQ pReq; 2978 int rc = VMR3ReqCall(pVM, VMREQDEST_A LL, &pReq, RT_INDEFINITE_WAIT, (PFNRT)vmR3AtRuntimeErrorDeregisterU, 3, pVM->pUVM, pfnAtRuntimeError, pvUser);3005 int rc = VMR3ReqCall(pVM, VMREQDEST_ANY, &pReq, RT_INDEFINITE_WAIT, (PFNRT)vmR3AtRuntimeErrorDeregisterU, 3, pVM->pUVM, pfnAtRuntimeError, pvUser); 2979 3006 if (VBOX_FAILURE(rc)) 2980 3007 return rc; trunk/src/VBox/VMM/VMEmt.cpp
r13765 r13782 54 54 DECLCALLBACK(int) vmR3EmulationThread(RTTHREAD ThreadSelf, void *pvArgs) 55 55 { 56 PUVM pUVM = (PUVM)pvArgs; 56 PUVMCPU pUVMCPU = (PUVMCPU)pvArgs; 57 PUVM pUVM = pUVMCPU->pUVM; 58 RTCPUID idCPU = pUVMCPU->idCPU; 59 int rc = VINF_SUCCESS; 60

