Changeset 37702 in vbox for trunk/src/recompiler/VBoxRecompiler.c
- Timestamp:
- Jun 30, 2011 10:09:59 AM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/recompiler/VBoxRecompiler.c
r37689 r37702 311 311 CPUMGetGuestCpuId(pVCpu, 0x80000001, &u32Dummy, &u32Dummy, &pVM->rem.s.Env.cpuid_ext3_features, &pVM->rem.s.Env.cpuid_ext2_features); 312 312 313 EMRemLock(pVM); 313 314 cpu_reset(&pVM->rem.s.Env); 315 EMRemUnlock(pVM); 314 316 315 317 /* allocate code buffer for single instruction emulation. */ … … 607 609 REMR3DECL(void) REMR3Reset(PVM pVM) 608 610 { 611 EMRemLock(pVM); /* Only pro forma, we're in a rendezvous. */ 612 609 613 /* 610 614 * Reset the REM cpu. … … 622 626 /* Flush the TBs the next time we execute code here. */ 623 627 pVM->rem.s.fFlushTBs = true; 628 629 EMRemUnlock(pVM); 624 630 } 625 631 … … 764 770 765 771 /* 766 * Sync the Load Flush the TLB767 */768 tlb_flush(&pRem->Env, 1);769 770 /*771 772 * Stop ignoring ignorable notifications. 772 773 */ … … 814 815 */ 815 816 interrupt_request = pVM->rem.s.Env.interrupt_request; 816 Assert(!(interrupt_request & ~(CPU_INTERRUPT_HARD | CPU_INTERRUPT_EXITTB | CPU_INTERRUPT_TIMER | CPU_INTERRUPT_EXTERNAL_HARD | CPU_INTERRUPT_EXTERNAL_EXIT | CPU_INTERRUPT_EXTERNAL_ TIMER)));817 Assert(!(interrupt_request & ~(CPU_INTERRUPT_HARD | CPU_INTERRUPT_EXITTB | CPU_INTERRUPT_TIMER | CPU_INTERRUPT_EXTERNAL_HARD | CPU_INTERRUPT_EXTERNAL_EXIT | CPU_INTERRUPT_EXTERNAL_FLUSH_TLB | CPU_INTERRUPT_EXTERNAL_TIMER))); 817 818 pVM->rem.s.Env.interrupt_request = 0; 818 819 cpu_single_step(&pVM->rem.s.Env, 1); … … 954 955 { 955 956 int interrupt_request = pVM->rem.s.Env.interrupt_request; 956 Assert(!(interrupt_request & ~(CPU_INTERRUPT_HARD | CPU_INTERRUPT_EXITTB | CPU_INTERRUPT_TIMER | CPU_INTERRUPT_EXTERNAL_HARD | CPU_INTERRUPT_EXTERNAL_EXIT | CPU_INTERRUPT_EXTERNAL_ TIMER)));957 Assert(!(interrupt_request & ~(CPU_INTERRUPT_HARD | CPU_INTERRUPT_EXITTB | CPU_INTERRUPT_TIMER | CPU_INTERRUPT_EXTERNAL_HARD | CPU_INTERRUPT_EXTERNAL_EXIT | CPU_INTERRUPT_EXTERNAL_FLUSH_TLB | CPU_INTERRUPT_EXTERNAL_TIMER))); 957 958 #ifdef REM_USE_QEMU_SINGLE_STEP_FOR_LOGGING 958 959 cpu_single_step(&pVM->rem.s.Env, 0); … … 1677 1678 int rc; 1678 1679 1680 Assert(EMRemIsLockOwner(env->pVM)); 1681 1679 1682 /* 1680 1683 * When we're replaying invlpg instructions or restoring a saved … … 1786 1789 void remR3FlushTLB(CPUX86State *env, bool fGlobal) 1787 1790 { 1788 PVM pVM = env->pVM;1791 PVM pVM = env->pVM; 1789 1792 PCPUMCTX pCtx; 1793 Assert(EMRemIsLockOwner(pVM)); 1790 1794 1791 1795 /*
Note:
See TracChangeset
for help on using the changeset viewer.