Changeset 67668 in vbox for trunk/src/VBox/VMM/VMMR3
- Timestamp:
- Jun 28, 2017 4:28:34 PM (7 years ago)
- Location:
- trunk/src/VBox/VMM/VMMR3
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR3/PDM.cpp
r67583 r67668 1645 1645 } 1646 1646 1647 /*1648 * Run Fake PCI BIOS after reset.1649 */1650 if (fAtReset && pVM->pdm.s.aPciBuses[0].pDevInsR3)1651 {1652 pdmLock(pVM);1653 int rc = pVM->pdm.s.aPciBuses[0].pfnFakePCIBIOSR3(pVM->pdm.s.aPciBuses[0].pDevInsR3);1654 pdmUnlock(pVM);1655 if (RT_FAILURE(rc))1656 AssertMsgFailed(("PCI BIOS fake failed rc=%Rrc\n", rc));1657 }1658 1659 1660 1647 LogFlow(("PDMR3MemSetup: returns void\n")); 1661 1648 } -
trunk/src/VBox/VMM/VMMR3/PDMDevHlp.cpp
r65338 r67668 2613 2613 #if PDM_DEVHLPR3_VERSION >= PDM_VERSION_MAKE_PP(0xffe7, 20, 0) 2614 2614 LogFlow(("pdmR3DevHlp_PCIBusRegister: caller='%s'/%d: pPciBusReg=%p:{.u32Version=%#x, .pfnRegisterR3=%p, .pfnIORegionRegisterR3=%p, " 2615 ".pfnSetIrqR3=%p, .p fnFakePCIBIOSR3=%p, .pszSetIrqRC=%p:{%s}, .pszSetIrqR0=%p:{%s}} ppPciHlpR3=%p piBus=%p\n",2615 ".pfnSetIrqR3=%p, .pszSetIrqRC=%p:{%s}, .pszSetIrqR0=%p:{%s}} ppPciHlpR3=%p piBus=%p\n", 2616 2616 pDevIns->pReg->szName, pDevIns->iInstance, pPciBusReg, pPciBusReg->u32Version, pPciBusReg->pfnRegisterR3, 2617 pPciBusReg->pfnIORegionRegisterR3, pPciBusReg->pfnSetIrqR3, pPciBusReg->pfnFakePCIBIOSR3, 2618 pPciBusReg->pszSetIrqRC, pPciBusReg->pszSetIrqRC, pPciBusReg->pszSetIrqR0, pPciBusReg->pszSetIrqR0, 2619 ppPciHlpR3, piBus)); 2617 pPciBusReg->pfnIORegionRegisterR3, pPciBusReg->pfnSetIrqR3, pPciBusReg->pszSetIrqRC, pPciBusReg->pszSetIrqRC, 2618 pPciBusReg->pszSetIrqR0, pPciBusReg->pszSetIrqR0, ppPciHlpR3, piBus)); 2620 2619 #else 2621 2620 LogFlow(("pdmR3DevHlp_PCIBusRegister: caller='%s'/%d: pPciBusReg=%p:{.u32Version=%#x, .pfnRegisterR3=%p, .pfnIORegionRegisterR3=%p, " 2622 ".pfnSetIrqR3=%p, .p fnFakePCIBIOSR3=%p, .pszSetIrqRC=%p:{%s}, .pszSetIrqR0=%p:{%s}} ppPciHlpR3=%p\n",2621 ".pfnSetIrqR3=%p, .pszSetIrqRC=%p:{%s}, .pszSetIrqR0=%p:{%s}} ppPciHlpR3=%p\n", 2623 2622 pDevIns->pReg->szName, pDevIns->iInstance, pPciBusReg, pPciBusReg->u32Version, pPciBusReg->pfnRegisterR3, 2624 pPciBusReg->pfnIORegionRegisterR3, pPciBusReg->pfnSetIrqR3, pPciBusReg->p fnFakePCIBIOSR3,2625 pPciBusReg->pszSetIrqR C, pPciBusReg->pszSetIrqRC, pPciBusReg->pszSetIrqR0, pPciBusReg->pszSetIrqR0, ppPciHlpR3));2623 pPciBusReg->pfnIORegionRegisterR3, pPciBusReg->pfnSetIrqR3, pPciBusReg->pszSetIrqRC, pPciBusReg->pszSetIrqRC, 2624 pPciBusReg->pszSetIrqR0, pPciBusReg->pszSetIrqR0, ppPciHlpR3)); 2626 2625 #endif 2627 2626 … … 2637 2636 if ( !pPciBusReg->pfnRegisterR3 2638 2637 || !pPciBusReg->pfnIORegionRegisterR3 2639 || !pPciBusReg->pfnSetIrqR3 2640 || (!pPciBusReg->pfnFakePCIBIOSR3 && !pVM->pdm.s.aPciBuses[0].pDevInsR3)) /* Only the first bus needs to do the BIOS work. */ 2638 || !pPciBusReg->pfnSetIrqR3) 2641 2639 { 2642 2640 Assert(pPciBusReg->pfnRegisterR3); 2643 2641 Assert(pPciBusReg->pfnIORegionRegisterR3); 2644 2642 Assert(pPciBusReg->pfnSetIrqR3); 2645 Assert(pPciBusReg->pfnFakePCIBIOSR3);2646 2643 LogFlow(("pdmR3DevHlp_PCIBusRegister: caller='%s'/%d: returns %Rrc (R3 callbacks)\n", pDevIns->pReg->szName, pDevIns->iInstance, VERR_INVALID_PARAMETER)); 2647 2644 return VERR_INVALID_PARAMETER; … … 2738 2735 pPciBus->pfnSetConfigCallbacksR3 = pPciBusReg->pfnSetConfigCallbacksR3; 2739 2736 pPciBus->pfnSetIrqR3 = pPciBusReg->pfnSetIrqR3; 2740 pPciBus->pfnFakePCIBIOSR3 = pPciBusReg->pfnFakePCIBIOSR3;2741 2737 2742 2738 Log(("PDM: Registered PCI bus device '%s'/%d pDevIns=%p\n", pDevIns->pReg->szName, pDevIns->iInstance, pDevIns)); -
trunk/src/VBox/VMM/VMMR3/PDMDevice.cpp
r64626 r67668 424 424 425 425 /* 426 * 427 * PCI BIOS Fake and Init Complete. 428 * 429 */ 430 if (pVM->pdm.s.aPciBuses[0].pDevInsR3) 431 { 432 pdmLock(pVM); 433 rc = pVM->pdm.s.aPciBuses[0].pfnFakePCIBIOSR3(pVM->pdm.s.aPciBuses[0].pDevInsR3); 434 pdmUnlock(pVM); 435 if (RT_FAILURE(rc)) 436 { 437 AssertMsgFailed(("PCI BIOS fake failed rc=%Rrc\n", rc)); 438 return rc; 439 } 440 } 441 426 * Iterate thru the device instances and work the callback. 427 */ 442 428 for (PPDMDEVINS pDevIns = pVM->pdm.s.pDevInstances; pDevIns; pDevIns = pDevIns->Internal.s.pNextR3) 443 429 {
Note:
See TracChangeset
for help on using the changeset viewer.