VirtualBox

Changeset 64471 in vbox for trunk/src/VBox


Ignore:
Timestamp:
Oct 28, 2016 3:24:14 PM (8 years ago)
Author:
vboxsync
Message:

DevPci: Cleaning up ich9pciUpdateMappings and friends.

File:
1 edited

Legend:

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

    r64469 r64471  
    17601760
    17611761
     1762/* -=-=-=-=-=- PCI Config Space -=-=-=-=-=- */
     1763
     1764
    17621765/**
    17631766 * @callback_method_impl{PFNPCICONFIGREAD, Default config space read callback.}
     
    18081811}
    18091812
     1813
    18101814/**
    18111815 * Worker for ich9pciResetDevice and devpciR3UpdateMappings that unmaps a region.
     
    18521856}
    18531857
    1854 static void devpciR3UpdateMappings(PDMPCIDEV* pDev)
    1855 {
    1856     uint16_t const u16Cmd = ich9pciGetWord(pDev, VBOX_PCI_COMMAND);
     1858
     1859/**
     1860 * Worker for devpciR3IsConfigByteWritable that update BAR and ROM mappings.
     1861 *
     1862 * @param   pDev                The PCI device to update the mappings for.
     1863 */
     1864static void devpciR3UpdateMappings(PPDMPCIDEV pPciDev)
     1865{
     1866    uint16_t const u16Cmd = ich9pciGetWord(pPciDev, VBOX_PCI_COMMAND);
    18571867    for (unsigned iRegion = 0; iRegion < VBOX_PCI_NUM_REGIONS; iRegion++)
    18581868    {
    1859         PCIIORegion   *pRegion  = &pDev->Int.s.aIORegions[iRegion];
     1869        PCIIORegion   *pRegion  = &pPciDev->Int.s.aIORegions[iRegion];
    18601870        uint64_t const cbRegion = pRegion->size;
    18611871        if (cbRegion != 0)
     
    18731883                if (u16Cmd & PCI_COMMAND_IOACCESS)
    18741884                {
    1875                     uint32_t uIoBase = ich9pciGetDWord(pDev, offCfgReg);
     1885                    uint32_t uIoBase = ich9pciGetDWord(pPciDev, offCfgReg);
    18761886                    uIoBase &= ~(uint32_t)(cbRegion - 1);
    18771887
     
    18911901            else if (u16Cmd & PCI_COMMAND_MEMACCESS)
    18921902            {
    1893                 uint64_t uMemBase = ich9pciGetDWord(pDev, offCfgReg);
     1903                uint64_t uMemBase = ich9pciGetDWord(pPciDev, offCfgReg);
    18941904                if (f64Bit)
    18951905                {
    18961906                    Assert(iRegion < VBOX_PCI_ROM_SLOT);
    1897                     uMemBase |= (uint64_t)ich9pciGetDWord(pDev, offCfgReg + 4) << 32;
     1907                    uMemBase |= (uint64_t)ich9pciGetDWord(pPciDev, offCfgReg + 4) << 32;
    18981908                }
    18991909                if (   iRegion != PCI_ROM_SLOT
     
    19171927            {
    19181928                LogRel2(("PCI: config dev %u/%u (%s) BAR%i: %#RX64 -> %#RX64 (LB %RX64 (%RU64))\n",
    1919                          pDev->uDevFn >> VBOX_PCI_DEVFN_DEV_SHIFT, pDev->uDevFn & VBOX_PCI_DEVFN_FUN_MASK, pDev->pszNameR3,
    1920                          iRegion, pRegion->addr, uNew, cbRegion, cbRegion));
    1921 
    1922                 ich9pciUnmapRegion(pDev, iRegion);
     1929                         pPciDev->uDevFn >> VBOX_PCI_DEVFN_DEV_SHIFT, pPciDev->uDevFn & VBOX_PCI_DEVFN_FUN_MASK,
     1930                         pPciDev->pszNameR3, iRegion, pRegion->addr, uNew, cbRegion, cbRegion));
     1931
     1932                ich9pciUnmapRegion(pPciDev, iRegion);
    19231933                pRegion->addr = uNew;
    19241934                if (uNew != INVALID_PCI_ADDRESS)
    19251935                {
    1926                     int rc;
    1927                     rc = pRegion->map_func(pDev->Int.s.pDevInsR3, pDev, iRegion, uNew, cbRegion, (PCIADDRESSSPACE)(pRegion->type));
     1936                    int rc = pRegion->map_func(pPciDev->Int.s.pDevInsR3, pPciDev, iRegion, uNew, cbRegion,
     1937                                              (PCIADDRESSSPACE)(pRegion->type));
    19281938                    AssertRC(rc);
    19291939                }
Note: See TracChangeset for help on using the changeset viewer.

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