Changeset 39038 in vbox for trunk/src/VBox/VMM/VMMR0/HWSVMR0.cpp
- Timestamp:
- Oct 19, 2011 2:36:27 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR0/HWSVMR0.cpp
r38816 r39038 964 964 uint64_t exitCode = (uint64_t)SVM_EXIT_INVALID; 965 965 SVM_VMCB *pVMCB; 966 bool fSyncTPR = false;967 966 unsigned cResume = 0; 968 uint8_t u8LastTPR;969 967 PHMGLOBLCPUINFO pCpu = 0; 970 968 RTCCUINTREG uOldEFlags = ~(RTCCUINTREG)0; … … 1092 1090 * Note! Interrupts must be disabled done *before* we check for TLB flushes; TLB 1093 1091 * shootdowns rely on this. 1094 */ 1092 */ 1095 1093 uOldEFlags = ASMIntDisableFlags(); 1096 1094 if (RTThreadPreemptIsPending(NIL_RTTHREAD)) … … 1111 1109 /* TPR caching using CR8 is only available in 64 bits mode or with 32 bits guests when X86_CPUID_AMD_FEATURE_ECX_CR8L is supported. */ 1112 1110 /* Note: we can't do this in LoadGuestState as PDMApicGetTPR can jump back to ring 3 (lock)!!!!!!!! (no longer true) 1113 * @todo query and update the TPR only when it could have been changed (mmio access)1114 1111 */ 1112 /** @todo query and update the TPR only when it could have been changed (mmio access) 1113 */ 1114 bool fSyncTPR = false; 1115 uint8_t u8LastTPR = 0; /* Initialized for potentially stupid compilers. */ 1115 1116 if (pVM->hwaccm.s.fHasIoApic) 1116 1117 { 1118 /* TPR caching in CR8 */ 1117 1119 bool fPending; 1118 1119 /* TPR caching in CR8 */1120 1120 rc2 = PDMApicGetTPR(pVCpu, &u8LastTPR, &fPending); 1121 1121 AssertRC(rc2); … … 1587 1587 else 1588 1588 { 1589 if ((u 8LastTPR >> 4) != pVMCB->ctrl.IntCtrl.n.u8VTPR)1589 if ((uint8_t)(u8LastTPR >> 4) != pVMCB->ctrl.IntCtrl.n.u8VTPR) 1590 1590 { 1591 1591 rc2 = PDMApicSetTPR(pVCpu, pVMCB->ctrl.IntCtrl.n.u8VTPR << 4); /* cr8 bits 3-0 correspond to bits 7-4 of the task priority mmio register. */
Note:
See TracChangeset
for help on using the changeset viewer.