VirtualBox

Changeset 10492 in vbox for trunk/src/VBox/Devices


Ignore:
Timestamp:
Jul 11, 2008 8:14:13 AM (17 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
33170
Message:

Added PDMApicHasPendingIrq.

File:
1 edited

Legend:

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

    r10477 r10492  
    267267PDMBOTHCBDECL(int)  apicMMIOWrite(PPDMDEVINS pDevIns, void *pvUser, RTGCPHYS GCPhysAddr, void *pv, unsigned cb);
    268268PDMBOTHCBDECL(int)  apicGetInterrupt(PPDMDEVINS pDevIns);
     269PDMBOTHCBDECL(bool) apicHasPendingIrq(PPDMDEVINS pDevIns);
    269270PDMBOTHCBDECL(void) apicSetBase(PPDMDEVINS pDevIns, uint64_t val);
    270271PDMBOTHCBDECL(uint64_t) apicGetBase(PPDMDEVINS pDevIns);
     
    761762    return intno;
    762763}
     764
     765/* Check if the APIC has a pending interrupt/if a TPR change would active one. */
     766PDMBOTHCBDECL(bool) apicHasPendingIrq(PPDMDEVINS pDevIns)
     767{
     768    APICState *s = PDMINS2DATA(pDevIns, APICState *);
     769    return false;
     770}
     771
    763772
    764773static uint32_t apic_get_current_count(APICState *s)
     
    16801689     * Register the APIC.
    16811690     */
    1682     ApicReg.u32Version          = PDM_APICREG_VERSION;
    1683     ApicReg.pfnGetInterruptHC   = apicGetInterrupt;
    1684     ApicReg.pfnSetBaseHC        = apicSetBase;
    1685     ApicReg.pfnGetBaseHC        = apicGetBase;
    1686     ApicReg.pfnSetTPRHC         = apicSetTPR;
    1687     ApicReg.pfnGetTPRHC         = apicGetTPR;
    1688     ApicReg.pfnBusDeliverHC     = apicBusDeliverCallback;
     1691    ApicReg.u32Version              = PDM_APICREG_VERSION;
     1692    ApicReg.pfnGetInterruptHC       = apicGetInterrupt;
     1693    ApicReg.pfnHasPendingIrqHC      = apicHasPendingIrq;
     1694    ApicReg.pfnSetBaseHC            = apicSetBase;
     1695    ApicReg.pfnGetBaseHC            = apicGetBase;
     1696    ApicReg.pfnSetTPRHC             = apicSetTPR;
     1697    ApicReg.pfnGetTPRHC             = apicGetTPR;
     1698    ApicReg.pfnBusDeliverHC         = apicBusDeliverCallback;
    16891699    if (fGCEnabled) {
    16901700        ApicReg.pszGetInterruptGC   = "apicGetInterrupt";
     1701        ApicReg.pszHasPendingIrqGC  = "apicHasPendingIrq";
    16911702        ApicReg.pszSetBaseGC        = "apicSetBase";
    16921703        ApicReg.pszGetBaseGC        = "apicGetBase";
     
    16961707    } else {
    16971708        ApicReg.pszGetInterruptGC   = NULL;
     1709        ApicReg.pszHasPendingIrqGC  = NULL;
    16981710        ApicReg.pszSetBaseGC        = NULL;
    16991711        ApicReg.pszGetBaseGC        = NULL;
     
    17041716    if (fR0Enabled) {
    17051717        ApicReg.pszGetInterruptR0   = "apicGetInterrupt";
     1718        ApicReg.pszHasPendingIrqR0  = "apicHasPendingIrq";
    17061719        ApicReg.pszSetBaseR0        = "apicSetBase";
    17071720        ApicReg.pszGetBaseR0        = "apicGetBase";
     
    17111724    } else {
    17121725        ApicReg.pszGetInterruptR0   = NULL;
     1726        ApicReg.pszHasPendingIrqR0  = NULL;
    17131727        ApicReg.pszSetBaseR0        = NULL;
    17141728        ApicReg.pszGetBaseR0        = NULL;
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