Changeset 19179 in vbox
- Timestamp:
- Apr 24, 2009 6:32:02 PM (16 years ago)
- svn:sync-xref-src-repo-rev:
- 46491
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMReq.cpp
r19146 r19179 614 614 VERR_VM_REQUEST_INVALID_TYPE); 615 615 616 /** @todo SMP: Temporary hack until the unicast and broadcast cases has been 617 * implemented correctly below. It asserts + hangs now. */ 618 if (pReq->enmDest != VMREQDEST_ANY) 619 pReq->enmDest = VMREQDEST_ANY; 620 621 616 622 /* 617 623 * Are we the EMT or not? … … 620 626 int rc = VINF_SUCCESS; 621 627 PUVM pUVM = ((VMREQ volatile *)pReq)->pUVM; /* volatile paranoia */ 622 PUVMCPU pUV MCPU= (PUVMCPU)RTTlsGet(pUVM->vm.s.idxTLS);628 PUVMCPU pUVCpu = (PUVMCPU)RTTlsGet(pUVM->vm.s.idxTLS); 623 629 624 630 if (pReq->enmDest == VMREQDEST_BROADCAST) … … 630 636 PVMCPU pVCpu = &pUVM->pVM->aCpus[i]; 631 637 632 if ( !pUV MCPU633 || pUV MCPU->idCpu != i)638 if ( !pUVCpu 639 || pUVCpu->idCpu != i) 634 640 { 635 641 /* … … 671 677 } /* for each VMCPU */ 672 678 } 673 else 674 if ( pReq->enmDest != VMREQDEST_ANY /* for a specific VMCPU?*/675 && pUVMCPU->idCpu != (unsigned)pReq->enmDest)676 { 677 RTCPUID idTarget = (RTCPUID)pReq->enmDest; 679 else if ( pReq->enmDest != VMREQDEST_ANY /* for a specific VMCPU? */ 680 && ( !pUVCpu /* not an EMT */ 681 || pUVCpu->idCpu != (unsigned)pReq->enmDest)) 682 { 683 RTCPUID idTarget = (RTCPUID)pReq->enmDest; Assert(idTarget < pUVM->cCpus); 678 684 PVMCPU pVCpu = &pUVM->pVM->aCpus[idTarget]; 679 685 unsigned fFlags = ((VMREQ volatile *)pReq)->fFlags; /* volatile paranoia */ … … 707 713 } 708 714 else if ( pReq->enmDest == VMREQDEST_ANY 709 && !pUV MCPU/* only EMT threads have a valid pointer stored in the TLS slot. */)715 && !pUVCpu /* only EMT threads have a valid pointer stored in the TLS slot. */) 710 716 { 711 717 unsigned fFlags = ((VMREQ volatile *)pReq)->fFlags; /* volatile paranoia */ … … 738 744 else 739 745 { 740 Assert(pUV MCPU);746 Assert(pUVCpu); 741 747 742 748 /*
Note:
See TracChangeset
for help on using the changeset viewer.