VirtualBox

Changeset 32935 in vbox for trunk/include/VBox/pdmdev.h


Ignore:
Timestamp:
Oct 6, 2010 9:28:42 AM (15 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
66421
Message:

PDM, VMM, PCI: reworked MSI API: now MSIs delivered via IOAPIC API, not with MMIO access, LSI logic now can work in MSI mode

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/pdmdev.h

    r32820 r32935  
    579579
    580580    /**
     581     * Send an MSI.
     582     *
     583     * @param   pDevIns         PCI device instance.
     584     * @param   GCAddr          Physical address MSI request was written.
     585     * @param   uValue          Value written.
     586     * @thread  EMT only.
     587     */
     588    DECLRCCALLBACKMEMBER(void,  pfnIoApicSendMsi,(PPDMDEVINS pDevIns, RTGCPHYS GCAddr, uint32_t uValue));
     589
     590
     591    /**
    581592     * Acquires the PDM lock.
    582593     *
     
    603614typedef RCPTRTYPE(const PDMPCIHLPRC *) PCPDMPCIHLPRC;
    604615
    605 /** Current PDMPCIHLPR3 version number. */
    606 #define PDM_PCIHLPRC_VERSION                    PDM_VERSION_MAKE(0xfffd, 1, 0)
     616/** Current PDMPCIHLPRC version number. */
     617#define PDM_PCIHLPRC_VERSION                    PDM_VERSION_MAKE(0xfffd, 2, 0)
    607618
    608619
     
    634645     */
    635646    DECLR0CALLBACKMEMBER(void,  pfnIoApicSetIrq,(PPDMDEVINS pDevIns, int iIrq, int iLevel));
     647
     648    /**
     649     * Send an MSI.
     650     *
     651     * @param   pDevIns         PCI device instance.
     652     * @param   GCAddr          Physical address MSI request was written.
     653     * @param   uValue          Value written.
     654     * @thread  EMT only.
     655     */
     656    DECLR0CALLBACKMEMBER(void,  pfnIoApicSendMsi,(PPDMDEVINS pDevIns, RTGCPHYS GCAddr, uint32_t uValue));
     657
    636658
    637659    /**
     
    661683
    662684/** Current PDMPCIHLPR0 version number. */
    663 #define PDM_PCIHLPR0_VERSION                    PDM_VERSION_MAKE(0xfffc, 1, 0)
     685#define PDM_PCIHLPR0_VERSION                    PDM_VERSION_MAKE(0xfffc, 2, 0)
    664686
    665687/**
     
    690712     */
    691713    DECLR3CALLBACKMEMBER(void,  pfnIoApicSetIrq,(PPDMDEVINS pDevIns, int iIrq, int iLevel));
     714
     715    /**
     716     * Send an MSI.
     717     *
     718     * @param   pDevIns         PCI device instance.
     719     * @param   GCAddr          Physical address MSI request was written.
     720     * @param   uValue          Value written.
     721     * @thread  EMT only.
     722     */
     723    DECLR3CALLBACKMEMBER(void,  pfnIoApicSendMsi,(PPDMDEVINS pDevIns, RTGCPHYS GCAddr, uint32_t uValue));
    692724
    693725    /**
     
    751783
    752784/** Current PDMPCIHLPR3 version number. */
    753 #define PDM_PCIHLPR3_VERSION                    PDM_VERSION_MAKE(0xfffb, 1, 0)
     785#define PDM_PCIHLPR3_VERSION                    PDM_VERSION_MAKE(0xfffb, 2, 0)
    754786
    755787
     
    14491481    /** The name of the R0 SetIrq entry point. */
    14501482    const char         *pszSetIrqR0;
     1483
     1484    /**
     1485     * Send a MSI.
     1486     *
     1487     * @param   pDevIns         Device instance of the I/O APIC.
     1488     * @param   GCPhys          Request address.
     1489     * @param   uValue          Request value.
     1490     */
     1491    DECLR3CALLBACKMEMBER(void, pfnSendMsiR3,(PPDMDEVINS pDevIns, RTGCPHYS GCAddr, uint32_t uValue));
     1492
     1493    /** The name of the GC SendMsi entry point. */
     1494    const char         *pszSendMsiRC;
     1495
     1496    /** The name of the R0 SendMsi entry point. */
     1497    const char         *pszSendMsiR0;
    14511498} PDMIOAPICREG;
    14521499/** Pointer to an APIC registration structure. */
     
    14541501
    14551502/** Current PDMAPICREG version number. */
    1456 #define PDM_IOAPICREG_VERSION                   PDM_VERSION_MAKE(0xfff2, 1, 0)
     1503#define PDM_IOAPICREG_VERSION                   PDM_VERSION_MAKE(0xfff2, 2, 0)
    14571504
    14581505
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