Changeset 19426 in vbox for trunk/src/VBox/VMM
- Timestamp:
- May 6, 2009 1:02:34 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/EM.cpp
r19424 r19426 162 162 pVCpu->em.s.offVMCPU = RT_OFFSETOF(VMCPU, em.s); 163 163 164 pVCpu->em.s.enmState = EMSTATE_NONE;164 pVCpu->em.s.enmState = (i == 0) ? EMSTATE_NONE : EMSTATE_WAIT_SIPI; 165 165 pVCpu->em.s.fForceRAW = false; 166 166 … … 634 634 case EMSTATE_PARAV: return "EMSTATE_PARAV"; 635 635 case EMSTATE_HALTED: return "EMSTATE_HALTED"; 636 case EMSTATE_WAIT_SIPI: return "EMSTATE_WAIT_SIPI"; 636 637 case EMSTATE_SUSPENDED: return "EMSTATE_SUSPENDED"; 637 638 case EMSTATE_TERMINATING: return "EMSTATE_TERMINATING"; … … 3103 3104 return EMSTATE_RAW; 3104 3105 3106 /* 3107 * We stay in the wait for SIPI state unless explicitly told otherwise. 3108 */ 3109 if (pVCpu->em.s.enmState == EMSTATE_WAIT_SIPI) 3110 return EMSTATE_WAIT_SIPI; 3111 3105 3112 /* !!! THIS MUST BE IN SYNC WITH remR3CanExecuteRaw !!! */ 3106 3113 /* !!! THIS MUST BE IN SYNC WITH remR3CanExecuteRaw !!! */ … … 3588 3595 pVCpu->em.s.enmState, EMR3GetStateName(pVCpu->em.s.enmState), pVCpu->em.s.fForceRAW)); 3589 3596 VM_ASSERT_EMT(pVM); 3590 Assert(pVCpu->em.s.enmState == EMSTATE_NONE || pVCpu->em.s.enmState == EMSTATE_ SUSPENDED);3597 Assert(pVCpu->em.s.enmState == EMSTATE_NONE || pVCpu->em.s.enmState == EMSTATE_WAIT_SIPI || pVCpu->em.s.enmState == EMSTATE_SUSPENDED); 3591 3598 3592 3599 int rc = setjmp(pVCpu->em.s.u.FatalLongJump); … … 3731 3738 else 3732 3739 { 3733 /* All other VCPUs go into the halted state until woken up again. */3734 pVCpu->em.s.enmState = EMSTATE_ HALTED;3740 /* All other VCPUs go into the wait for SIPI state. */ 3741 pVCpu->em.s.enmState = EMSTATE_WAIT_SIPI; 3735 3742 } 3736 3743 break; … … 3880 3887 3881 3888 /* 3889 * Application processor execution halted until SIPI. 3890 */ 3891 case EMSTATE_WAIT_SIPI: 3892 Assert(!(CPUMGetGuestEFlags(pVCpu) & X86_EFL_IF)); 3893 /* no break */ 3894 /* 3882 3895 * hlt - execution halted until interrupt. 3883 3896 */
Note:
See TracChangeset
for help on using the changeset viewer.