Changeset 36056 in vbox for trunk/src/recompiler
- Timestamp:
- Feb 22, 2011 6:19:03 PM (14 years ago)
- svn:sync-xref-src-repo-rev:
- 70168
- Location:
- trunk/src/recompiler
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/recompiler/VBoxRecompiler.c
r36054 r36056 78 78 #define REM_COPY_FPU_REG(pDst, pSrc) \ 79 79 do { *(PX86FPUMMX)(pDst) = *(const X86FPUMMX *)(pSrc); } while (0) 80 81 /** How remR3RunLoggingStep operates. */ 82 #define REM_USE_QEMU_SINGLE_STEP_FOR_LOGGING 80 83 81 84 … … 951 954 int interrupt_request = pVM->rem.s.Env.interrupt_request; 952 955 Assert(!(interrupt_request & ~(CPU_INTERRUPT_HARD | CPU_INTERRUPT_EXIT | CPU_INTERRUPT_EXITTB | CPU_INTERRUPT_TIMER | CPU_INTERRUPT_EXTERNAL_HARD | CPU_INTERRUPT_EXTERNAL_EXIT | CPU_INTERRUPT_EXTERNAL_TIMER))); 956 #ifdef REM_USE_QEMU_SINGLE_STEP_FOR_LOGGING 957 cpu_single_step(&pVM->rem.s.Env, 0); 958 #endif 953 959 Assert(!pVM->rem.s.Env.singlestep_enabled); 960 954 961 /* 955 962 * Now we set the execute single instruction flag and enter the cpu_exec loop. … … 1074 1081 { 1075 1082 int rc; 1076 Assert(!pVM->rem.s.Env.singlestep_enabled); 1083 1077 1084 Assert(pVM->rem.s.fInREM); 1078 /* #define REM_USE_QEMU_SINGLE_STEP_FOR_LOGGING - slow (tb flushing?) */1079 1085 #ifdef REM_USE_QEMU_SINGLE_STEP_FOR_LOGGING 1080 1086 cpu_single_step(&pVM->rem.s.Env, 1); 1087 #else 1088 Assert(!pVM->rem.s.Env.singlestep_enabled); 1081 1089 #endif 1082 1090 … … 1251 1259 1252 1260 #ifdef REM_USE_QEMU_SINGLE_STEP_FOR_LOGGING 1253 cpu_single_step(&pVM->rem.s.Env, 0);1261 // cpu_single_step(&pVM->rem.s.Env, 0); 1254 1262 #else 1255 1263 pVM->rem.s.Env.interrupt_request &= ~(CPU_INTERRUPT_SINGLE_INSTR | CPU_INTERRUPT_SINGLE_INSTR_IN_FLIGHT); … … 3851 3859 else 3852 3860 pVM->rem.s.Env.state &= ~CPU_EMULATE_SINGLE_STEP; 3861 #ifdef REM_USE_QEMU_SINGLE_STEP_FOR_LOGGING 3862 cpu_single_step(&pVM->rem.s.Env, fEnable); 3863 #endif 3853 3864 return VINF_SUCCESS; 3854 3865 } -
trunk/src/recompiler/cpu-exec.c
r36054 r36056 372 372 || !(env->eflags & IF_MASK) 373 373 || (env->hflags & HF_INHIBIT_IRQ_MASK) 374 || (env->state & (CPU_RAW_HWACC | CPU_EMULATE_SINGLE_STEP))374 || (env->state & CPU_RAW_HWACC) 375 375 ) 376 376 { -
trunk/src/recompiler/target-i386/translate.c
r33656 r36056 3157 3157 #endif /* VBOX */ 3158 3158 3159 if (s->singlestep_enabled) { 3159 if ( s->singlestep_enabled 3160 #ifdef VBOX 3161 && ( !(cpu_single_env->state & CPU_EMULATE_SINGLE_STEP) 3162 || !(s->prefix & (PREFIX_REPNZ | PREFIX_REPZ) )) 3163 #endif 3164 ) { 3160 3165 tcg_gen_helper_0_0(helper_debug); 3161 3166 } else if (s->tf) {
Note:
See TracChangeset
for help on using the changeset viewer.