Changeset 37723 in vbox for trunk/src/recompiler/VBoxRecompiler.c
- Timestamp:
- Jun 30, 2011 11:52:19 PM (14 years ago)
- svn:sync-xref-src-repo-rev:
- 72585
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/recompiler/VBoxRecompiler.c
r37702 r37723 220 220 #endif 221 221 222 /** Prologue code, must be in lower 4G to simplify jumps to/from generated code. */ 222 /** Prologue code, must be in lower 4G to simplify jumps to/from generated code. 223 * @todo huh??? That cannot be the case on the mac... So, this 224 * point is probably not valid any longer. */ 223 225 uint8_t *code_gen_prologue; 224 226 … … 2112 2114 2113 2115 /* 2114 * Replay invlpg? 2115 */ 2116 * Replay invlpg? Only if we're not flushing the TLB. 2117 */ 2118 fFlags = CPUMR3RemEnter(pVCpu, &uCpl); 2119 LogFlow(("CPUMR3RemEnter %x %x\n", fFlags, uCpl)); 2116 2120 if (pVM->rem.s.cInvalidatedPages) 2117 2121 { 2118 RTUINT i; 2119 2120 pVM->rem.s.fIgnoreInvlPg = true; 2121 for (i = 0; i < pVM->rem.s.cInvalidatedPages; i++) 2122 if (!(fFlags & CPUM_CHANGED_GLOBAL_TLB_FLUSH)) 2122 2123 { 2123 Log2(("REMR3State: invlpg %RGv\n", pVM->rem.s.aGCPtrInvalidatedPages[i])); 2124 tlb_flush_page(&pVM->rem.s.Env, pVM->rem.s.aGCPtrInvalidatedPages[i]); 2124 RTUINT i; 2125 2126 pVM->rem.s.fIgnoreCR3Load = true; 2127 pVM->rem.s.fIgnoreInvlPg = true; 2128 for (i = 0; i < pVM->rem.s.cInvalidatedPages; i++) 2129 { 2130 Log2(("REMR3State: invlpg %RGv\n", pVM->rem.s.aGCPtrInvalidatedPages[i])); 2131 tlb_flush_page(&pVM->rem.s.Env, pVM->rem.s.aGCPtrInvalidatedPages[i]); 2132 } 2133 pVM->rem.s.fIgnoreInvlPg = false; 2134 pVM->rem.s.fIgnoreCR3Load = false; 2125 2135 } 2126 pVM->rem.s.fIgnoreInvlPg = false;2127 2136 pVM->rem.s.cInvalidatedPages = 0; 2128 2137 } … … 2151 2160 * Registers which are rarely changed and require special handling / order when changed. 2152 2161 */ 2153 fFlags = CPUMR3RemEnter(pVCpu, &uCpl);2154 LogFlow(("CPUMR3RemEnter %x %x\n", fFlags, uCpl));2155 2162 if (fFlags & ( CPUM_CHANGED_GLOBAL_TLB_FLUSH 2156 2163 | CPUM_CHANGED_CR4
Note:
See TracChangeset
for help on using the changeset viewer.