VirtualBox

Changeset 77056 in vbox for trunk


Ignore:
Timestamp:
Jan 30, 2019 6:00:43 PM (6 years ago)
Author:
vboxsync
Message:

VMMDev: Simplify VMMDevReq_HGCMCall,VMMDevReq_HGCMCall32, and VMMDevReq_HGCMCall64 definitions. bugref:9172

Location:
trunk
Files:
5 edited

Legend:

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

    r76585 r77056  
    163163    VMMDevReq_HGCMConnect                = 60,
    164164    VMMDevReq_HGCMDisconnect             = 61,
    165 #ifdef VBOX_WITH_64_BITS_GUESTS
    166165    VMMDevReq_HGCMCall32                 = 62,
    167166    VMMDevReq_HGCMCall64                 = 63,
    168 #else
    169     VMMDevReq_HGCMCall                   = 62,
    170 #endif /* VBOX_WITH_64_BITS_GUESTS */
     167# ifdef IN_GUEST
     168#  if   ARCH_BITS == 64
     169    VMMDevReq_HGCMCall                   = VMMDevReq_HGCMCall64,
     170#  elif ARCH_BITS == 32 || ARCH_BITS == 16
     171    VMMDevReq_HGCMCall                   = VMMDevReq_HGCMCall32,
     172#  else
     173#   error "Unsupported ARCH_BITS"
     174#  endif
     175# endif
    171176    VMMDevReq_HGCMCancel                 = 64,
    172177    VMMDevReq_HGCMCancel2                = 65,
     
    198203    VMMDevReq_SizeHack                   = 0x7fffffff
    199204} VMMDevRequestType;
    200 
    201 #ifdef VBOX_WITH_64_BITS_GUESTS
    202 /*
    203  * Constants and structures are redefined for the guest.
    204  *
    205  * Host code MUST always use either *32 or *64 variant explicitely.
    206  * Host source code will use VBOX_HGCM_HOST_CODE define to catch undefined
    207  * data types and constants.
    208  *
    209  * This redefinition means that the new additions builds will use
    210  * the *64 or *32 variants depending on the current architecture bit count (ARCH_BITS).
    211  */
    212 # ifndef VBOX_HGCM_HOST_CODE
    213 #  if ARCH_BITS == 64
    214 #   define VMMDevReq_HGCMCall VMMDevReq_HGCMCall64
    215 #  elif ARCH_BITS == 32 || ARCH_BITS == 16
    216 #   define VMMDevReq_HGCMCall VMMDevReq_HGCMCall32
    217 #  else
    218 #   error "Unsupported ARCH_BITS"
    219 #  endif
    220 # endif /* !VBOX_HGCM_HOST_CODE */
    221 #endif /* VBOX_WITH_64_BITS_GUESTS */
    222205
    223206/** Version of VMMDevRequestHeader structure. */
     
    16261609 * HGCM call request structure.
    16271610 *
    1628  * Used by VMMDevReq_HGCMCall, VMMDevReq_HGCMCall32 and VMMDevReq_HGCMCall64.
     1611 * Used by VMMDevReq_HGCMCall32 and VMMDevReq_HGCMCall64.
    16291612 */
    16301613typedef struct
     
    17811764        case VMMDevReq_HGCMDisconnect:
    17821765            return sizeof(VMMDevHGCMDisconnect);
    1783 #ifdef VBOX_WITH_64_BITS_GUESTS
    17841766        case VMMDevReq_HGCMCall32:
    17851767            return sizeof(VMMDevHGCMCall);
     1768# ifdef VBOX_WITH_64_BITS_GUESTS
    17861769        case VMMDevReq_HGCMCall64:
    17871770            return sizeof(VMMDevHGCMCall);
    1788 #else
    1789         case VMMDevReq_HGCMCall:
    1790             return sizeof(VMMDevHGCMCall);
    1791 #endif /* VBOX_WITH_64_BITS_GUESTS */
     1771# endif
    17921772        case VMMDevReq_HGCMCancel:
    17931773            return sizeof(VMMDevHGCMCancel);
  • trunk/src/VBox/Additions/common/VBoxGuest/VBoxGuest.cpp

    r76553 r77056  
    23222322        case VMMDevReq_HGCMDisconnect:
    23232323# ifdef VBOX_WITH_64_BITS_GUESTS
     2324        case VMMDevReq_HGCMCall64:
     2325# endif
    23242326        case VMMDevReq_HGCMCall32:
    2325         case VMMDevReq_HGCMCall64:
    2326 # else
    2327         case VMMDevReq_HGCMCall:
    2328 # endif /* VBOX_WITH_64_BITS_GUESTS */
    23292327        case VMMDevReq_HGCMCancel:
    23302328        case VMMDevReq_HGCMCancel2:
  • trunk/src/VBox/Additions/common/VBoxGuest/lib/VBoxGuestR0LibGenericRequest.cpp

    r76553 r77056  
    8989        || pReq->requestType == VMMDevReq_GetDisplayChangeRequestMulti
    9090#ifdef VBOX_WITH_64_BITS_GUESTS
     91        || pReq->requestType == VMMDevReq_HGCMCall64
     92#endif
    9193        || pReq->requestType == VMMDevReq_HGCMCall32
    92         || pReq->requestType == VMMDevReq_HGCMCall64
    93 #else
    94         || pReq->requestType == VMMDevReq_HGCMCall
    95 #endif
    9694        || pReq->requestType == VMMDevReq_RegisterSharedModule
    9795        || pReq->requestType == VMMDevReq_ReportGuestUserState
  • trunk/src/VBox/Devices/VMMDev/VMMDev.cpp

    r76553 r77056  
    17831783
    17841784/**
    1785  * Handles VMMDevReq_HGCMCall.
     1785 * Handles VMMDevReq_HGCMCall32 and VMMDevReq_HGCMCall64.
    17861786 *
    17871787 * @returns VBox status code that the guest should see.
     
    27422742
    27432743# ifdef VBOX_WITH_64_BITS_GUESTS
     2744        case VMMDevReq_HGCMCall64:
     2745# endif
    27442746        case VMMDevReq_HGCMCall32:
    2745         case VMMDevReq_HGCMCall64:
    2746 # else
    2747         case VMMDevReq_HGCMCall:
    2748 # endif /* VBOX_WITH_64_BITS_GUESTS */
    27492747            vmmdevReqHdrSetHgcmAsyncExecute(pThis, GCPhysReqHdr, *ppLock);
    27502748            pReqHdr->rc = vmmdevReqHandler_HGCMCall(pThis, pReqHdr, GCPhysReqHdr, tsArrival, ppLock);
  • trunk/src/VBox/Devices/VMMDev/VMMDevHGCM.cpp

    r76664 r77056  
    10491049                        || enmRequestType == VMMDevReq_HGCMCall64, VERR_INVALID_PARAMETER);
    10501050#else
    1051     ASSERT_GUEST_RETURN(enmRequestType == VMMDevReq_HGCMCall, VERR_INVALID_PARAMETER);
     1051    ASSERT_GUEST_RETURN(enmRequestType == VMMDevReq_HGCMCall32, VERR_INVALID_PARAMETER);
    10521052#endif
    10531053    RT_UNTRUSTED_VALIDATED_FENCE();
     
    13721372#ifdef VBOX_WITH_64_BITS_GUESTS
    13731373                        case VMMDevReq_HGCMCall64:
     1374#endif
    13741375                        case VMMDevReq_HGCMCall32:
    1375 #else
    1376                         case VMMDevReq_HGCMCall:
    1377 #endif
    13781376                        {
    13791377                            VMMDevHGCMCall *pHGCMCall = (VMMDevHGCMCall *)pHeader;
     
    14551453#ifdef VBOX_WITH_64_BITS_GUESTS
    14561454                    case VMMDevReq_HGCMCall64:
     1455#endif
    14571456                    case VMMDevReq_HGCMCall32:
    1458 #else
    1459                     case VMMDevReq_HGCMCall:
    1460 #endif
    14611457                    {
    14621458                        VMMDevHGCMCall *pHGCMCall = (VMMDevHGCMCall *)pHeader;
     
    21912187
    21922188#ifdef VBOX_WITH_64_BITS_GUESTS
     2189        case VMMDevReq_HGCMCall64:
     2190#endif
    21932191        case VMMDevReq_HGCMCall32:
    2194         case VMMDevReq_HGCMCall64:
    2195 #else
    2196         case VMMDevReq_HGCMCall:
    2197 #endif
    21982192        {
    21992193            VMMDevHGCMCall *pReq = (VMMDevHGCMCall *)pReqHdr;
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