VirtualBox

Changeset 67583 in vbox


Ignore:
Timestamp:
Jun 23, 2017 12:00:56 PM (8 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
116338
Message:

PDM, DevPci, DevPciIch9: Need to trigger the FakePCIBIOS code later on reset (after the devices are reset), as otherwise the device reset can destroy the carefully set up PCI config space content. It's now run in a similar place as on VM start.

Location:
trunk/src/VBox
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Bus/DevPCI.cpp

    r65847 r67583  
    12121212
    12131213/**
    1214  * @interface_method_impl{PDMDEVREG,pfnReset}
    1215  */
    1216 static DECLCALLBACK(void) pciR3Reset(PPDMDEVINS pDevIns)
    1217 {
    1218     pciR3FakePCIBIOS(pDevIns);
    1219 }
    1220 
    1221 
    1222 /**
    12231214 * @interface_method_impl{PDMDEVREG,pfnConstruct}
    12241215 */
     
    14371428    NULL,
    14381429    /* pfnReset */
    1439     pciR3Reset,
     1430    NULL,
    14401431    /* pfnSuspend */
    14411432    NULL,
  • trunk/src/VBox/Devices/Bus/DevPciIch9.cpp

    r67562 r67583  
    32693269    /* Reset everything under the root bridge. */
    32703270    ich9pciResetBridge(pDevIns);
    3271 
    3272     /* Do a fresh Fake PCI BIOS setup. */
    3273     ich9pciFakePCIBIOS(pDevIns);
    32743271}
    32753272
  • trunk/src/VBox/VMM/VMMR3/PDM.cpp

    r64655 r67583  
    16451645        }
    16461646
     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
    16471660    LogFlow(("PDMR3MemSetup: returns void\n"));
    16481661}
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette