VirtualBox

Changeset 26563 in vbox for trunk/include


Ignore:
Timestamp:
Feb 16, 2010 9:50:44 AM (15 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
57743
Message:

Started with large page support

Location:
trunk/include/VBox
Files:
2 edited

Legend:

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

    r26414 r26563  
    271271GMMR0DECL(int)  GMMR0AllocateHandyPages(PVM pVM, VMCPUID idCpu, uint32_t cPagesToUpdate, uint32_t cPagesToAlloc, PGMMPAGEDESC paPages);
    272272GMMR0DECL(int)  GMMR0AllocatePages(PVM pVM, VMCPUID idCpu, uint32_t cPages, PGMMPAGEDESC paPages, GMMACCOUNT enmAccount);
     273GMMR0DECL(int)  GMMR0AllocateLargePage(PVM pVM, VMCPUID idCpu, uint64_t cbPage, uint32_t *pidPage);
    273274GMMR0DECL(int)  GMMR0FreePages(PVM pVM, VMCPUID idCpu, uint32_t cPages, PGMMFREEPAGEDESC paPages, GMMACCOUNT enmAccount);
     275GMMR0DECL(int)  GMMR0FreeLargePage(PVM pVM, VMCPUID idCpu, uint32_t idPage);
    274276GMMR0DECL(int)  GMMR0BalloonedPages(PVM pVM, VMCPUID idCpu, uint32_t cBalloonedPages, uint32_t cPagesToFree, PGMMFREEPAGEDESC paPages, bool fCompleted);
    275277GMMR0DECL(int)  GMMR0DeflatedBalloon(PVM pVM, VMCPUID idCpu, uint32_t cPages);
     
    401403
    402404GMMR0DECL(int)  GMMR0MapUnmapChunkReq(PVM pVM, VMCPUID idCpu, PGMMMAPUNMAPCHUNKREQ pReq);
     405
     406/**
     407 * Request buffer for GMMR0AllocateLargePageReq / VMMR0_DO_GMM_ALLOC_LARGE_PAGE.
     408 * @see GMMR0AllocateLargePage
     409 */
     410typedef struct GMMALLOCLARGEPAGEREQ
     411{
     412    /** The header. */
     413    SUPVMMR0REQHDR  Hdr;
     414    /* Large page size. */
     415    uint32_t        cbPage;
     416    /** The Page ID.
     417     *
     418     * @output  The ID of the page, NIL_GMM_PAGEID if the allocation failed.
     419     */
     420    uint32_t        idPage;
     421} GMMALLOCLARGEPAGEREQ;
     422/** Pointer to a GMMR0AllocateLargePageReq / VMMR0_DO_GMM_ALLOC_LARGE_PAGE request buffer. */
     423typedef GMMALLOCLARGEPAGEREQ *PGMMALLOCLARGEPAGEREQ;
     424
     425GMMR0DECL(int) GMMR0AllocateLargePageReq(PVM pVM, VMCPUID idCpu, PGMMALLOCLARGEPAGEREQ pReq);
     426
     427
     428/**
     429 * Request buffer for GMMR0FreeLargePageReq / VMMR0_DO_GMM_FREE_LARGE_PAGE.
     430 * @see GMMR0FreeLargePage.
     431 */
     432typedef struct GMMFREELARGEPAGEREQ
     433{
     434    /** The header. */
     435    SUPVMMR0REQHDR  Hdr;
     436    /** The Page ID. */
     437    uint32_t        idPage;
     438} GMMFREELARGEPAGEREQ;
     439/** Pointer to a GMMR0FreePagesReq / VMMR0_DO_GMM_FREE_PAGES request buffer. */
     440typedef GMMFREELARGEPAGEREQ *PGMMFREELARGEPAGEREQ;
     441
     442GMMR0DECL(int) GMMR0FreeLargePageReq(PVM pVM, VMCPUID idCpu, PGMMFREELARGEPAGEREQ pReq);
    403443
    404444
  • trunk/include/VBox/vmm.h

    r23145 r26563  
    292292    /** Call GMMR0AllocatePages(). */
    293293    VMMR0_DO_GMM_ALLOCATE_PAGES,
     294    /** Call GMMR0AllocateLargePage(). */
     295    VMMR0_DO_GMM_ALLOC_LARGE_PAGE,
    294296    /** Call GMMR0FreePages(). */
    295297    VMMR0_DO_GMM_FREE_PAGES,
     298    /** Call GMMR0FreeLargePage(). */
     299    VMMR0_DO_GMM_FREE_LARGE_PAGE,
    296300    /** Call GMMR0BalloonedPages(). */
    297301    VMMR0_DO_GMM_BALLOONED_PAGES,
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