Changeset 36490 in vbox
- Timestamp:
- Apr 1, 2011 12:16:47 PM (14 years ago)
- Location:
- trunk/src/recompiler
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/recompiler/VBoxRecompiler.c
r36430 r36490 3146 3146 3147 3147 PDMCritSectEnter(&pVM->rem.s.CritSectRegister, VERR_SEM_BUSY); 3148 cpu_register_physical_memory (GCPhys, cb, GCPhys);3148 cpu_register_physical_memory_offset(GCPhys, cb, GCPhys, GCPhys); 3149 3149 PDMCritSectLeave(&pVM->rem.s.CritSectRegister); 3150 3150 … … 3182 3182 3183 3183 PDMCritSectEnter(&pVM->rem.s.CritSectRegister, VERR_SEM_BUSY); 3184 cpu_register_physical_memory (GCPhys, cb, GCPhys | (fShadow ? 0 : IO_MEM_ROM));3184 cpu_register_physical_memory_offset(GCPhys, cb, GCPhys | (fShadow ? 0 : IO_MEM_ROM), GCPhys); 3185 3185 PDMCritSectLeave(&pVM->rem.s.CritSectRegister); 3186 3186 … … 3214 3214 3215 3215 PDMCritSectEnter(&pVM->rem.s.CritSectRegister, VERR_SEM_BUSY); 3216 cpu_register_physical_memory (GCPhys, cb, IO_MEM_UNASSIGNED);3216 cpu_register_physical_memory_offset(GCPhys, cb, IO_MEM_UNASSIGNED, GCPhys); 3217 3217 PDMCritSectLeave(&pVM->rem.s.CritSectRegister); 3218 3218 … … 3247 3247 PDMCritSectEnter(&pVM->rem.s.CritSectRegister, VERR_SEM_BUSY); 3248 3248 if (enmType == PGMPHYSHANDLERTYPE_MMIO) 3249 cpu_register_physical_memory (GCPhys, cb, pVM->rem.s.iMMIOMemType);3249 cpu_register_physical_memory_offset(GCPhys, cb, pVM->rem.s.iMMIOMemType, GCPhys); 3250 3250 else if (fHasHCHandler) 3251 cpu_register_physical_memory (GCPhys, cb, pVM->rem.s.iHandlerMemType);3251 cpu_register_physical_memory_offset(GCPhys, cb, pVM->rem.s.iHandlerMemType, GCPhys); 3252 3252 PDMCritSectLeave(&pVM->rem.s.CritSectRegister); 3253 3253 … … 3296 3296 /** @todo this isn't right, MMIO can (in theory) be restored as RAM. */ 3297 3297 if (enmType == PGMPHYSHANDLERTYPE_MMIO) 3298 cpu_register_physical_memory (GCPhys, cb, IO_MEM_UNASSIGNED);3298 cpu_register_physical_memory_offset(GCPhys, cb, IO_MEM_UNASSIGNED, GCPhys); 3299 3299 else if (fHasHCHandler) 3300 3300 { … … 3302 3302 { 3303 3303 Assert(GCPhys > MMR3PhysGetRamSize(pVM)); 3304 cpu_register_physical_memory (GCPhys, cb, IO_MEM_UNASSIGNED);3304 cpu_register_physical_memory_offset(GCPhys, cb, IO_MEM_UNASSIGNED, GCPhys); 3305 3305 } 3306 3306 else … … 3308 3308 Assert(RT_ALIGN_T(GCPhys, PAGE_SIZE, RTGCPHYS) == GCPhys); 3309 3309 Assert(RT_ALIGN_T(cb, PAGE_SIZE, RTGCPHYS) == cb); 3310 cpu_register_physical_memory (GCPhys, cb, GCPhys);3310 cpu_register_physical_memory_offset(GCPhys, cb, GCPhys, GCPhys); 3311 3311 } 3312 3312 } … … 3360 3360 PDMCritSectEnter(&pVM->rem.s.CritSectRegister, VERR_SEM_BUSY); 3361 3361 if (!fRestoreAsRAM) 3362 cpu_register_physical_memory (GCPhysOld, cb, IO_MEM_UNASSIGNED);3362 cpu_register_physical_memory_offset(GCPhysOld, cb, IO_MEM_UNASSIGNED, GCPhysOld); 3363 3363 else 3364 3364 { … … 3366 3366 Assert(cb == PAGE_SIZE); 3367 3367 Assert(RT_ALIGN_T(GCPhysOld, PAGE_SIZE, RTGCPHYS) == GCPhysOld); 3368 cpu_register_physical_memory (GCPhysOld, cb, GCPhysOld);3368 cpu_register_physical_memory_offset(GCPhysOld, cb, GCPhysOld, GCPhysOld); 3369 3369 } 3370 3370 … … 3374 3374 Assert(RT_ALIGN_T(GCPhysNew, PAGE_SIZE, RTGCPHYS) == GCPhysNew); 3375 3375 Assert(RT_ALIGN_T(cb, PAGE_SIZE, RTGCPHYS) == cb); 3376 cpu_register_physical_memory (GCPhysNew, cb, pVM->rem.s.iHandlerMemType);3376 cpu_register_physical_memory_offset(GCPhysNew, cb, pVM->rem.s.iHandlerMemType, GCPhysNew); 3377 3377 PDMCritSectLeave(&pVM->rem.s.CritSectRegister); 3378 3378 -
trunk/src/recompiler/exec.c
r36250 r36490 2331 2331 IO_MEM_ROMD uses these as a ram address. */ 2332 2332 iotlb = (pd & ~TARGET_PAGE_MASK); 2333 #ifndef VBOX2334 2333 if (p) { 2335 #else2336 if ( p2337 && p->phys_offset2338 && (pd & ~TARGET_PAGE_MASK) != env->pVM->rem.s.iMMIOMemType2339 && (pd & ~TARGET_PAGE_MASK) != env->pVM->rem.s.iHandlerMemType) {2340 #endif2341 2334 iotlb += p->region_offset; 2342 2335 } else {
Note:
See TracChangeset
for help on using the changeset viewer.