VirtualBox

Ignore:
Timestamp:
Jul 28, 2009 4:43:30 PM (16 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
50489
Message:

ACPI PM device: a bit more of refactoring and logging

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/PC/DevACPI.cpp

    r21838 r21855  
    19441944}
    19451945
     1946static int acpiUpdatePmHandlers(ACPIState *pThis, RTIOPORT uNewBase)
     1947{
     1948    Log(("acpi: rebasing PM 0x%x -> 0x%x\n", pThis->uPmIoPortBase, uNewBase));
     1949    if (uNewBase != pThis->uPmIoPortBase)
     1950    {
     1951        int rc;
     1952
     1953        rc = acpiUnregisterPmHandlers(pThis);
     1954        if (RT_FAILURE(rc))
     1955            return rc;
     1956
     1957        pThis->uPmIoPortBase = uNewBase;
     1958
     1959        rc = acpiRegisterPmHandlers(pThis);
     1960        if (RT_FAILURE(rc))
     1961            return rc;
     1962    }
     1963
     1964    return VINF_SUCCESS;
     1965}
     1966
    19461967static uint32_t acpiPciConfigRead(PPCIDEVICE pPciDev, uint32_t Address, unsigned cb)
    19471968{
     
    19491970    ACPIState*  pThis = PDMINS_2_DATA(pDevIns, ACPIState *);
    19501971
     1972    Log2(("acpi: PCI config read: 0x%x (%d)\n", Address, cb));
     1973
    19511974    return pThis->pfnAcpiPciConfigRead(pPciDev, Address, cb);
    19521975}
     
    19571980    ACPIState  *pThis   = PDMINS_2_DATA(pDevIns, ACPIState *);
    19581981
     1982    Log2(("acpi: PCI config write: 0x%x -> 0x%x (%d)\n", u32Value, Address, cb));
    19591983    pThis->pfnAcpiPciConfigWrite(pPciDev, Address, u32Value, cb);
    19601984
     
    19711995            uNewBase &= 0xffc0;
    19721996
    1973             if (uNewBase != pThis->uPmIoPortBase)
    1974             {
    1975                 rc = acpiUnregisterPmHandlers(pThis);
    1976                 Assert(RT_SUCCESS(rc));
    1977 
    1978                 pThis->uPmIoPortBase = uNewBase;
    1979 
    1980                 rc = acpiRegisterPmHandlers(pThis);
    1981                 Assert(RT_SUCCESS(rc));
    1982             }
     1997            rc = acpiUpdatePmHandlers(pThis, uNewBase);
     1998            Assert(RT_SUCCESS(rc));
    19831999        }
    19842000    }
     
    22282244    s->gpe0_sts          = 0;
    22292245    s->uSleepState       = 0;
     2246
     2247    /** @todo Should we really reset PM base? */
     2248    acpiUpdatePmHandlers(s, PM_PORT_BASE);
    22302249
    22312250    acpiPlantTables(s);
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