Changeset 2173 in vbox
- Timestamp:
- Apr 18, 2007 1:21:19 PM (18 years ago)
- svn:sync-xref-src-repo-rev:
- 20504
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/EM.cpp
r2161 r2173 977 977 int rc; 978 978 PCPUMCTX pCtx = pVM->em.s.pCtx; 979 bool fGuest = pVM->em.s.enmState != EMSTATE_DEBUG_HYPER; 980 if (fGuest) 981 { 982 VM_FF_CLEAR(pVM, (VM_FF_SELM_SYNC_GDT | VM_FF_SELM_SYNC_LDT | VM_FF_TRPM_SYNC_IDT | VM_FF_SELM_SYNC_TSS)); 983 984 /* 985 * Check vital forced actions, but ignore pending interrupts and timers. 986 */ 987 if (VM_FF_ISPENDING(pVM, VM_FF_HIGH_PRIORITY_PRE_RAW_MASK)) 988 { 989 rc = emR3RawForcedActions(pVM, pCtx); 990 if (VBOX_FAILURE(rc)) 991 return rc; 992 } 993 994 /* 995 * Set flags for single stepping. 996 */ 997 CPUMSetGuestEFlags(pVM, CPUMGetGuestEFlags(pVM) | X86_EFL_TF | X86_EFL_RF); 998 } 999 else 1000 CPUMSetHyperEFlags(pVM, CPUMGetHyperEFlags(pVM) | X86_EFL_TF | X86_EFL_RF); 979 VM_FF_CLEAR(pVM, (VM_FF_SELM_SYNC_GDT | VM_FF_SELM_SYNC_LDT | VM_FF_TRPM_SYNC_IDT | VM_FF_SELM_SYNC_TSS)); 980 981 /* 982 * Check vital forced actions, but ignore pending interrupts and timers. 983 */ 984 if (VM_FF_ISPENDING(pVM, VM_FF_HIGH_PRIORITY_PRE_RAW_MASK)) 985 { 986 rc = emR3RawForcedActions(pVM, pCtx); 987 if (VBOX_FAILURE(rc)) 988 return rc; 989 } 990 991 /* 992 * Set flags for single stepping. 993 */ 994 CPUMSetGuestEFlags(pVM, CPUMGetGuestEFlags(pVM) | X86_EFL_TF); 1001 995 1002 996 /*
Note:
See TracChangeset
for help on using the changeset viewer.