VirtualBox

Changeset 26999 in vbox for trunk/include/VBox


Ignore:
Timestamp:
Mar 3, 2010 5:00:05 PM (15 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
58307
Message:

Guest Additions: memory ballooning for guests without support for RTR0MemObjAllocPhysNC() (does not work yet)

Location:
trunk/include/VBox
Files:
2 edited

Legend:

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

    r21412 r26999  
    270270
    271271
    272 /** IOCTL to VBoxGuest to check memory ballooning. */
    273 #define VBOXGUEST_IOCTL_CTL_CHECK_BALLOON_MASK      VBOXGUEST_IOCTL_CODE_(7, 100)
     272/** IOCTL to VBoxGuest to check memory ballooning.
     273 * The guest kernel module / device driver will ask the host for the current size of
     274 * the balloon and adjust the size or return with VERR_NO_PHYS_MEMORY. In the latter
     275 * case the user-level application is responsible for allocating memory in userland
     276 * and call the kernel module again doing VBOXGUEST_IOCTL_CHANGE_BALLOON */
     277#define VBOXGUEST_IOCTL_CHECK_BALLOON               VBOXGUEST_IOCTL_CODE_(7, 100)
     278
     279
     280/** IOCTL to VBoxGuest to supply or revoke one chunk for ballooning. The guest kernel
     281 * module / device driver will lock down supplied memory or unlock reclaimed memory
     282 * and then forward the physical addresses of the changed balloon chunk to the host. */
     283#define VBOXGUEST_IOCTL_CHANGE_BALLOON              VBOXGUEST_IOCTL_CODE_(8, sizeof(VBoxGuestChangeBalloonInfo))
     284
     285/** Information about a memory chunk used to inflate or deflate the balloon. */
     286typedef struct VBoxGuestChangeBalloonInfo
     287{
     288    /** Address of  */
     289    uint64_t u64ChunkAddr;
     290    /** true = inflate, false = deflate */
     291    bool     fInflate;
     292} VBoxGuestChangeBalloonInfo;
     293AssertCompileSize(VBoxGuestChangeBalloonInfo, 12);
    274294
    275295
  • trunk/include/VBox/VBoxGuestLib.h

    r26698 r26999  
    468468 * @{ */
    469469VBGLR3DECL(int) VbglR3MemBalloonRefresh(uint32_t *pu32Size);
     470VBGLR3DECL(int) VbglR3MemBalloonChange(void *pv, bool fInflate);
    470471/** @}  */
    471472
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