VirtualBox

Changeset 11219 in vbox for trunk/include


Ignore:
Timestamp:
Aug 7, 2008 6:05:58 PM (17 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
34273
Message:

#1865: DevAPIC.

File:
1 edited

Legend:

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

    r11169 r11219  
    941941     * @param   pDevIns         Device instance of the APIC.
    942942     */
    943     DECLR3CALLBACKMEMBER(int, pfnGetInterruptHC,(PPDMDEVINS pDevIns));
     943    DECLR3CALLBACKMEMBER(int, pfnGetInterruptR3,(PPDMDEVINS pDevIns));
    944944
    945945    /**
     
    949949     * @param   pDevIns         Device instance of the APIC.
    950950     */
    951     DECLR3CALLBACKMEMBER(bool, pfnHasPendingIrqHC,(PPDMDEVINS pDevIns));
     951    DECLR3CALLBACKMEMBER(bool, pfnHasPendingIrqR3,(PPDMDEVINS pDevIns));
    952952
    953953    /**
     
    957957     * @param   u64Base         The new base.
    958958     */
    959     DECLR3CALLBACKMEMBER(void, pfnSetBaseHC,(PPDMDEVINS pDevIns, uint64_t u64Base));
     959    DECLR3CALLBACKMEMBER(void, pfnSetBaseR3,(PPDMDEVINS pDevIns, uint64_t u64Base));
    960960
    961961    /**
     
    965965     * @param   pDevIns         Device instance of the APIC.
    966966     */
    967     DECLR3CALLBACKMEMBER(uint64_t, pfnGetBaseHC,(PPDMDEVINS pDevIns));
     967    DECLR3CALLBACKMEMBER(uint64_t, pfnGetBaseR3,(PPDMDEVINS pDevIns));
    968968
    969969    /**
     
    973973     * @param   u8TPR           The new TPR.
    974974     */
    975     DECLR3CALLBACKMEMBER(void, pfnSetTPRHC,(PPDMDEVINS pDevIns, uint8_t u8TPR));
     975    DECLR3CALLBACKMEMBER(void, pfnSetTPRR3,(PPDMDEVINS pDevIns, uint8_t u8TPR));
    976976
    977977    /**
     
    982982     * @param   pfPending       Pending interrupt state (out).
    983983     */
    984     DECLR3CALLBACKMEMBER(uint8_t, pfnGetTPRHC,(PPDMDEVINS pDevIns));
     984    DECLR3CALLBACKMEMBER(uint8_t, pfnGetTPRR3,(PPDMDEVINS pDevIns));
    985985
    986986    /**
     
    10021002     * @param   u8TriggerMode   See APIC implementation.
    10031003     */
    1004     DECLR3CALLBACKMEMBER(void, pfnBusDeliverHC,(PPDMDEVINS pDevIns, uint8_t u8Dest, uint8_t u8DestMode, uint8_t u8DeliveryMode,
     1004    DECLR3CALLBACKMEMBER(void, pfnBusDeliverR3,(PPDMDEVINS pDevIns, uint8_t u8Dest, uint8_t u8DestMode, uint8_t u8DeliveryMode,
    10051005                                                uint8_t iVector, uint8_t u8Polarity, uint8_t u8TriggerMode));
    10061006
    1007     /** The name of the GC GetInterrupt entry point. */
    1008     const char         *pszGetInterruptGC;
    1009     /** The name of the GC HasPendingIrq entry point. */
    1010     const char         *pszHasPendingIrqGC;
    1011     /** The name of the GC SetBase entry point. */
    1012     const char         *pszSetBaseGC;
    1013     /** The name of the GC GetBase entry point. */
    1014     const char         *pszGetBaseGC;
    1015     /** The name of the GC SetTPR entry point. */
    1016     const char         *pszSetTPRGC;
    1017     /** The name of the GC GetTPR entry point. */
    1018     const char         *pszGetTPRGC;
    1019     /** The name of the GC BusDeliver entry point. */
    1020     const char         *pszBusDeliverGC;
     1007    /** The name of the RC GetInterrupt entry point. */
     1008    const char         *pszGetInterruptRC;
     1009    /** The name of the RC HasPendingIrq entry point. */
     1010    const char         *pszHasPendingIrqRC;
     1011    /** The name of the RC SetBase entry point. */
     1012    const char         *pszSetBaseRC;
     1013    /** The name of the RC GetBase entry point. */
     1014    const char         *pszGetBaseRC;
     1015    /** The name of the RC SetTPR entry point. */
     1016    const char         *pszSetTPRRC;
     1017    /** The name of the RC GetTPR entry point. */
     1018    const char         *pszGetTPRRC;
     1019    /** The name of the RC BusDeliver entry point. */
     1020    const char         *pszBusDeliverRC;
    10211021
    10221022    /** The name of the R0 GetInterrupt entry point. */
     
    10441044
    10451045/**
    1046  * APIC GC helpers.
    1047  */
    1048 typedef struct PDMAPICHLPGC
    1049 {
    1050     /** Structure version. PDM_APICHLPGC_VERSION defines the current version. */
     1046 * APIC RC helpers.
     1047 */
     1048typedef struct PDMAPICHLPRC
     1049{
     1050    /** Structure version. PDM_APICHLPRC_VERSION defines the current version. */
    10511051    uint32_t                u32Version;
    10521052
     
    10561056     * @param   pDevIns         Device instance of the APIC.
    10571057     */
    1058     DECLGCCALLBACKMEMBER(void, pfnSetInterruptFF,(PPDMDEVINS pDevIns));
     1058    DECLRCCALLBACKMEMBER(void, pfnSetInterruptFF,(PPDMDEVINS pDevIns));
    10591059
    10601060    /**
     
    10631063     * @param   pDevIns         Device instance of the APIC.
    10641064     */
    1065     DECLGCCALLBACKMEMBER(void, pfnClearInterruptFF,(PPDMDEVINS pDevIns));
     1065    DECLRCCALLBACKMEMBER(void, pfnClearInterruptFF,(PPDMDEVINS pDevIns));
    10661066
    10671067    /**
     
    10711071     * @param   fEnabled        If true the bit is set, else cleared.
    10721072     */
    1073     DECLGCCALLBACKMEMBER(void, pfnChangeFeature,(PPDMDEVINS pDevIns, bool fEnabled));
     1073    DECLRCCALLBACKMEMBER(void, pfnChangeFeature,(PPDMDEVINS pDevIns, bool fEnabled));
    10741074
    10751075    /**
     
    10811081     * @param   rc              What to return if we fail to acquire the lock.
    10821082     */
    1083     DECLGCCALLBACKMEMBER(int,   pfnLock,(PPDMDEVINS pDevIns, int rc));
     1083    DECLRCCALLBACKMEMBER(int,   pfnLock,(PPDMDEVINS pDevIns, int rc));
    10841084
    10851085    /**
     
    10881088     * @param   pDevIns         The APIC device instance.
    10891089     */
    1090     DECLGCCALLBACKMEMBER(void,  pfnUnlock,(PPDMDEVINS pDevIns));
     1090    DECLRCCALLBACKMEMBER(void,  pfnUnlock,(PPDMDEVINS pDevIns));
    10911091
    10921092    /** Just a safety precaution. */
    10931093    uint32_t                u32TheEnd;
    1094 } PDMAPICHLPGC;
     1094} PDMAPICHLPRC;
    10951095/** Pointer to APIC GC helpers. */
    1096 typedef RCPTRTYPE(PDMAPICHLPGC *) PPDMAPICHLPGC;
     1096typedef RCPTRTYPE(PDMAPICHLPRC *) PPDMAPICHLPRC;
    10971097/** Pointer to const APIC helpers. */
    1098 typedef RCPTRTYPE(const PDMAPICHLPGC *) PCPDMAPICHLPGC;
    1099 
    1100 /** Current PDMAPICHLPGC version number. */
    1101 #define PDM_APICHLPGC_VERSION   0x60010000
     1098typedef RCPTRTYPE(const PDMAPICHLPRC *) PCPDMAPICHLPRC;
     1099
     1100/** Current PDMAPICHLPRC version number. */
     1101#define PDM_APICHLPRC_VERSION   0x60010000
    11021102
    11031103
     
    11611161
    11621162/**
    1163  * APIC HC helpers.
     1163 * APIC R3 helpers.
    11641164 */
    11651165typedef struct PDMAPICHLPR3
     
    12081208
    12091209    /**
    1210      * Gets the address of the GC APIC helpers.
     1210     * Gets the address of the RC APIC helpers.
    12111211     *
    12121212     * This should be called at both construction and relocation time
    1213      * to obtain the correct address of the GC helpers.
     1213     * to obtain the correct address of the RC helpers.
    12141214     *
    12151215     * @returns GC pointer to the APIC helpers.
    12161216     * @param   pDevIns         Device instance of the APIC.
    12171217     */
    1218     DECLR3CALLBACKMEMBER(PCPDMAPICHLPGC, pfnGetGCHelpers,(PPDMDEVINS pDevIns));
     1218    DECLR3CALLBACKMEMBER(PCPDMAPICHLPRC, pfnGetRCHelpers,(PPDMDEVINS pDevIns));
    12191219
    12201220    /**
     
    12561256     * @param   iLevel          IRQ level. See the PDM_IRQ_LEVEL_* \#defines.
    12571257     */
    1258     DECLR3CALLBACKMEMBER(void, pfnSetIrqHC,(PPDMDEVINS pDevIns, int iIrq, int iLevel));
     1258    DECLR3CALLBACKMEMBER(void, pfnSetIrqR3,(PPDMDEVINS pDevIns, int iIrq, int iLevel));
    12591259
    12601260    /** The name of the GC SetIrq entry point. */
    1261     const char         *pszSetIrqGC;
     1261    const char         *pszSetIrqRC;
    12621262
    12631263    /** The name of the R0 SetIrq entry point. */
     
    12721272
    12731273/**
    1274  * IOAPIC GC helpers.
    1275  */
    1276 typedef struct PDMIOAPICHLPGC
    1277 {
    1278     /** Structure version. PDM_IOAPICHLPGC_VERSION defines the current version. */
     1274 * IOAPIC RC helpers.
     1275 */
     1276typedef struct PDMIOAPICHLPRC
     1277{
     1278    /** Structure version. PDM_IOAPICHLPRC_VERSION defines the current version. */
    12791279    uint32_t                u32Version;
    12801280
     
    12931293     * @param   u8TriggerMode   See APIC implementation.
    12941294     */
    1295     DECLGCCALLBACKMEMBER(void, pfnApicBusDeliver,(PPDMDEVINS pDevIns, uint8_t u8Dest, uint8_t u8DestMode, uint8_t u8DeliveryMode,
     1295    DECLRCCALLBACKMEMBER(void, pfnApicBusDeliver,(PPDMDEVINS pDevIns, uint8_t u8Dest, uint8_t u8DestMode, uint8_t u8DeliveryMode,
    12961296                                                  uint8_t iVector, uint8_t u8Polarity, uint8_t u8TriggerMode));
    12971297
     
    13041304     * @param   rc              What to return if we fail to acquire the lock.
    13051305     */
    1306     DECLGCCALLBACKMEMBER(int,   pfnLock,(PPDMDEVINS pDevIns, int rc));
     1306    DECLRCCALLBACKMEMBER(int,   pfnLock,(PPDMDEVINS pDevIns, int rc));
    13071307
    13081308    /**
     
    13111311     * @param   pDevIns         The IOAPIC device instance.
    13121312     */
    1313     DECLGCCALLBACKMEMBER(void,  pfnUnlock,(PPDMDEVINS pDevIns));
     1313    DECLRCCALLBACKMEMBER(void,  pfnUnlock,(PPDMDEVINS pDevIns));
    13141314
    13151315    /** Just a safety precaution. */
    13161316    uint32_t                u32TheEnd;
    1317 } PDMIOAPICHLPGC;
    1318 /** Pointer to IOAPIC GC helpers. */
    1319 typedef RCPTRTYPE(PDMAPICHLPGC *)PPDMIOAPICHLPGC;
     1317} PDMIOAPICHLPRC;
     1318/** Pointer to IOAPIC RC helpers. */
     1319typedef RCPTRTYPE(PDMIOAPICHLPRC *) PPDMIOAPICHLPRC;
    13201320/** Pointer to const IOAPIC helpers. */
    1321 typedef RCPTRTYPE(const PDMIOAPICHLPGC *) PCPDMIOAPICHLPGC;
    1322 
    1323 /** Current PDMIOAPICHLPGC version number. */
    1324 #define PDM_IOAPICHLPGC_VERSION   0xfe010000
     1321typedef RCPTRTYPE(const PDMIOAPICHLPRC *) PCPDMIOAPICHLPRC;
     1322
     1323/** Current PDMIOAPICHLPRC version number. */
     1324#define PDM_IOAPICHLPRC_VERSION   0xfe010000
    13251325
    13261326
     
    13711371} PDMIOAPICHLPR0;
    13721372/** Pointer to IOAPIC R0 helpers. */
    1373 typedef R0PTRTYPE(PDMAPICHLPGC *) PPDMIOAPICHLPR0;
     1373typedef R0PTRTYPE(PDMIOAPICHLPR0 *) PPDMIOAPICHLPR0;
    13741374/** Pointer to const IOAPIC helpers. */
    13751375typedef R0PTRTYPE(const PDMIOAPICHLPR0 *) PCPDMIOAPICHLPR0;
     
    14211421
    14221422    /**
    1423      * Gets the address of the GC IOAPIC helpers.
     1423     * Gets the address of the RC IOAPIC helpers.
    14241424     *
    14251425     * This should be called at both construction and relocation time
    1426      * to obtain the correct address of the GC helpers.
    1427      *
    1428      * @returns GC pointer to the IOAPIC helpers.
     1426     * to obtain the correct address of the RC helpers.
     1427     *
     1428     * @returns RC pointer to the IOAPIC helpers.
    14291429     * @param   pDevIns         Device instance of the IOAPIC.
    14301430     */
    1431     DECLR3CALLBACKMEMBER(PCPDMIOAPICHLPGC, pfnGetGCHelpers,(PPDMDEVINS pDevIns));
     1431    DECLR3CALLBACKMEMBER(PCPDMIOAPICHLPRC, pfnGetRCHelpers,(PPDMDEVINS pDevIns));
    14321432
    14331433    /**
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