VirtualBox

Changeset 44506 in vbox for trunk/src/VBox/Devices/Bus


Ignore:
Timestamp:
Feb 1, 2013 11:12:13 AM (12 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
83542
Message:

DevPCI.cpp: Some cleaning up.

File:
1 edited

Legend:

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

    r44310 r44506  
    55
    66/*
    7  * Copyright (C) 2006-2007 Oracle Corporation
     7 * Copyright (C) 2006-2013 Oracle Corporation
    88 *
    99 * This file is part of VirtualBox Open Source Edition (OSE), as
     
    222222
    223223#ifdef IN_RING3
    224 DECLINLINE(PPCIDEVICE) pciFindBridge(PPCIBUS pBus, uint8_t iBus);
     224DECLINLINE(PPCIDEVICE) pciR3FindBridge(PPCIBUS pBus, uint8_t iBus);
    225225#endif
    226226
     
    242242
    243243#ifdef IN_RING3
     244
    244245static void pci_update_mappings(PCIDevice *d)
    245246{
     
    501502        {
    502503#ifdef IN_RING3 /** @todo do lookup in R0/RC too! */
    503             PPCIDEVICE pBridgeDevice = pciFindBridge(&pGlobals->PciBus, iBus);
     504            PPCIDEVICE pBridgeDevice = pciR3FindBridge(&pGlobals->PciBus, iBus);
    504505            if (pBridgeDevice)
    505506            {
     
    547548        {
    548549#ifdef IN_RING3 /** @todo do lookup in R0/RC too! */
    549             PPCIDEVICE pBridgeDevice = pciFindBridge(&pGlobals->PciBus, iBus);
     550            PPCIDEVICE pBridgeDevice = pciR3FindBridge(&pGlobals->PciBus, iBus);
    550551            if (pBridgeDevice)
    551552            {
     
    757758
    758759#ifdef IN_RING3
     760
    759761/**
    760762 * Finds a bridge on the bus which contains the destination bus.
     
    765767 * @param  iBus    Destination bus number.
    766768 */
    767 DECLINLINE(PPCIDEVICE) pciFindBridge(PPCIBUS pBus, uint8_t iBus)
     769DECLINLINE(PPCIDEVICE) pciR3FindBridge(PPCIBUS pBus, uint8_t iBus)
    768770{
    769771    /* Search for a fitting bridge. */
     
    787789}
    788790
    789 static void piix3_reset(PIIX3State *d)
     791static void pciR3Piix3Reset(PIIX3State *d)
    790792{
    791793    uint8_t *pci_conf = d->dev.config;
     
    12471249 * @param   pSSM            The handle to save the state to.
    12481250 */
    1249 static DECLCALLBACK(int) pciGenericSaveExec(PPDMDEVINS pDevIns, PPCIDEVICE pPciDev, PSSMHANDLE pSSM)
     1251static DECLCALLBACK(int) pciR3GenericSaveExec(PPDMDEVINS pDevIns, PPCIDEVICE pPciDev, PSSMHANDLE pSSM)
    12501252{
    12511253    NOREF(pDevIns);
     
    12621264 * @param   pSSM            The handle to the saved state.
    12631265 */
    1264 static DECLCALLBACK(int) pciGenericLoadExec(PPDMDEVINS pDevIns, PPCIDEVICE pPciDev, PSSMHANDLE pSSM)
     1266static DECLCALLBACK(int) pciR3GenericLoadExec(PPDMDEVINS pDevIns, PPCIDEVICE pPciDev, PSSMHANDLE pSSM)
    12651267{
    12661268    NOREF(pDevIns);
     
    16871689 * @param   pszName         Pointer to device name (permanent, readonly). For debugging, not unique.
    16881690 */
    1689 static int pciRegisterInternal(PPCIBUS pBus, int iDev, PPCIDEVICE pPciDev, const char *pszName)
     1691static int pciR3RegisterDeviceInternal(PPCIBUS pBus, int iDev, PPCIDEVICE pPciDev, const char *pszName)
    16901692{
    16911693    /*
     
    18291831 * @param   iDev            The PCI device number. Use a negative value for auto assigning one.
    18301832 */
    1831 static DECLCALLBACK(int) pciRegister(PPDMDEVINS pDevIns, PPCIDEVICE pPciDev, const char *pszName, int iDev)
     1833static DECLCALLBACK(int) pciR3Register(PPDMDEVINS pDevIns, PPCIDEVICE pPciDev, const char *pszName, int iDev)
    18321834{
    18331835    PPCIBUS     pBus = DEVINS_2_PCIBUS(pDevIns);
     
    18481850     * Register the device.
    18491851     */
    1850     return pciRegisterInternal(pBus, iDev, pPciDev, pszName);
    1851 }
    1852 
    1853 
    1854 static DECLCALLBACK(int) pciIORegionRegister(PPDMDEVINS pDevIns, PPCIDEVICE pPciDev, int iRegion, uint32_t cbRegion, PCIADDRESSSPACE enmType, PFNPCIIOREGIONMAP pfnCallback)
     1852    return pciR3RegisterDeviceInternal(pBus, iDev, pPciDev, pszName);
     1853}
     1854
     1855
     1856static DECLCALLBACK(int) pciR3CommonIORegionRegister(PPDMDEVINS pDevIns, PPCIDEVICE pPciDev, int iRegion, uint32_t cbRegion,
     1857                                                     PCIADDRESSSPACE enmType, PFNPCIIOREGIONMAP pfnCallback)
    18551858{
    18561859    NOREF(pDevIns);
     
    18951898 * @copydoc PDMPCIBUSREG::pfnSetConfigCallbacksR3
    18961899 */
    1897 static DECLCALLBACK(void) pciSetConfigCallbacks(PPDMDEVINS pDevIns, PPCIDEVICE pPciDev, PFNPCICONFIGREAD pfnRead, PPFNPCICONFIGREAD ppfnReadOld,
    1898                                                 PFNPCICONFIGWRITE pfnWrite, PPFNPCICONFIGWRITE ppfnWriteOld)
     1900static DECLCALLBACK(void) pciR3CommonSetConfigCallbacks(PPDMDEVINS pDevIns, PPCIDEVICE pPciDev, PFNPCICONFIGREAD pfnRead, PPFNPCICONFIGREAD ppfnReadOld,
     1901                                                        PFNPCICONFIGWRITE pfnWrite, PPFNPCICONFIGWRITE ppfnWriteOld)
    18991902{
    19001903    NOREF(pDevIns);
     
    19161919 * @param   pDevIns     Device instance of the first bus.
    19171920 */
    1918 static DECLCALLBACK(int) pciFakePCIBIOS(PPDMDEVINS pDevIns)
     1921static DECLCALLBACK(int) pciR3FakePCIBIOS(PPDMDEVINS pDevIns)
    19191922{
    19201923    unsigned    i;
     
    19761979 * @param   pszArgs     Argument string. Optional and specific to the handler.
    19771980 */
    1978 static DECLCALLBACK(void) pciIrqInfo(PPDMDEVINS pDevIns, PCDBGFINFOHLP pHlp, const char *pszArgs)
     1981static DECLCALLBACK(void) pciR3IrqInfo(PPDMDEVINS pDevIns, PCDBGFINFOHLP pHlp, const char *pszArgs)
    19791982{
    19801983    PPCIGLOBALS pGlobals = PDMINS_2_DATA(pDevIns, PPCIGLOBALS);
     
    19982001}
    19992002
    2000 static void printIndent(PCDBGFINFOHLP pHlp, int iIndent)
    2001 {
    2002     for (int i = 0; i < iIndent; i++)
    2003     {
     2003static void pciR3PrintIndent(PCDBGFINFOHLP pHlp, int iIndent)
     2004{
     2005    while (iIndent-- > 0)
    20042006        pHlp->pfnPrintf(pHlp, "    ");
    2005     }
    2006 }
    2007 
    2008 static void pciBusInfo(PPCIBUS pBus, PCDBGFINFOHLP pHlp, int iIndent, bool fRegisters)
     2007}
     2008
     2009static void pciR3BusInfo(PPCIBUS pBus, PCDBGFINFOHLP pHlp, int iIndent, bool fRegisters)
    20092010{
    20102011    for (uint32_t iDev = 0; iDev < RT_ELEMENTS(pBus->devices); iDev++)
     
    20132014        if (pPciDev != NULL)
    20142015        {
    2015             printIndent(pHlp, iIndent);
     2016            pciR3PrintIndent(pHlp, iIndent);
    20162017
    20172018            /*
     
    20622063                    }
    20632064
    2064                     printIndent(pHlp, iIndent + 2);
     2065                    pciR3PrintIndent(pHlp, iIndent + 2);
    20652066                    pHlp->pfnPrintf(pHlp, "%s region #%d: %x..%x\n",
    20662067                                    pszDesc, iRegion, u32Addr, u32Addr+iRegionSize);
     
    20702071            }
    20712072
    2072             printIndent(pHlp, iIndent + 2);
     2073            pciR3PrintIndent(pHlp, iIndent + 2);
    20732074            uint16_t iStatus = PCIDevGetWord(pPciDev, VBOX_PCI_STATUS);
    20742075            pHlp->pfnPrintf(pHlp, "Command: %.*Rhxs, Status: %.*Rhxs\n",
    20752076                            sizeof(uint16_t), &iCmd, sizeof(uint16_t), &iStatus);
    2076             printIndent(pHlp, iIndent + 2);
     2077            pciR3PrintIndent(pHlp, iIndent + 2);
    20772078            pHlp->pfnPrintf(pHlp, "Bus master: %s\n",
    20782079                            iCmd & VBOX_PCI_COMMAND_MASTER ? "Yes" : "No");
     
    20802081            if (fRegisters)
    20812082            {
    2082                 printIndent(pHlp, iIndent + 2);
     2083                pciR3PrintIndent(pHlp, iIndent + 2);
    20832084                pHlp->pfnPrintf(pHlp, "PCI registers:\n");
    20842085                for (int iReg = 0; iReg < 0x100; )
     
    20862087                    int iPerLine = 0x10;
    20872088                    Assert (0x100 % iPerLine == 0);
    2088                     printIndent(pHlp, iIndent + 3);
     2089                    pciR3PrintIndent(pHlp, iIndent + 3);
    20892090
    20902091                    while (iPerLine-- > 0)
     
    21002101    if (pBus->cBridges > 0)
    21012102    {
    2102         printIndent(pHlp, iIndent);
     2103        pciR3PrintIndent(pHlp, iIndent);
    21032104        pHlp->pfnPrintf(pHlp, "Registered %d bridges, subordinate buses info follows\n", pBus->cBridges);
    21042105        for (uint32_t iBridge = 0; iBridge < pBus->cBridges; iBridge++)
    21052106        {
    21062107            PPCIBUS pBusSub = PDMINS_2_DATA(pBus->papBridgesR3[iBridge]->pDevIns, PPCIBUS);
    2107             pciBusInfo(pBusSub, pHlp, iIndent + 1, fRegisters);
     2108            pciR3BusInfo(pBusSub, pHlp, iIndent + 1, fRegisters);
    21082109        }
    21092110    }
     
    21172118 * @param   pszArgs     Argument string. Optional and specific to the handler.
    21182119 */
    2119 static DECLCALLBACK(void) pciInfo(PPDMDEVINS pDevIns, PCDBGFINFOHLP pHlp, const char *pszArgs)
     2120static DECLCALLBACK(void) pciR3Info(PPDMDEVINS pDevIns, PCDBGFINFOHLP pHlp, const char *pszArgs)
    21202121{
    21212122    PPCIBUS pBus = DEVINS_2_PCIBUS(pDevIns);
    21222123
    21232124    if (pszArgs == NULL || !*pszArgs || !strcmp(pszArgs, "basic"))
    2124         pciBusInfo(pBus, pHlp, 0, false);
     2125        pciR3BusInfo(pBus, pHlp, 0, false);
    21252126    else if (!strcmp(pszArgs, "verbose"))
    2126         pciBusInfo(pBus, pHlp, 0, true);
     2127        pciR3BusInfo(pBus, pHlp, 0, true);
    21272128    else
    21282129        pHlp->pfnPrintf(pHlp, "Invalid argument. Recognized arguments are 'basic', 'verbose'.\n");
     
    21322133 * @copydoc FNPDMDEVRELOCATE
    21332134 */
    2134 static DECLCALLBACK(void) pciRelocate(PPDMDEVINS pDevIns, RTGCINTPTR offDelta)
     2135static DECLCALLBACK(void) pciR3Relocate(PPDMDEVINS pDevIns, RTGCINTPTR offDelta)
    21352136{
    21362137    PPCIGLOBALS pGlobals = PDMINS_2_DATA(pDevIns, PPCIGLOBALS);
     
    21532154 * @copydoc FNPDMDEVRESET
    21542155 */
    2155 static DECLCALLBACK(void) pciReset(PPDMDEVINS pDevIns)
    2156 {
    2157     pciFakePCIBIOS(pDevIns);
     2156static DECLCALLBACK(void) pciR3Reset(PPDMDEVINS pDevIns)
     2157{
     2158    pciR3FakePCIBIOS(pDevIns);
    21582159}
    21592160
     
    21612162 * @interface_method_impl{PDMDEVREG,pfnConstruct}
    21622163 */
    2163 static DECLCALLBACK(int)   pciConstruct(PPDMDEVINS pDevIns, int iInstance, PCFGMNODE pCfg)
     2164static DECLCALLBACK(int)   pciR3Construct(PPDMDEVINS pDevIns, int iInstance, PCFGMNODE pCfg)
    21642165{
    21652166    Assert(iInstance == 0);
     
    22112212    pGlobals->PciBus.pDevInsR0 = PDMDEVINS_2_R0PTR(pDevIns);
    22122213    pGlobals->PciBus.pDevInsRC = PDMDEVINS_2_RCPTR(pDevIns);
    2213     pGlobals->PciBus.papBridgesR3 = (PPCIDEVICE *)PDMDevHlpMMHeapAllocZ(pDevIns, sizeof(PPCIDEVICE) * RT_ELEMENTS(pGlobals->PciBus.devices));
     2214    pGlobals->PciBus.papBridgesR3 = (PPCIDEVICE *)PDMDevHlpMMHeapAllocZ(pDevIns,   sizeof(PPCIDEVICE)
     2215                                                                                 * RT_ELEMENTS(pGlobals->PciBus.devices));
    22142216
    22152217    PDMPCIBUSREG PciBusReg;
    22162218    PPCIBUS      pBus = &pGlobals->PciBus;
    22172219    PciBusReg.u32Version              = PDM_PCIBUSREG_VERSION;
    2218     PciBusReg.pfnRegisterR3           = pciRegister;
     2220    PciBusReg.pfnRegisterR3           = pciR3Register;
    22192221    PciBusReg.pfnRegisterMsiR3        = NULL;
    2220     PciBusReg.pfnIORegionRegisterR3   = pciIORegionRegister;
    2221     PciBusReg.pfnSetConfigCallbacksR3 = pciSetConfigCallbacks;
     2222    PciBusReg.pfnIORegionRegisterR3   = pciR3CommonIORegionRegister;
     2223    PciBusReg.pfnSetConfigCallbacksR3 = pciR3CommonSetConfigCallbacks;
    22222224    PciBusReg.pfnSetIrqR3             = pciSetIrq;
    2223     PciBusReg.pfnSaveExecR3           = pciGenericSaveExec;
    2224     PciBusReg.pfnLoadExecR3           = pciGenericLoadExec;
    2225     PciBusReg.pfnFakePCIBIOSR3        = pciFakePCIBIOS;
     2225    PciBusReg.pfnSaveExecR3           = pciR3GenericSaveExec;
     2226    PciBusReg.pfnLoadExecR3           = pciR3GenericLoadExec;
     2227    PciBusReg.pfnFakePCIBIOSR3        = pciR3FakePCIBIOS;
    22262228    PciBusReg.pszSetIrqRC             = fGCEnabled ? "pciSetIrq" : NULL;
    22272229    PciBusReg.pszSetIrqR0             = fR0Enabled ? "pciSetIrq" : NULL;
     
    22552257    pBus->PciDev.pDevIns              = pDevIns;
    22562258    pciDevSetRequestedDevfunc(&pBus->PciDev);
    2257     pciRegisterInternal(pBus, 0, &pBus->PciDev, "i440FX");
     2259    pciR3RegisterDeviceInternal(pBus, 0, &pBus->PciDev, "i440FX");
    22582260
    22592261    /* PIIX3 */
     
    22662268    pGlobals->PIIX3State.dev.pDevIns      = pDevIns;
    22672269    pciDevSetRequestedDevfunc(&pGlobals->PIIX3State.dev);
    2268     pciRegisterInternal(pBus, 8, &pGlobals->PIIX3State.dev, "PIIX3");
    2269     piix3_reset(&pGlobals->PIIX3State);
     2270    pciR3RegisterDeviceInternal(pBus, 8, &pGlobals->PIIX3State.dev, "PIIX3");
     2271    pciR3Piix3Reset(&pGlobals->PIIX3State);
    22702272
    22712273    pBus->iDevSearch = 16;
     
    23062308        return rc;
    23072309
    2308     PDMDevHlpDBGFInfoRegister(pDevIns, "pci", "Display PCI bus status. Recognizes 'basic' or 'verbose' "
    2309                                               "as arguments, defaults to 'basic'.", pciInfo);
    2310 
    2311     PDMDevHlpDBGFInfoRegister(pDevIns, "pciirq", "Display PCI IRQ routing state. (no arguments)", pciIrqInfo);
     2310    PDMDevHlpDBGFInfoRegister(pDevIns, "pci",
     2311                              "Display PCI bus status. Recognizes 'basic' or 'verbose' as arguments, defaults to 'basic'.",
     2312                              pciR3Info);
     2313    PDMDevHlpDBGFInfoRegister(pDevIns, "pciirq", "Display PCI IRQ routing state. (no arguments)", pciR3IrqInfo);
    23122314
    23132315    return VINF_SUCCESS;
     
    23392341    sizeof(PCIGLOBALS),
    23402342    /* pfnConstruct */
    2341     pciConstruct,
     2343    pciR3Construct,
    23422344    /* pfnDestruct */
    23432345    NULL,
    23442346    /* pfnRelocate */
    2345     pciRelocate,
     2347    pciR3Relocate,
    23462348    /* pfnIOCtl */
    23472349    NULL,
     
    23492351    NULL,
    23502352    /* pfnReset */
    2351     pciReset,
     2353    pciR3Reset,
    23522354    /* pfnSuspend */
    23532355    NULL,
     
    24132415#ifdef IN_RING3
    24142416
    2415 static void pcibridgeConfigWrite(PPDMDEVINSR3 pDevIns, uint8_t iBus, uint8_t iDevice, uint32_t u32Address, uint32_t u32Value, unsigned cb)
     2417/**
     2418 * @callback_method_impl{FNPCIBRIDGECONFIGWRITE}
     2419 */
     2420static void pcibridgeR3ConfigWrite(PPDMDEVINSR3 pDevIns, uint8_t iBus, uint8_t iDevice, uint32_t u32Address, uint32_t u32Value, unsigned cb)
    24162421{
    24172422    PPCIBUS pBus = PDMINS_2_DATA(pDevIns, PPCIBUS);
     
    24222427    if (iBus != pBus->PciDev.config[VBOX_PCI_SECONDARY_BUS])
    24232428    {
    2424         PPCIDEVICE pBridgeDevice = pciFindBridge(pBus, iBus);
     2429        PPCIDEVICE pBridgeDevice = pciR3FindBridge(pBus, iBus);
    24252430        if (pBridgeDevice)
    24262431        {
     
    24412446}
    24422447
    2443 static uint32_t pcibridgeConfigRead(PPDMDEVINSR3 pDevIns, uint8_t iBus, uint8_t iDevice, uint32_t u32Address, unsigned cb)
     2448/**
     2449 * @callback_method_impl{FNPCIBRIDGECONFIGREAD}
     2450 */
     2451static uint32_t pcibridgeR3ConfigRead(PPDMDEVINSR3 pDevIns, uint8_t iBus, uint8_t iDevice, uint32_t u32Address, unsigned cb)
    24442452{
    24452453    PPCIBUS pBus = PDMINS_2_DATA(pDevIns, PPCIBUS);
     
    24512459    if (iBus != pBus->PciDev.config[VBOX_PCI_SECONDARY_BUS])
    24522460    {
    2453         PPCIDEVICE pBridgeDevice = pciFindBridge(pBus, iBus);
     2461        PPCIDEVICE pBridgeDevice = pciR3FindBridge(pBus, iBus);
    24542462        if (pBridgeDevice)
    24552463        {
     
    25062514 * @param   iDev            The PCI device number. Use a negative value for auto assigning one.
    25072515 */
    2508 static DECLCALLBACK(int) pcibridgeRegister(PPDMDEVINS pDevIns, PPCIDEVICE pPciDev, const char *pszName, int iDev)
     2516static DECLCALLBACK(int) pcibridgeR3RegisterDevice(PPDMDEVINS pDevIns, PPCIDEVICE pPciDev, const char *pszName, int iDev)
    25092517{
    25102518    PPCIBUS pBus = PDMINS_2_DATA(pDevIns, PPCIBUS);
     
    25242532     * Register the device.
    25252533     */
    2526     return pciRegisterInternal(pBus, iDev, pPciDev, pszName);
     2534    return pciR3RegisterDeviceInternal(pBus, iDev, pPciDev, pszName);
    25272535}
    25282536
     
    25312539 * @copydoc FNPDMDEVRESET
    25322540 */
    2533 static DECLCALLBACK(void) pcibridgeReset(PPDMDEVINS pDevIns)
     2541static DECLCALLBACK(void) pcibridgeR3Reset(PPDMDEVINS pDevIns)
    25342542{
    25352543    PPCIBUS pBus = PDMINS_2_DATA(pDevIns, PPCIBUS);
     
    25452553 * @copydoc FNPDMDEVRELOCATE
    25462554 */
    2547 static DECLCALLBACK(void) pcibridgeRelocate(PPDMDEVINS pDevIns, RTGCINTPTR offDelta)
     2555static DECLCALLBACK(void) pcibridgeR3Relocate(PPDMDEVINS pDevIns, RTGCINTPTR offDelta)
    25482556{
    25492557    PPCIBUS pBus = PDMINS_2_DATA(pDevIns, PPCIBUS);
     
    25622570 * @interface_method_impl{PDMDEVREG,pfnConstruct}
    25632571 */
    2564 static DECLCALLBACK(int)   pcibridgeConstruct(PPDMDEVINS pDevIns, int iInstance, PCFGMNODE pCfg)
     2572static DECLCALLBACK(int)   pcibridgeR3Construct(PPDMDEVINS pDevIns, int iInstance, PCFGMNODE pCfg)
    25652573{
    25662574    PDMDEV_CHECK_VERSIONS_RETURN(pDevIns);
     
    25982606    PDMPCIBUSREG PciBusReg;
    25992607    PciBusReg.u32Version              = PDM_PCIBUSREG_VERSION;
    2600     PciBusReg.pfnRegisterR3           = pcibridgeRegister;
     2608    PciBusReg.pfnRegisterR3           = pcibridgeR3RegisterDevice;
    26012609    PciBusReg.pfnRegisterMsiR3        = NULL;
    2602     PciBusReg.pfnIORegionRegisterR3   = pciIORegionRegister;
    2603     PciBusReg.pfnSetConfigCallbacksR3 = pciSetConfigCallbacks;
     2610    PciBusReg.pfnIORegionRegisterR3   = pciR3CommonIORegionRegister;
     2611    PciBusReg.pfnSetConfigCallbacksR3 = pciR3CommonSetConfigCallbacks;
    26042612    PciBusReg.pfnSetIrqR3             = pcibridgeSetIrq;
    2605     PciBusReg.pfnSaveExecR3           = pciGenericSaveExec;
    2606     PciBusReg.pfnLoadExecR3           = pciGenericLoadExec;
     2613    PciBusReg.pfnSaveExecR3           = pciR3GenericSaveExec;
     2614    PciBusReg.pfnLoadExecR3           = pciR3GenericLoadExec;
    26072615    PciBusReg.pfnFakePCIBIOSR3        = NULL; /* Only needed for the first bus. */
    26082616    PciBusReg.pszSetIrqRC             = fGCEnabled ? "pcibridgeSetIrq" : NULL;
     
    26442652    /* Bridge-specific data */
    26452653    pciDevSetPci2PciBridge(&pBus->PciDev);
    2646     pBus->PciDev.Int.s.pfnBridgeConfigRead  = pcibridgeConfigRead;
    2647     pBus->PciDev.Int.s.pfnBridgeConfigWrite = pcibridgeConfigWrite;
     2654    pBus->PciDev.Int.s.pfnBridgeConfigRead  = pcibridgeR3ConfigRead;
     2655    pBus->PciDev.Int.s.pfnBridgeConfigWrite = pcibridgeR3ConfigWrite;
    26482656
    26492657    /*
     
    27052713    sizeof(PCIBUS),
    27062714    /* pfnConstruct */
    2707     pcibridgeConstruct,
     2715    pcibridgeR3Construct,
    27082716    /* pfnDestruct */
    27092717    NULL,
    27102718    /* pfnRelocate */
    2711     pcibridgeRelocate,
     2719    pcibridgeR3Relocate,
    27122720    /* pfnIOCtl */
    27132721    NULL,
     
    27152723    NULL,
    27162724    /* pfnReset */
    2717     pcibridgeReset,
     2725    pcibridgeR3Reset,
    27182726    /* pfnSuspend */
    27192727    NULL,
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