Changeset 60650 in vbox
- Timestamp:
- Apr 22, 2016 1:53:12 PM (8 years ago)
- Location:
- trunk/src/VBox/VMM
- Files:
-
- 2 edited
-
VMMAll/APICAll.cpp (modified) (30 diffs)
-
VMMR3/APIC.cpp (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/APICAll.cpp
r60646 r60650 621 621 APICPostInterrupt(&pVM->aCpus[idCpu], uVector, enmTriggerMode); 622 622 else 623 Log 4(("APIC: apicSendIntr: No CPU found for lowest-priority delivery mode!\n"));623 Log2(("APIC: apicSendIntr: No CPU found for lowest-priority delivery mode!\n")); 624 624 break; 625 625 } … … 631 631 if (VMCPUSET_IS_PRESENT(pDestCpuSet, idCpu)) 632 632 { 633 Log 4(("APIC: apicSendIntr: Raising SMI on VCPU%u\n", idCpu));633 Log2(("APIC: apicSendIntr: Raising SMI on VCPU%u\n", idCpu)); 634 634 APICSetInterruptFF(&pVM->aCpus[idCpu], PDMAPICIRQ_SMI); 635 635 } … … 645 645 && apicIsEnabled(&pVM->aCpus[idCpu])) 646 646 { 647 Log 4(("APIC: apicSendIntr: Raising NMI on VCPU%u\n", idCpu));647 Log2(("APIC: apicSendIntr: Raising NMI on VCPU%u\n", idCpu)); 648 648 APICSetInterruptFF(&pVM->aCpus[idCpu], PDMAPICIRQ_NMI); 649 649 } … … 658 658 if (VMCPUSET_IS_PRESENT(pDestCpuSet, idCpu)) 659 659 { 660 Log 4(("APIC: apicSendIntr: Issuing INIT to VCPU%u\n", idCpu));660 Log2(("APIC: apicSendIntr: Issuing INIT to VCPU%u\n", idCpu)); 661 661 VMMR3SendInitIpi(pVM, idCpu); 662 662 } … … 674 674 if (VMCPUSET_IS_PRESENT(pDestCpuSet, idCpu)) 675 675 { 676 Log 4(("APIC: apicSendIntr: Issuing SIPI to VCPU%u\n", idCpu));676 Log2(("APIC: apicSendIntr: Issuing SIPI to VCPU%u\n", idCpu)); 677 677 VMMR3SendStartupIpi(pVM, idCpu, uVector); 678 678 } … … 689 689 if (VMCPUSET_IS_PRESENT(pDestCpuSet, idCpu)) 690 690 { 691 Log 4(("APIC: apicSendIntr: Raising EXTINT on VCPU%u\n", idCpu));691 Log2(("APIC: apicSendIntr: Raising EXTINT on VCPU%u\n", idCpu)); 692 692 APICSetInterruptFF(&pVM->aCpus[idCpu], PDMAPICIRQ_EXTINT); 693 693 } … … 946 946 && enmTriggerMode == XAPICTRIGGERMODE_LEVEL)) 947 947 { 948 Log 4(("APIC%u: INIT level de-assert unsupported, ignoring!\n", pVCpu->idCpu));948 Log2(("APIC%u: INIT level de-assert unsupported, ignoring!\n", pVCpu->idCpu)); 949 949 return VINF_SUCCESS; 950 950 } … … 1007 1007 PXAPICPAGE pXApicPage = VMCPU_TO_XAPICPAGE(pVCpu); 1008 1008 pXApicPage->icr_hi.all.u32IcrHi = uIcrHi & XAPIC_ICR_HI_DEST; 1009 Log 4(("APIC%u: apicSetIcrHi: uIcrHi=%#RX32\n", pVCpu->idCpu, pXApicPage->icr_hi.all.u32IcrHi));1009 Log2(("APIC%u: apicSetIcrHi: uIcrHi=%#RX32\n", pVCpu->idCpu, pXApicPage->icr_hi.all.u32IcrHi)); 1010 1010 1011 1011 return VINF_SUCCESS; … … 1028 1028 PXAPICPAGE pXApicPage = VMCPU_TO_XAPICPAGE(pVCpu); 1029 1029 pXApicPage->icr_lo.all.u32IcrLo = uIcrLo & XAPIC_ICR_LO_WR; 1030 Log 4(("APIC%u: apicSetIcrLo: uIcrLo=%#RX32\n", pVCpu->idCpu, pXApicPage->icr_lo.all.u32IcrLo));1030 Log2(("APIC%u: apicSetIcrLo: uIcrLo=%#RX32\n", pVCpu->idCpu, pXApicPage->icr_lo.all.u32IcrLo)); 1031 1031 1032 1032 return apicSendIpi(pVCpu, rcRZ); … … 1072 1072 VMCPU_ASSERT_EMT(pVCpu); 1073 1073 1074 Log 4(("APIC%u: apicSetEr: uEsr=%#RX32\n", pVCpu->idCpu, uEsr));1074 Log2(("APIC%u: apicSetEr: uEsr=%#RX32\n", pVCpu->idCpu, uEsr)); 1075 1075 1076 1076 if ( XAPIC_IN_X2APIC_MODE(pVCpu) … … 1166 1166 VMCPU_ASSERT_EMT(pVCpu); 1167 1167 1168 Log 4(("APIC%u: apicSetEoi: uEoi=%#RX32\n", pVCpu->idCpu, uEoi));1168 Log2(("APIC%u: apicSetEoi: uEoi=%#RX32\n", pVCpu->idCpu, uEoi)); 1169 1169 1170 1170 if ( XAPIC_IN_X2APIC_MODE(pVCpu) … … 1192 1192 } 1193 1193 1194 Log 4(("APIC%u: apicSetEoi: Acknowledged %s triggered interrupt. uVector=%#x\n", pVCpu->idCpu,1194 Log2(("APIC%u: apicSetEoi: Acknowledged %s triggered interrupt. uVector=%#x\n", pVCpu->idCpu, 1195 1195 fLevelTriggered ? "level" : "edge", uVector)); 1196 1196 … … 1217 1217 Assert(!XAPIC_IN_X2APIC_MODE(pVCpu)); 1218 1218 1219 Log 4(("APIC%u: apicSetLdr: uLdr=%#RX32\n", pVCpu->idCpu, uLdr));1219 Log2(("APIC%u: apicSetLdr: uLdr=%#RX32\n", pVCpu->idCpu, uLdr)); 1220 1220 1221 1221 PXAPICPAGE pXApicPage = VMCPU_TO_XAPICPAGE(pVCpu); … … 1242 1242 uDfr |= XAPIC_DFR_RSVD_MB1; 1243 1243 1244 Log 4(("APIC%u: apicSetDfr: uDfr=%#RX32\n", pVCpu->idCpu, uDfr));1244 Log2(("APIC%u: apicSetDfr: uDfr=%#RX32\n", pVCpu->idCpu, uDfr)); 1245 1245 1246 1246 PXAPICPAGE pXApicPage = VMCPU_TO_XAPICPAGE(pVCpu); … … 1264 1264 return apicMsrAccessError(pVCpu, MSR_IA32_X2APIC_TIMER_DCR, APICMSRACCESS_WRITE_RSVD_BITS); 1265 1265 1266 Log 4(("APIC%u: apicSetTimerDcr: uTimerDcr=%#RX32\n", pVCpu->idCpu, uTimerDcr));1266 Log2(("APIC%u: apicSetTimerDcr: uTimerDcr=%#RX32\n", pVCpu->idCpu, uTimerDcr)); 1267 1267 1268 1268 PXAPICPAGE pXApicPage = VMCPU_TO_XAPICPAGE(pVCpu); … … 1349 1349 return VINF_SUCCESS; 1350 1350 1351 Log 4(("APIC%u: apicSetTimerIcr: uInitialCount=%#RX32\n", pVCpu->idCpu, uInitialCount));1351 Log2(("APIC%u: apicSetTimerIcr: uInitialCount=%#RX32\n", pVCpu->idCpu, uInitialCount)); 1352 1352 1353 1353 /* … … 1443 1443 apicSetError(pVCpu, XAPIC_ESR_SEND_ILLEGAL_VECTOR); 1444 1444 1445 Log 4(("APIC%u: apicSetLvtEntry: offLvt=%#RX16 uLvt=%#RX32\n", pVCpu->idCpu, offLvt, uLvt));1445 Log2(("APIC%u: apicSetLvtEntry: offLvt=%#RX16 uLvt=%#RX32\n", pVCpu->idCpu, offLvt, uLvt)); 1446 1446 1447 1447 apicWriteRaw32(pXApicPage, offLvt, uLvt); … … 1979 1979 uint64_t uBaseMsr = pApicCpu->uApicBaseMsr; 1980 1980 1981 Log 4(("APIC%u: ApicSetBaseMsr: u64BaseMsr=%#RX64 enmNewMode=%s enmOldMode=%s\n", pVCpu->idCpu, u64BaseMsr,1981 Log2(("APIC%u: ApicSetBaseMsr: u64BaseMsr=%#RX64 enmNewMode=%s enmOldMode=%s\n", pVCpu->idCpu, u64BaseMsr, 1982 1982 apicGetModeName(enmNewMode), apicGetModeName(enmOldMode))); 1983 1983 … … 2017 2017 APICR3Reset(pVCpu, false /* fResetApicBaseMsr */); 2018 2018 uBaseMsr &= ~(MSR_APICBASE_XAPIC_ENABLE_BIT | MSR_APICBASE_X2APIC_ENABLE_BIT); 2019 Log 4(("APIC%u: Switched mode to disabled\n", pVCpu->idCpu));2019 Log2(("APIC%u: Switched mode to disabled\n", pVCpu->idCpu)); 2020 2020 break; 2021 2021 } … … 2029 2029 } 2030 2030 uBaseMsr |= MSR_APICBASE_XAPIC_ENABLE_BIT; 2031 Log 4(("APIC%u: Switched mode to xApic\n", pVCpu->idCpu));2031 Log2(("APIC%u: Switched mode to xApic\n", pVCpu->idCpu)); 2032 2032 break; 2033 2033 } … … 2054 2054 pX2ApicPage->ldr.u32LogicalApicId = ((pX2ApicPage->id.u32ApicId & UINT32_C(0xffff0)) << 16) 2055 2055 | (UINT32_C(1) << pX2ApicPage->id.u32ApicId & UINT32_C(0xf)); 2056 Log 4(("APIC%u: Switched mode to x2Apic\n", pVCpu->idCpu));2056 Log2(("APIC%u: Switched mode to x2Apic\n", pVCpu->idCpu)); 2057 2057 break; 2058 2058 } … … 2142 2142 uint32_t fBroadcastMask = UINT32_C(0xff); 2143 2143 2144 Log 4(("APIC: apicBusDeliver: fDestMask=%#x enmDestMode=%s enmTriggerMode=%s enmDeliveryMode=%s\n", fDestMask,2144 Log2(("APIC: apicBusDeliver: fDestMask=%#x enmDestMode=%s enmTriggerMode=%s enmDeliveryMode=%s\n", fDestMask, 2145 2145 apicGetDestModeName(enmDestMode), apicGetTriggerModeName(enmTriggerMode), apicGetDeliveryModeName(enmDeliveryMode))); 2146 2146 … … 2220 2220 case XAPICDELIVERYMODE_EXTINT: 2221 2221 { 2222 Log 4(("APIC%u: APICLocalInterrupt: %s ExtINT through LINT%u\n", pVCpu->idCpu,2222 Log2(("APIC%u: APICLocalInterrupt: %s ExtINT through LINT%u\n", pVCpu->idCpu, 2223 2223 u8Level ? "Raising" : "Lowering", u8Pin)); 2224 2224 if (u8Level) … … 2248 2248 { 2249 2249 /* LINT0 behaves as an external interrupt pin. */ 2250 Log 4(("APIC%u: APICLocalInterrupt: APIC hardware-disabled, %s ExtINT through LINT0\n", pVCpu->idCpu,2250 Log2(("APIC%u: APICLocalInterrupt: APIC hardware-disabled, %s ExtINT through LINT0\n", pVCpu->idCpu, 2251 2251 u8Level ? "raising" : "lowering")); 2252 2252 if (u8Level) … … 2258 2258 { 2259 2259 /* LINT1 behaves as NMI. */ 2260 Log 4(("APIC%u: APICLocalInterrupt: APIC hardware-disabled, raising NMI through LINT1\n", pVCpu->idCpu));2260 Log2(("APIC%u: APICLocalInterrupt: APIC hardware-disabled, raising NMI through LINT1\n", pVCpu->idCpu)); 2261 2261 APICSetInterruptFF(pVCpu, PDMAPICIRQ_NMI); 2262 2262 } … … 2302 2302 if (uTpr > 0 && uVector <= uTpr) 2303 2303 { 2304 Log 4(("APIC%u: APICGetInterrupt: Spurious interrupt. uVector=%#x\n", pVCpu->idCpu,2304 Log2(("APIC%u: APICGetInterrupt: Spurious interrupt. uVector=%#x\n", pVCpu->idCpu, 2305 2305 pXApicPage->svr.u.u8SpuriousVector)); 2306 2306 return pXApicPage->svr.u.u8SpuriousVector; … … 2316 2316 apicSignalNextPendingIntr(pVCpu); 2317 2317 2318 Log 4(("APIC%u: APICGetInterrupt: Valid Interrupt. uVector=%#x\n", pVCpu->idCpu, uVector));2318 Log2(("APIC%u: APICGetInterrupt: Valid Interrupt. uVector=%#x\n", pVCpu->idCpu, uVector)); 2319 2319 return uVector; 2320 2320 } 2321 2321 else 2322 Log 4(("APIC%u: APICGetInterrupt: Interrupt's priority is not higher than the PPR uVector=%#x PPR=%#x\n",2322 Log2(("APIC%u: APICGetInterrupt: Interrupt's priority is not higher than the PPR uVector=%#x PPR=%#x\n", 2323 2323 pVCpu->idCpu, uVector, uPpr)); 2324 2324 } 2325 2325 else 2326 Log 4(("APIC%u: APICGetInterrupt: No pending bits in IRR\n", pVCpu->idCpu));2326 Log2(("APIC%u: APICGetInterrupt: No pending bits in IRR\n", pVCpu->idCpu)); 2327 2327 } 2328 2328 else 2329 Log 4(("APIC%u: APICGetInterrupt: APIC %s disabled\n", pVCpu->idCpu, !fApicHwEnabled ? "hardware" : "software"));2329 Log2(("APIC%u: APICGetInterrupt: APIC %s disabled\n", pVCpu->idCpu, !fApicHwEnabled ? "hardware" : "software")); 2330 2330 2331 2331 return -1; … … 2352 2352 *(uint32_t *)pv = uValue; 2353 2353 2354 Log 4(("APIC%u: ApicReadMmio: offReg=%#RX16 uValue=%#RX32\n", pVCpu->idCpu, offReg, uValue));2354 Log2(("APIC%u: ApicReadMmio: offReg=%#RX16 uValue=%#RX32\n", pVCpu->idCpu, offReg, uValue)); 2355 2355 return rc; 2356 2356 } … … 2373 2373 STAM_COUNTER_INC(&pVCpu->apic.s.CTX_SUFF(StatMmioWrite)); 2374 2374 2375 Log 4(("APIC%u: APICWriteMmio: offReg=%#RX16 uValue=%#RX32\n", pVCpu->idCpu, offReg, uValue));2375 Log2(("APIC%u: APICWriteMmio: offReg=%#RX16 uValue=%#RX32\n", pVCpu->idCpu, offReg, uValue)); 2376 2376 2377 2377 int rc = VBOXSTRICTRC_VAL(apicWriteRegister(pApicDev, pVCpu, offReg, uValue)); … … 2445 2445 if (!apicTestVectorInReg(&pXApicPage->irr, uVector)) /* PAV */ 2446 2446 { 2447 Log 4(("APIC%u: APICPostInterrupt: uVector=%#x\n", pVCpu->idCpu, uVector));2447 Log2(("APIC%u: APICPostInterrupt: uVector=%#x\n", pVCpu->idCpu, uVector)); 2448 2448 if (enmTriggerMode == XAPICTRIGGERMODE_EDGE) 2449 2449 { -
trunk/src/VBox/VMM/VMMR3/APIC.cpp
r60646 r60650 530 530 531 531 uint32_t const uLvtError = pXApicPage->lvt_error.all.u32LvtError; 532 pHlp->pfnPrintf(pHlp, "LVT Perf= %#RX32\n", uLvtError);532 pHlp->pfnPrintf(pHlp, "LVT Error = %#RX32\n", uLvtError); 533 533 pHlp->pfnPrintf(pHlp, " Vector = %u (%#x)\n", pXApicPage->lvt_error.u.u8Vector, pXApicPage->lvt_error.u.u8Vector); 534 534 pHlp->pfnPrintf(pHlp, " Delivery status = %u\n", pXApicPage->lvt_error.u.u1DeliveryStatus); … … 882 882 { 883 883 uint8_t uVector = XAPIC_LVT_GET_VECTOR(uLvtTimer); 884 Log 4(("APIC%u: apicR3TimerCallback: Raising timer interrupt. uVector=%#x\n", pVCpu->idCpu, uVector));884 Log2(("APIC%u: apicR3TimerCallback: Raising timer interrupt. uVector=%#x\n", pVCpu->idCpu, uVector)); 885 885 APICPostInterrupt(pVCpu, uVector, XAPICTRIGGERMODE_EDGE); 886 886 } … … 896 896 if (uInitialCount) 897 897 { 898 Log 4(("APIC%u: apicR3TimerCallback: Re-arming timer. uInitialCount=%#RX32\n", pVCpu->idCpu, uInitialCount));898 Log2(("APIC%u: apicR3TimerCallback: Re-arming timer. uInitialCount=%#RX32\n", pVCpu->idCpu, uInitialCount)); 899 899 APICStartTimer(pApicCpu, uInitialCount); 900 900 }
Note:
See TracChangeset
for help on using the changeset viewer.

