VirtualBox

Changeset 29307 in vbox for trunk/src/VBox/Devices/VMMDev


Ignore:
Timestamp:
May 10, 2010 3:18:22 PM (15 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
61395
Message:

Shared paging interface updates

Location:
trunk/src/VBox/Devices/VMMDev
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/VMMDev/VMMDev.cpp

    r29250 r29307  
    17721772            else
    17731773            {
    1774                 pRequestHeader->rc = PGMR3SharedModuleRegister(pVM, pReqModule->GCBaseAddr, pReqModule->cbModule,
     1774                pRequestHeader->rc = PGMR3SharedModuleRegister(pVM, pReqModule->enmGuestOS, pReqModule->GCBaseAddr, pReqModule->cbModule,
    17751775                                                               pReqModule->szName, pReqModule->szVersion,
    17761776                                                               pReqModule->cRegions, pReqModule->aRegions);
     
    18061806            {
    18071807                pRequestHeader->rc = PGMR3SharedModuleCheck(pVM);
     1808            }
     1809            break;
     1810        }
     1811
     1812        case VMMDevReq_GetPageSharingStatus:
     1813        {
     1814            VMMDevPageSharingStatusRequest *pReqStatus = (VMMDevPageSharingStatusRequest *)pRequestHeader;
     1815
     1816            if (pRequestHeader->size != sizeof(VMMDevPageSharingStatusRequest)
     1817            {
     1818                pRequestHeader->rc = VERR_INVALID_PARAMETER;
     1819            }
     1820            else
     1821            {
     1822                pRequestHeader->rc = pThis->fPageSharingEnabled;
    18081823            }
    18091824            break;
     
    21842199    }
    21852200
     2201    PDMCritSectLeave(&pThis->CritSect);
     2202    return VINF_SUCCESS;
     2203}
     2204
     2205static DECLCALLBACK(int) vmmdevEnablePageSharing(PPDMIVMMDEVPORT pInterface, bool fEnabled)
     2206{
     2207    VMMDevState *pThis = IVMMDEVPORT_2_VMMDEVSTATE(pInterface);
     2208    PDMCritSectEnter(&pThis->CritSect, VERR_SEM_BUSY);
     2209
     2210    Log(("vmmdevEnablePageSharing: old=%d. new=%d\n", pThis->fPageSharingEnabled, fEnabled));
     2211    pThis->fPageSharingEnabled = fEnabled;
    21862212    PDMCritSectLeave(&pThis->CritSect);
    21872213    return VINF_SUCCESS;
     
    27382764    pThis->IPort.pfnRequestSeamlessChange  = vmmdevRequestSeamlessChange;
    27392765    pThis->IPort.pfnSetMemoryBalloon       = vmmdevSetMemoryBalloon;
     2766    pThis->IPort.pfnEnablePageSharing      = vmmdevEnablePageSharing;
    27402767    pThis->IPort.pfnSetStatisticsInterval  = vmmdevSetStatisticsInterval;
    27412768    pThis->IPort.pfnVRDPChange             = vmmdevVRDPChange;
  • trunk/src/VBox/Devices/VMMDev/VMMDevState.h

    r28800 r29307  
    171171    bool fLastSeamlessEnabled, fSeamlessEnabled;
    172172
     173    /* shared paging change request. */
     174    bool fPageSharingEnabled;
     175
    173176    bool fVRDPEnabled;
    174177    uint32_t u32VRDPExperienceLevel;
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