Changeset 52670 in vbox for trunk/src/VBox/VMM/VMMR3
- Timestamp:
- Sep 10, 2014 11:04:10 AM (10 years ago)
- svn:sync-xref-src-repo-rev:
- 95990
- Location:
- trunk/src/VBox/VMM/VMMR3
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR3/PDM.cpp
r51291 r52670 486 486 if (pVM->pdm.s.Apic.pfnLocalInterruptRC) 487 487 pVM->pdm.s.Apic.pfnLocalInterruptRC += offDelta; 488 pVM->pdm.s.Apic.pfnGetTimerFreqRC += offDelta; 488 489 pVM->pdm.s.Apic.pfnWriteMSRRC += offDelta; 489 490 pVM->pdm.s.Apic.pfnReadMSRRC += offDelta; -
trunk/src/VBox/VMM/VMMR3/PDMDevHlp.cpp
r51376 r52670 2588 2588 VM_ASSERT_EMT(pDevIns->Internal.s.pVMR3); 2589 2589 LogFlow(("pdmR3DevHlp_APICRegister: caller='%s'/%d: pApicReg=%p:{.u32Version=%#x, .pfnGetInterruptR3=%p, .pfnSetBaseR3=%p, .pfnGetBaseR3=%p, " 2590 ".pfnSetTPRR3=%p, .pfnGetTPRR3=%p, .pfnWriteMSR3=%p, .pfnReadMSR3=%p, .pfnBusDeliverR3=%p, .pfnLocalInterruptR3=%p , pszGetInterruptRC=%p:{%s}, pszSetBaseRC=%p:{%s}, pszGetBaseRC=%p:{%s}, "2591 ".pszSetTPRRC=%p:{%s}, .pszGetTPRRC=%p:{%s}, .pszWriteMSRRC=%p:{%s}, .pszReadMSRRC=%p:{%s}, .pszBusDeliverRC=%p:{%s}, .pszLocalInterruptRC=%p:{%s} } ppApicHlpR3=%p\n",2590 ".pfnSetTPRR3=%p, .pfnGetTPRR3=%p, .pfnWriteMSR3=%p, .pfnReadMSR3=%p, .pfnBusDeliverR3=%p, .pfnLocalInterruptR3=%p .pfnGetTimerFreqR3=%p, pszGetInterruptRC=%p:{%s}, pszSetBaseRC=%p:{%s}, pszGetBaseRC=%p:{%s}, " 2591 ".pszSetTPRRC=%p:{%s}, .pszGetTPRRC=%p:{%s}, .pszWriteMSRRC=%p:{%s}, .pszReadMSRRC=%p:{%s}, .pszBusDeliverRC=%p:{%s}, .pszLocalInterruptRC=%p:{%s}, .pszGetTimerFreqRC=%p:{%s}} ppApicHlpR3=%p\n", 2592 2592 pDevIns->pReg->szName, pDevIns->iInstance, pApicReg, pApicReg->u32Version, pApicReg->pfnGetInterruptR3, pApicReg->pfnSetBaseR3, 2593 pApicReg->pfnGetBaseR3, pApicReg->pfnSetTPRR3, pApicReg->pfnGetTPRR3, pApicReg->pfnWriteMSRR3, pApicReg->pfnReadMSRR3, pApicReg->pfnBusDeliverR3, pApicReg->pfnLocalInterruptR3, pApicReg->p szGetInterruptRC,2593 pApicReg->pfnGetBaseR3, pApicReg->pfnSetTPRR3, pApicReg->pfnGetTPRR3, pApicReg->pfnWriteMSRR3, pApicReg->pfnReadMSRR3, pApicReg->pfnBusDeliverR3, pApicReg->pfnLocalInterruptR3, pApicReg->pfnGetTimerFreqR3, pApicReg->pszGetInterruptRC, 2594 2594 pApicReg->pszGetInterruptRC, pApicReg->pszSetBaseRC, pApicReg->pszSetBaseRC, pApicReg->pszGetBaseRC, pApicReg->pszGetBaseRC, 2595 2595 pApicReg->pszSetTPRRC, pApicReg->pszSetTPRRC, pApicReg->pszGetTPRRC, pApicReg->pszGetTPRRC, pApicReg->pszWriteMSRRC, pApicReg->pszWriteMSRRC, pApicReg->pszReadMSRRC, pApicReg->pszReadMSRRC, pApicReg->pszBusDeliverRC, 2596 pApicReg->pszBusDeliverRC, pApicReg->pszLocalInterruptRC, pApicReg->pszLocalInterruptRC, p pApicHlpR3));2596 pApicReg->pszBusDeliverRC, pApicReg->pszLocalInterruptRC, pApicReg->pszLocalInterruptRC, pApicReg->pszGetTimerFreqRC, pApicReg->pszGetTimerFreqRC, ppApicHlpR3)); 2597 2597 2598 2598 /* … … 2614 2614 || !pApicReg->pfnReadMSRR3 2615 2615 || !pApicReg->pfnBusDeliverR3 2616 || !pApicReg->pfnLocalInterruptR3) 2616 || !pApicReg->pfnLocalInterruptR3 2617 || !pApicReg->pfnGetTimerFreqR3) 2617 2618 { 2618 2619 Assert(pApicReg->pfnGetInterruptR3); … … 2626 2627 Assert(pApicReg->pfnBusDeliverR3); 2627 2628 Assert(pApicReg->pfnLocalInterruptR3); 2629 Assert(pApicReg->pfnGetTimerFreqR3); 2628 2630 LogFlow(("pdmR3DevHlp_APICRegister: caller='%s'/%d: returns %Rrc (R3 callbacks)\n", pDevIns->pReg->szName, pDevIns->iInstance, VERR_INVALID_PARAMETER)); 2629 2631 return VERR_INVALID_PARAMETER; … … 2638 2640 || pApicReg->pszReadMSRRC 2639 2641 || pApicReg->pszBusDeliverRC 2640 || pApicReg->pszLocalInterruptRC) 2642 || pApicReg->pszLocalInterruptRC 2643 || pApicReg->pszGetTimerFreqRC) 2641 2644 && ( !VALID_PTR(pApicReg->pszGetInterruptRC) 2642 2645 || !VALID_PTR(pApicReg->pszHasPendingIrqRC) … … 2648 2651 || !VALID_PTR(pApicReg->pszReadMSRRC) 2649 2652 || !VALID_PTR(pApicReg->pszBusDeliverRC) 2650 || !VALID_PTR(pApicReg->pszLocalInterruptRC)) 2653 || !VALID_PTR(pApicReg->pszLocalInterruptRC) 2654 || !VALID_PTR(pApicReg->pszGetTimerFreqRC)) 2651 2655 ) 2652 2656 { … … 2661 2665 Assert(VALID_PTR(pApicReg->pszBusDeliverRC)); 2662 2666 Assert(VALID_PTR(pApicReg->pszLocalInterruptRC)); 2667 Assert(VALID_PTR(pApicReg->pszGetTimerFreqRC)); 2663 2668 LogFlow(("pdmR3DevHlp_APICRegister: caller='%s'/%d: returns %Rrc (RC callbacks)\n", pDevIns->pReg->szName, pDevIns->iInstance, VERR_INVALID_PARAMETER)); 2664 2669 return VERR_INVALID_PARAMETER; … … 2673 2678 || pApicReg->pszReadMSRR0 2674 2679 || pApicReg->pszBusDeliverR0 2675 || pApicReg->pszLocalInterruptR0) 2680 || pApicReg->pszLocalInterruptR0 2681 || pApicReg->pszGetTimerFreqR0) 2676 2682 && ( !VALID_PTR(pApicReg->pszGetInterruptR0) 2677 2683 || !VALID_PTR(pApicReg->pszHasPendingIrqR0) … … 2683 2689 || !VALID_PTR(pApicReg->pszWriteMSRR0) 2684 2690 || !VALID_PTR(pApicReg->pszBusDeliverR0) 2685 || !VALID_PTR(pApicReg->pszLocalInterruptR0)) 2691 || !VALID_PTR(pApicReg->pszLocalInterruptR0) 2692 || !VALID_PTR(pApicReg->pszGetTimerFreqR0)) 2686 2693 ) 2687 2694 { … … 2696 2703 Assert(VALID_PTR(pApicReg->pszBusDeliverR0)); 2697 2704 Assert(VALID_PTR(pApicReg->pszLocalInterruptR0)); 2705 Assert(VALID_PTR(pApicReg->pszGetTimerFreqR0)); 2698 2706 LogFlow(("pdmR3DevHlp_APICRegister: caller='%s'/%d: returns %Rrc (R0 callbacks)\n", pDevIns->pReg->szName, pDevIns->iInstance, VERR_INVALID_PARAMETER)); 2699 2707 return VERR_INVALID_PARAMETER; … … 2770 2778 AssertMsgRC(rc, ("%s::%s rc=%Rrc\n", pDevIns->pReg->szRCMod, pApicReg->pszLocalInterruptRC, rc)); 2771 2779 } 2780 if (RT_SUCCESS(rc)) 2781 { 2782 rc = pdmR3DevGetSymbolRCLazy(pDevIns, pApicReg->pszGetTimerFreqRC, &pVM->pdm.s.Apic.pfnGetTimerFreqRC); 2783 AssertMsgRC(rc, ("%s::%s rc=%Rrc\n", pDevIns->pReg->szRCMod, pApicReg->pszGetTimerFreqRC, rc)); 2784 } 2772 2785 if (RT_FAILURE(rc)) 2773 2786 { 2774 LogFlow(("pdmR3DevHlp_ IOAPICRegister: caller='%s'/%d: returns %Rrc\n", pDevIns->pReg->szName, pDevIns->iInstance, rc));2787 LogFlow(("pdmR3DevHlp_APICRegister: caller='%s'/%d: returns %Rrc\n", pDevIns->pReg->szName, pDevIns->iInstance, rc)); 2775 2788 return rc; 2776 2789 } … … 2790 2803 pVM->pdm.s.Apic.pfnBusDeliverRC = 0; 2791 2804 pVM->pdm.s.Apic.pfnLocalInterruptRC = 0; 2805 pVM->pdm.s.Apic.pfnGetTimerFreqRC = 0; 2792 2806 } 2793 2807 … … 2844 2858 AssertMsgRC(rc, ("%s::%s rc=%Rrc\n", pDevIns->pReg->szR0Mod, pApicReg->pszLocalInterruptR0, rc)); 2845 2859 } 2860 if (RT_SUCCESS(rc)) 2861 { 2862 rc = pdmR3DevGetSymbolR0Lazy(pDevIns, pApicReg->pszGetTimerFreqR0, &pVM->pdm.s.Apic.pfnGetTimerFreqR0); 2863 AssertMsgRC(rc, ("%s::%s rc=%Rrc\n", pDevIns->pReg->szR0Mod, pApicReg->pszGetTimerFreqR0, rc)); 2864 } 2846 2865 if (RT_FAILURE(rc)) 2847 2866 { 2848 LogFlow(("pdmR3DevHlp_ IOAPICRegister: caller='%s'/%d: returns %Rrc\n", pDevIns->pReg->szName, pDevIns->iInstance, rc));2867 LogFlow(("pdmR3DevHlp_APICRegister: caller='%s'/%d: returns %Rrc\n", pDevIns->pReg->szName, pDevIns->iInstance, rc)); 2849 2868 return rc; 2850 2869 } … … 2864 2883 pVM->pdm.s.Apic.pfnBusDeliverR0 = 0; 2865 2884 pVM->pdm.s.Apic.pfnLocalInterruptR0 = 0; 2885 pVM->pdm.s.Apic.pfnGetTimerFreqR0 = 0; 2866 2886 pVM->pdm.s.Apic.pDevInsR0 = 0; 2867 2887 } … … 2881 2901 pVM->pdm.s.Apic.pfnBusDeliverR3 = pApicReg->pfnBusDeliverR3; 2882 2902 pVM->pdm.s.Apic.pfnLocalInterruptR3 = pApicReg->pfnLocalInterruptR3; 2903 pVM->pdm.s.Apic.pfnGetTimerFreqR3 = pApicReg->pfnGetTimerFreqR3; 2883 2904 Log(("PDM: Registered APIC device '%s'/%d pDevIns=%p\n", pDevIns->pReg->szName, pDevIns->iInstance, pDevIns)); 2884 2905
Note:
See TracChangeset
for help on using the changeset viewer.