VirtualBox

Changeset 29307 in vbox for trunk/include


Ignore:
Timestamp:
May 10, 2010 3:18:22 PM (15 years ago)
Author:
vboxsync
Message:

Shared paging interface updates

Location:
trunk/include/VBox
Files:
6 edited

Legend:

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

    r28800 r29307  
    561561VBGLR3DECL(int)     VbglR3UnregisterSharedModule(char *pszModuleName, char *pszVersion, RTGCPTR64  GCBaseAddr, uint32_t cbModule);
    562562VBGLR3DECL(int)     VbglR3CheckSharedModules(void);
     563VBGLR3DECL(bool)    VbglR3PageSharingIsEnabled(void);
    563564/** @} */
    564565
  • trunk/include/VBox/VMMDev.h

    r29043 r29307  
    175175    VMMDevReq_UnregisterSharedModule     = 213,
    176176    VMMDevReq_CheckSharedModules         = 214,
     177    VMMDevReq_GetPageSharingStatus       = 215,
    177178#endif
    178179    VMMDevReq_SizeHack                   = 0x7fffffff
     
    11281129    /** Base address of the shared module. */
    11291130    RTGCPTR64                   GCBaseAddr;
     1131    /** Guest OS type. */
     1132    VBOXOSFAMILY                enmGuestOS;
     1133    /** Alignment. */
     1134    uint32_t                    u32Align;
    11301135    /** Module name */
    11311136    char                        szName[128];
     
    11351140    VMMDEVSHAREDREGIONDESC      aRegions[1];
    11361141} VMMDevSharedModuleRegistrationRequest;
    1137 AssertCompileSize(VMMDevSharedModuleRegistrationRequest, 24+4+4+8+128+16+16);
     1142AssertCompileSize(VMMDevSharedModuleRegistrationRequest, 24+4+4+8+4+4+128+16+16);
    11381143
    11391144
     
    11681173} VMMDevSharedModuleCheckRequest;
    11691174AssertCompileSize(VMMDevSharedModuleCheckRequest, 24);
     1175
     1176/**
     1177 * Paging sharing enabled query
     1178 */
     1179typedef struct
     1180{
     1181    /** Header. */
     1182    VMMDevRequestHeader         header;
     1183    /** Enabled flag (out) */
     1184    bool                        fEnabled;
     1185    /** Alignment */
     1186    bool                        fAlignment[3];
     1187} VMMDevPageSharingStatusRequest;
     1188AssertCompileSize(VMMDevPageSharingStatusRequest, 24+4);
    11701189
    11711190#pragma pack()
     
    16781697        case VMMDevReq_CheckSharedModules:
    16791698            return sizeof(VMMDevSharedModuleCheckRequest);
     1699        case VMMDevReq_GetPageSharingStatus:
     1700            return sizeof(VMMDevPageSharingStatusRequest);
    16801701#endif
    16811702
  • trunk/include/VBox/gmm.h

    r29201 r29307  
    478478    /** Base address of the shared module. */
    479479    RTGCPTR64                   GCBaseAddr;
     480    /** Guest OS type. */
     481    VBOXOSFAMILY                enmGuestOS;
     482    /** Alignment. */
     483    uint32_t                    u32Alignment;
    480484    /** Module name */
    481485    char                        szName[GMM_SHARED_MODULE_MAX_NAME_STRING];
  • trunk/include/VBox/ostypes.h

    r28800 r29307  
    116116} VBOXOSTYPE;
    117117
     118/**
     119 * Global list of guest OS families.
     120 */
     121typedef enum VBOXOSFAMILY
     122{
     123    VBOXOSFAMILY_Unknown          = 0,
     124    VBOXOSFAMILY_Windows32        = 1,
     125    VBOXOSFAMILY_Windows64        = 2,
     126    VBOXOSFAMILY_Linux32          = 3,
     127    VBOXOSFAMILY_Linux64          = 4,
     128    VBOXOSFAMILY_FreeBSD32        = 5,
     129    VBOXOSFAMILY_FreeBSD64        = 6,
     130    VBOXOSFAMILY_Solaris32        = 7,
     131    VBOXOSFAMILY_Solaris64        = 8,
     132    VBOXOSFAMILY_MacOSX32         = 9,
     133    VBOXOSFAMILY_MacOSX64         = 10,
     134    /** The usual 32-bit hack. */
     135    VBOXOSFAMILY_32BIT_HACK = 0x7fffffff
     136} VBOXOSFAMILY;
     137
    118138RT_C_DECLS_END
    119139
  • trunk/include/VBox/pdmifs.h

    r28909 r29307  
    20352035    DECLR3CALLBACKMEMBER(int, pfnCpuHotPlug, (PPDMIVMMDEVPORT pInterface, uint32_t idCpuCore, uint32_t idCpuPackage));
    20362036
     2037    /**
     2038     * Enable or disable page sharing
     2039     *
     2040     * @returns VBox status code
     2041     * @param   fEnabled     New setting
     2042     */
     2043    DECLR3CALLBACKMEMBER(int, pfnEnablePageSharing, (PPDMIVMMDEVPORT pInterface, bool fEnabled));
     2044
    20372045} PDMIVMMDEVPORT;
    20382046/** PDMIVMMDEVPORT interface ID. */
  • trunk/include/VBox/pgm.h

    r29201 r29307  
    567567/** @name Page sharing
    568568 * @{ */
    569 VMMR3DECL(int)     PGMR3SharedModuleRegister(PVM pVM, char *pszModuleName, char *pszVersion, RTGCPTR GCBaseAddr, uint32_t cbModule, unsigned cRegions, VMMDEVSHAREDREGIONDESC *pRegions);
     569VMMR3DECL(int)     PGMR3SharedModuleRegister(PVM pVM, VBOXOSFAMILY enmGuestOS, char *pszModuleName, char *pszVersion, RTGCPTR GCBaseAddr, uint32_t cbModule, unsigned cRegions, VMMDEVSHAREDREGIONDESC *pRegions);
    570570VMMR3DECL(int)     PGMR3SharedModuleUnregister(PVM pVM, char *pszModuleName, char *pszVersion, RTGCPTR GCBaseAddr, uint32_t cbModule);
    571571/** @} */
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