Changeset 11642
- Timestamp:
- 08/26/08 09:37:36 (3 months ago)
- Files:
-
- trunk/include/VBox/VBoxGuest.h (modified) (5 diffs)
- trunk/src/VBox/Additions/WINNT/Graphics/OpenGL/VBoxOGL.cpp (modified) (5 diffs)
- trunk/src/VBox/Additions/WINNT/Graphics/OpenGL/glext.cpp (modified) (1 diff)
- trunk/src/VBox/Additions/linux/module/hgcmcall.c (modified) (2 diffs)
- trunk/src/VBox/Additions/linux/module/vboxmod.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/include/VBox/VBoxGuest.h
r10930 r11642 47 47 48 48 /** Hypervisor linear pointer size type */ 49 /* @todo support 64 bits virtual addresses (interface change) */ 50 typedef RTGCPTR 32 vmmDevHypPtr;49 typedef RTGCPTR32 VMMDEVHYPPTR32; 50 typedef RTGCPTR64 VMMDEVHYPPTR64; 51 51 /** Hypervisor physical pointer size type */ 52 /* @todo support 64 bits physical addresses (interface change) */ 53 typedef RTGCPHYS32 vmmDevHypPhys; 52 typedef RTGCPHYS32 VMMDEVHYPPHYS32; 53 typedef RTGCPHYS64 VMMDEVHYPPHYS64; 54 55 #if defined(VBOX_WITH_64_BITS_GUESTS) && defined(ARCH_BITS == 64) 56 # define VMMDEVHYPPTR VMMDEVHYPPTR64 57 # define VMMDEVHYPPHYS VMMDEVHYPPHYS64 58 # else 59 # define VMMDEVHYPPTR VMMDEVHYPPTR32 60 # define VMMDEVHYPPHYS VMMDEVHYPPHYS32 61 #endif 54 62 55 63 #if defined(RT_OS_LINUX) … … 362 370 VMMDevRequestHeader header; 363 371 /** guest virtual address of proposed hypervisor start */ 364 vmmDevHypPtr hypervisorStart; 372 /** TODO: Make this 64-bit compatible */ 373 VMMDEVHYPPTR32 hypervisorStart; 365 374 /** hypervisor size in bytes */ 366 375 uint32_t hypervisorSize; … … 707 716 union 708 717 { 709 vmmDevHypPhysphysAddr;710 vmmDevHypPtrlinearAddr;718 VMMDEVHYPPHYS32 physAddr; 719 VMMDEVHYPPTR32 linearAddr; 711 720 } u; 712 721 } Pointer; … … 727 736 union 728 737 { 729 uint64_tphysAddr;730 uint64_tlinearAddr;738 VMMDEVHYPPHYS64 physAddr; 739 VMMDEVHYPPTR64 linearAddr; 731 740 } u; 732 741 } Pointer; 733 742 } u; 734 743 } HGCMFunctionParameter64; 735 #else 744 #else /* !VBOX_WITH_64_BITS_GUESTS */ 736 745 typedef struct _HGCMFUNCTIONPARAMETER 737 746 { … … 747 756 union 748 757 { 749 vmmDevHypPhysphysAddr;750 vmmDevHypPtrlinearAddr;758 VMMDEVHYPPHYS32 physAddr; 759 VMMDEVHYPPTR32 linearAddr; 751 760 } u; 752 761 } Pointer; 753 762 } u; 754 763 } HGCMFunctionParameter; 755 #endif /* VBOX_WITH_64_BITS_GUESTS */764 #endif /* !VBOX_WITH_64_BITS_GUESTS */ 756 765 757 766 trunk/src/VBox/Additions/WINNT/Graphics/OpenGL/VBoxOGL.cpp
r10552 r11642 179 179 parms.pString.type = VMMDevHGCMParmType_LinAddr; 180 180 parms.pString.u.Pointer.size = sizeof(szOpenGLVersion); 181 parms.pString.u.Pointer.u.linearAddr = ( vmmDevHypPtr)szOpenGLVersion;181 parms.pString.u.Pointer.u.linearAddr = (VMMDEVHYPPTR)szOpenGLVersion; 182 182 183 183 int rc = vboxHGCMCall(&parms, sizeof (parms)); … … 356 356 parms.pCmdBuffer.type = VMMDevHGCMParmType_LinAddr_In; 357 357 parms.pCmdBuffer.u.Pointer.size = pCtx->pCurrentCmd - pCtx->pCmdBuffer; 358 parms.pCmdBuffer.u.Pointer.u.linearAddr = ( vmmDevHypPtr)pCtx->pCmdBuffer;358 parms.pCmdBuffer.u.Pointer.u.linearAddr = (VMMDEVHYPPTR)pCtx->pCmdBuffer; 359 359 parms.cCommands.type = VMMDevHGCMParmType_32bit; 360 360 parms.cCommands.u.value32 = pCtx->cCommands; … … 404 404 parms.pCmdBuffer.type = VMMDevHGCMParmType_LinAddr_In; 405 405 parms.pCmdBuffer.u.Pointer.size = pCtx->pCurrentCmd - pCtx->pCmdBuffer; 406 parms.pCmdBuffer.u.Pointer.u.linearAddr = ( vmmDevHypPtr)pCtx->pCmdBuffer;406 parms.pCmdBuffer.u.Pointer.u.linearAddr = (VMMDEVHYPPTR)pCtx->pCmdBuffer; 407 407 parms.cCommands.type = VMMDevHGCMParmType_32bit; 408 408 parms.cCommands.u.value32 = pCtx->cCommands; … … 416 416 parms.pLastParam.type = VMMDevHGCMParmType_LinAddr; 417 417 parms.pLastParam.u.Pointer.size = cbParam; 418 parms.pLastParam.u.Pointer.u.linearAddr = ( vmmDevHypPtr)pLastParam;418 parms.pLastParam.u.Pointer.u.linearAddr = (VMMDEVHYPPTR)pLastParam; 419 419 } 420 420 else … … 462 462 parms.pszExtFnName.type = VMMDevHGCMParmType_LinAddr_In; 463 463 parms.pszExtFnName.u.Pointer.size = strlen(pszExtFunctionName)+1; 464 parms.pszExtFnName.u.Pointer.u.linearAddr = ( vmmDevHypPtr)pszExtFunctionName;464 parms.pszExtFnName.u.Pointer.u.linearAddr = (VMMDEVHYPPTR)pszExtFunctionName; 465 465 466 466 int rc = vboxHGCMCall(&parms, sizeof (parms)); trunk/src/VBox/Additions/WINNT/Graphics/OpenGL/glext.cpp
r8387 r11642 50 50 parms.pString.type = VMMDevHGCMParmType_LinAddr; 51 51 parms.pString.u.Pointer.size = sizeof(szOpenGLExtensions); 52 parms.pString.u.Pointer.u.linearAddr = ( vmmDevHypPtr)szOpenGLExtensions;52 parms.pString.u.Pointer.u.linearAddr = (VMMDEVHYPPTR)szOpenGLExtensions; 53 53 54 54 rc = vboxHGCMCall(&parms, sizeof (parms)); trunk/src/VBox/Additions/linux/module/hgcmcall.c
r11629 r11642 147 147 } 148 148 VBOXGUEST_HGCM_CALL_PARMS(hgcmR0)[i].u.Pointer.u.linearAddr 149 = ( vmmDevHypPtr)&pu8PointerData[offPointerData];149 = (VMMDEVHYPPTR)&pu8PointerData[offPointerData]; 150 150 VBOXGUEST_HGCM_CALL_PARMS(hgcmR0)[i].u.Pointer.size 151 151 = VBOXGUEST_HGCM_CALL_PARMS(hgcmR3)[i].u.Pointer.size; … … 157 157 /* This type of pointer means that we are reading data from the host. */ 158 158 VBOXGUEST_HGCM_CALL_PARMS(hgcmR0)[i].u.Pointer.u.linearAddr 159 = ( vmmDevHypPtr)&pu8PointerData[offPointerData];159 = (VMMDEVHYPPTR)&pu8PointerData[offPointerData]; 160 160 VBOXGUEST_HGCM_CALL_PARMS(hgcmR0)[i].u.Pointer.size 161 161 = VBOXGUEST_HGCM_CALL_PARMS(hgcmR3)[i].u.Pointer.size; trunk/src/VBox/Additions/linux/module/vboxmod.c
r11174 r11642 732 732 { 733 733 /* communicate result to VMM, align at 4MB */ 734 req->hypervisorStart = ( vmmDevHypPtr)RT_ALIGN_P(hypervisorArea, 0x400000);734 req->hypervisorStart = (VMMDEVHYPPTR32)RT_ALIGN_P(hypervisorArea, 0x400000); 735 735 req->header.requestType = VMMDevReq_SetHypervisorInfo; 736 736 req->header.rc = VERR_GENERAL_FAILURE;

