Changeset 20660 in vbox for trunk/src/VBox/VMM
- Timestamp:
- Jun 17, 2009 11:33:02 AM (16 years ago)
- svn:sync-xref-src-repo-rev:
- 48753
- Location:
- trunk/src/VBox/VMM/VMMR0
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR0/HWSVMR0.cpp
r20655 r20660 856 856 bool fSyncTPR = false; 857 857 unsigned cResume = 0; 858 uint8_t u8Last VTPR;858 uint8_t u8LastTPR; 859 859 PHWACCM_CPUINFO pCpu = 0; 860 860 RTCCUINTREG uOldEFlags = ~(RTCCUINTREG)0; … … 984 984 985 985 /* TPR caching in CR8 */ 986 int rc = PDMApicGetTPR(pVCpu, &u8Last VTPR, &fPending);986 int rc = PDMApicGetTPR(pVCpu, &u8LastTPR, &fPending); 987 987 AssertRC(rc); 988 pVMCB->ctrl.IntCtrl.n.u8VTPR = u8Last VTPR;988 pVMCB->ctrl.IntCtrl.n.u8VTPR = u8LastTPR; 989 989 990 990 if (fPending) … … 1378 1378 #endif 1379 1379 1380 if (fSyncTPR) 1380 /* Sync back the TPR if it was changed. */ 1381 if ( fSyncTPR 1382 && u8LastTPR != pVMCB->ctrl.IntCtrl.n.u8VTPR) 1381 1383 { 1382 1384 rc = PDMApicSetTPR(pVCpu, pVMCB->ctrl.IntCtrl.n.u8VTPR); -
trunk/src/VBox/VMM/VMMR0/HWVMXR0.cpp
r20655 r20660 2004 2004 RTGCUINTPTR intInfo = 0; /* shut up buggy gcc 4 */ 2005 2005 RTGCUINTPTR errCode, instrInfo; 2006 bool fSyncTPR = false;2007 2006 bool fSetupTPRCaching = false; 2007 uint8_t u8LastTPR = 0; 2008 2008 PHWACCM_CPUINFO pCpu = 0; 2009 2009 RTCCUINTREG uOldEFlags = ~(RTCCUINTREG)0; … … 2224 2224 AssertRC(rc); 2225 2225 /* The TPR can be found at offset 0x80 in the APIC mmio page. */ 2226 pVCpu->hwaccm.s.vmx.pVAPIC[0x80] = u8TPR << 4; /* bits 7-4 contain the task priority */2226 u8LastTPR = pVCpu->hwaccm.s.vmx.pVAPIC[0x80] = u8TPR << 4; /* bits 7-4 contain the task priority */ 2227 2227 2228 2228 /* Two options here: … … 2234 2234 rc = VMXWriteVMCS(VMX_VMCS_CTRL_TPR_THRESHOLD, (fPending) ? u8TPR : 0); 2235 2235 AssertRC(rc); 2236 2237 /* Always sync back the TPR; we should optimize this though */ /** @todo optimize TPR sync. */2238 fSyncTPR = true;2239 2236 } 2240 2237 … … 2426 2423 Log2(("IntInfo = %08x\n", (uint32_t)intInfo)); 2427 2424 2428 if (fSyncTPR) 2425 /* Sync back the TPR if it was changed. */ 2426 if ( fSetupTPRCaching 2427 && u8LastTPR != pVCpu->hwaccm.s.vmx.pVAPIC[0x80]) 2429 2428 { 2430 2429 rc = PDMApicSetTPR(pVCpu, pVCpu->hwaccm.s.vmx.pVAPIC[0x80] >> 4);
Note:
See TracChangeset
for help on using the changeset viewer.