VirtualBox

Changeset 71131 in vbox for trunk/src/VBox/VMM/include


Ignore:
Timestamp:
Feb 26, 2018 7:27:32 PM (7 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
121017
Message:

VMM/NEM/win: Code for discovering VID I/O control functions (for logging and issue them in ring-0). bugref:9044 [build fix]

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/include/NEMInternal.h

    r71129 r71131  
    4949#  error "NEM_WIN_USE_OUR_OWN_RUN_API requires NEM_WIN_USE_HYPERCALLS_FOR_REGISTERS"
    5050# endif
    51 #endif
     51
     52/**
     53 * Windows VID I/O control information.
     54 */
     55typedef struct NEMWINIOCTL
     56{
     57    /** The I/O control function number. */
     58    uint32_t    uFunction;
     59    uint32_t    cbInput;
     60    uint32_t    cbOutput;
     61} NEMWINIOCTL;
     62
     63#endif
     64
    5265
    5366/**
     
    104117    /** Number of currently mapped pages. */
    105118    uint32_t volatile           cMappedPages;
    106 #endif
    107 
     119
     120    /** Info about the VidGetHvPartitionId I/O control interface. */
     121    NEMWINIOCTL                 IoCtlGetHvPartitionId;
     122    /** Info about the VidStartVirtualProcessor I/O control interface. */
     123    NEMWINIOCTL                 IoCtlStartVirtualProcessor;
     124    /** Info about the VidStopVirtualProcessor I/O control interface. */
     125    NEMWINIOCTL                 IoCtlStopVirtualProcessor;
     126    /** Info about the VidStopVirtualProcessor I/O control interface. */
     127    NEMWINIOCTL                 IoCtlMessageSlotHandleAndGetNext;
     128
     129#endif /* RT_OS_WINDOWS */
    108130} NEM;
    109131/** Pointer to NEM VM instance data. */
     
    115137#define NEM_MAGIC_DEAD          UINT32_C(0xdead1111)
    116138
    117 #if defined(RT_OS_WINDOWS) && defined(NEM_WIN_USE_OUR_OWN_RUN_API)
    118 /** @name NEM_WIN_MSG_STATE_XXX - Windows message handling state.
    119  * @{ */
    120 /** The CPU has not been started. */
    121 # define NEM_WIN_MSG_STATE_STOPPED              UINT8_C(0x00)
    122 /** The CPU has been started, no messages are pending. */
    123 # define NEM_WIN_MSG_STATE_STARTED              UINT8_C(0x01)
    124 /** Message is pending and needs to be ACKed. */
    125 # define NEM_WIN_MSG_STATE_PENDING_MSG          UINT8_C(0x02)
    126 /** Both a message and execution stopping is pending.  We need to ACK the
    127  * current message and get the stop message, then ACK the stop message before
    128  *  the CPU can be started again.  */
    129 # define NEM_WIN_MSG_STATE_PENDING_STOP_AND_MSG UINT8_C(0x03)
    130 /** @} */
    131 #endif
    132139
    133140/**
     
    177184
    178185
     186#if defined(RT_OS_WINDOWS) && defined(NEM_WIN_USE_OUR_OWN_RUN_API)
     187/** @name NEM_WIN_MSG_STATE_XXX - Windows message handling state.
     188 * @{ */
     189/** The CPU has not been started. */
     190# define NEM_WIN_MSG_STATE_STOPPED              UINT8_C(0x00)
     191/** The CPU has been started, no messages are pending. */
     192# define NEM_WIN_MSG_STATE_STARTED              UINT8_C(0x01)
     193/** Message is pending and needs to be ACKed. */
     194# define NEM_WIN_MSG_STATE_PENDING_MSG          UINT8_C(0x02)
     195/** Both a message and execution stopping is pending.  We need to ACK the
     196 * current message and get the stop message, then ACK the stop message before
     197 *  the CPU can be started again.  */
     198# define NEM_WIN_MSG_STATE_PENDING_STOP_AND_MSG UINT8_C(0x03)
     199/** @} */
     200#endif
     201
     202
     203
    179204#ifdef IN_RING0
    180205
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