Changeset 17292 in vbox
- Timestamp:
- Mar 3, 2009 3:31:32 PM (16 years ago)
- svn:sync-xref-src-repo-rev:
- 43658
- Location:
- trunk
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/hwaccm.h
r17246 r17292 120 120 VMMR3DECL(bool) HWACCMR3IsVPIDActive(PVM pVM); 121 121 VMMR3DECL(int) HWACCMR3InjectNMI(PVM pVM); 122 VMMR3DECL(void) HWACCMR3EmulateIoBlock(PVM pVM, PCPUMCTX pCtx); 122 123 123 124 /** @} */ -
trunk/src/VBox/VMM/EM.cpp
r17284 r17292 2360 2360 */ 2361 2361 case VINF_EM_RAW_EMULATE_IO_BLOCK: 2362 HWACCMR3EmulateIoBlock(pVM, pCtx); 2362 2363 rc = VINF_EM_RESCHEDULE_REM; 2363 2364 break; -
trunk/src/VBox/VMM/HWACCM.cpp
r17246 r17292 1190 1190 1191 1191 /** 1192 * Force execution of the current IO code in the recompiler 1193 * 1194 * @param pVM The VM to operate on. 1195 * @param pCtx Partial VM execution context 1196 */ 1197 VMMR3DECL(void) HWACCMR3EmulateIoBlock(PVM pVM, PCPUMCTX pCtx) 1198 { 1199 PVMCPU pVCpu = VMMGetCpu(pVM); 1200 1201 Assert(pVM->fHWACCMEnabled); 1202 pVCpu->hwaccm.s.EmulateIoBlock.fEnabled = true; 1203 pVCpu->hwaccm.s.EmulateIoBlock.GCPtrFunctionEsp = pCtx->rsp; 1204 } 1205 1206 /** 1192 1207 * Checks if we can currently use hardware accelerated raw mode. 1193 1208 * … … 1198 1213 VMMR3DECL(bool) HWACCMR3CanExecuteGuest(PVM pVM, PCPUMCTX pCtx) 1199 1214 { 1215 PVMCPU pVCpu = VMMGetCpu(pVM); 1216 1200 1217 Assert(pVM->fHWACCMEnabled); 1218 1219 if ( RT_UNLIKELY(pVCpu->hwaccm.s.EmulateIoBlock.fEnabled) 1220 && pCtx->rsp < pVCpu->hwaccm.s.EmulateIoBlock.GCPtrFunctionEsp) 1221 return false; 1222 1223 pVCpu->hwaccm.s.EmulateIoBlock.fEnabled = false; 1201 1224 1202 1225 /* AMD SVM supports real & protected mode with or without paging. */ -
trunk/src/VBox/VMM/HWACCMInternal.h
r15962 r17292 549 549 uint64_t intInfo; 550 550 } Event; 551 552 /** IO Block emulation state. */ 553 struct 554 { 555 bool fEnabled; 556 uint8_t u8Align[7]; 557 558 /** Esp at the start of the io code we wish to emulate in the recompiler. */ 559 RTGCPTR GCPtrFunctionEsp; 560 } EmulateIoBlock; 551 561 552 562 /** Currenty shadow paging mode. */
Note:
See TracChangeset
for help on using the changeset viewer.