VirtualBox

Changeset 25848 in vbox for trunk/include


Ignore:
Timestamp:
Jan 14, 2010 10:12:21 PM (15 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
56635
Message:

CPU hotplug: Merge the third patch. Guest additions interface for the CPU hot-plug monitor

Location:
trunk/include/VBox
Files:
4 edited

Legend:

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

    r22704 r25848  
    9292/** New mouse position data available. */
    9393#define VMMDEV_EVENT_MOUSE_POSITION_CHANGED                 RT_BIT(9)
     94/** CPU hotplug event occurred. */
     95#define VMMDEV_EVENT_CPU_HOTPLUG                            RT_BIT(10)
    9496/** The mask of valid events, for sanity checking. */
    95 #define VMMDEV_EVENT_VALID_EVENT_MASK                       UINT32_C(0x000003ff)
     97#define VMMDEV_EVENT_VALID_EVENT_MASK                       UINT32_C(0x000007ff)
    9698/** @} */
    9799
     
    169171    VMMDevReq_GetVRDPChangeRequest       = 150,
    170172    VMMDevReq_LogString                  = 200,
     173    VMMDevReq_GetCpuHotPlugRequest       = 210,
     174    VMMDevReq_SetCpuHotPlugStatus        = 211,
    171175    VMMDevReq_SizeHack                   = 0x7fffffff
    172176} VMMDevRequestType;
     
    983987AssertCompileSize(RTRECT, 16);
    984988AssertCompileSize(VMMDevVideoSetVisibleRegion, 24+4+16);
     989
     990/**
     991 * CPU event types.
     992 */
     993typedef enum
     994{
     995    VMMDevCpuStatusType_Invalid  = 0,
     996    VMMDevCpuStatusType_Disable  = 1,
     997    VMMDevCpuStatusType_Enable   = 2,
     998    VMMDevCpuStatusType_SizeHack = 0x7fffffff
     999} VMMDevCpuStatusType;
     1000
     1001/**
     1002 * CPU hotplug event status request.
     1003 */
     1004typedef struct
     1005{
     1006    /** Header. */
     1007    VMMDevRequestHeader header;
     1008    /** Status type */
     1009    VMMDevCpuStatusType enmStatusType;
     1010} VMMDevCpuHotPlugStatusRequest;
     1011AssertCompileSize(VMMDevCpuHotPlugStatusRequest, 24+4);
     1012
     1013/**
     1014 * Get the ID of the changed CPU and event type.
     1015 */
     1016typedef struct
     1017{
     1018    /** Header. */
     1019    VMMDevRequestHeader header;
     1020    /** Event type */
     1021    VMMDevCpuEventType  enmEventType;
     1022    /** core id of the CPU changed */
     1023    uint32_t            idCpuCore;
     1024    /** package id of the CPU changed */
     1025    uint32_t            idCpuPackage;
     1026} VMMDevGetCpuHotPlugRequest;
     1027AssertCompileSize(VMMDevGetCpuHotPlugRequest, 24+4+4+4);
    9851028
    9861029#pragma pack()
     
    14801523        case VMMDevReq_CtlGuestFilterMask:
    14811524            return sizeof(VMMDevCtlGuestFilterMask);
     1525        case VMMDevReq_GetCpuHotPlugRequest:
     1526            return sizeof(VMMDevGetCpuHotPlugRequest);
     1527        case VMMDevReq_SetCpuHotPlugStatus:
     1528            return sizeof(VMMDevCpuHotPlugStatusRequest);
    14821529        default:
    14831530            return 0;
  • trunk/include/VBox/VMMDev2.h

    r21227 r25848  
    5656} VMMDevSeamlessMode;
    5757
     58/**
     59 * CPU event types.
     60 *
     61 * Used by VbglR3CpuHotplugWaitForEvent
     62 *
     63 * @ingroup grp_vmmdev_req
     64 */
     65typedef enum
     66{
     67    VMMDevCpuEventType_Invalid  = 0,
     68    VMMDevCpuEventType_None     = 1,
     69    VMMDevCpuEventType_Plug     = 2,
     70    VMMDevCpuEventType_Unplug   = 3,
     71    VMMDevCpuEventType_SizeHack = 0x7fffffff
     72} VMMDevCpuEventType;
    5873
    5974/**
  • trunk/include/VBox/err.h

    r25313 r25848  
    14921492/** @} */
    14931493
     1494/** @name VBox CPU hotplug Status codes
     1495 * @{
     1496 */
     1497/** CPU hotplug events from VMMDev are not monitored by the guest */
     1498#define VERR_CPU_HOTPLUG_NOT_MONITORED_BY_GUEST    (-4700)
     1499/** @} */
     1500
    14941501/* SED-END */
    14951502
  • trunk/include/VBox/pdmifs.h

    r25817 r25848  
    19021902    DECLR3CALLBACKMEMBER(int, pfnVRDPChange, (PPDMIVMMDEVPORT pInterface, bool fVRDPEnabled, uint32_t u32VRDPExperienceLevel));
    19031903
     1904    /**
     1905     * Notify the guest of CPU hot-unplug event.
     1906     *
     1907     * @returns VBox status code
     1908     * @param   idCpuCore    The core id of the CPU to remove.
     1909     * @param   idCpuPackage The package id of the CPU to remove.
     1910     */
     1911    DECLR3CALLBACKMEMBER(int, pfnCpuHotUnplug, (PPDMIVMMDEVPORT pInterface, uint32_t idCpuCore, uint32_t idCpuPackage));
     1912
     1913    /**
     1914     * Notify the guest of CPU hot-plug event.
     1915     *
     1916     * @returns VBox status code
     1917     * @param   idCpuCore    The core id of the CPU to add.
     1918     * @param   idCpuPackage The package id of the CPU to add.
     1919     */
     1920    DECLR3CALLBACKMEMBER(int, pfnCpuHotPlug, (PPDMIVMMDEVPORT pInterface, uint32_t idCpuCore, uint32_t idCpuPackage));
     1921
    19041922} PDMIVMMDEVPORT;
    19051923
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