Changeset 21225 in vbox
- Timestamp:
- Jul 5, 2009 3:20:41 PM (15 years ago)
- Location:
- trunk
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/VMMDev.h
r21223 r21225 47 47 * @{ 48 48 */ 49 50 /** @todo The following is a temporary fix for the problem of accessing51 hypervisor pointers from within guest additions */52 53 /** Hypervisor linear pointer size type.54 * @todo r=bird: only hypervisorStart is a "hypervisor" address, all other use55 * is guest addresses...56 * */57 typedef RTGCPTR32 VMMDEVHYPPTR32;58 /** Hypervisor linear pointer sized type.59 * @todo r=bird: This is never used for any "hypervisor" addresses, only guest60 * addresses. */61 typedef RTGCPTR64 VMMDEVHYPPTR64;62 /** Hypervisor physical pointer sized type.63 * @todo r=bird: Same confusion as with VMMDEVHYPPTR64. */64 typedef RTGCPHYS32 VMMDEVHYPPHYS32;65 /** Hypervisor physical pointer sized type.66 * @todo r=bird: Same confusion as with VMMDEVHYPPTR64. */67 typedef RTGCPHYS64 VMMDEVHYPPHYS64;68 69 /** @def VMMDEVHYPPTR Hypervisor linear pointer sized type size type.70 * @todo r=bird: Same confusion as with VMMDEVHYPPTR64. */71 /** @def VMMDEVHYPPHYS Hypervisor physical pointer sized type.72 * @todo r=bird: Same confusion as with VMMDEVHYPPTR64. */73 #if defined(VBOX_WITH_64_BITS_GUESTS) && ARCH_BITS == 6474 # define VMMDEVHYPPTR VMMDEVHYPPTR6475 # define VMMDEVHYPPHYS VMMDEVHYPPHYS6476 # else77 # define VMMDEVHYPPTR VMMDEVHYPPTR3278 # define VMMDEVHYPPHYS VMMDEVHYPPHYS3279 #endif80 81 49 82 50 /** @name Mouse capability bits … … 399 367 /** guest virtual address of proposed hypervisor start */ 400 368 /** TODO: Make this 64-bit compatible */ 401 VMMDEVHYPPTR32 hypervisorStart;369 RTGCPTR32 hypervisorStart; 402 370 /** hypervisor size in bytes */ 403 371 uint32_t hypervisorSize; … … 745 713 union 746 714 { 747 VMMDEVHYPPHYS32 physAddr;748 VMMDEVHYPPTR32 linearAddr;715 RTGCPHYS32 physAddr; 716 RTGCPTR32 linearAddr; 749 717 } u; 750 718 } Pointer; … … 788 756 type = VMMDevHGCMParmType_LinAddr; 789 757 u.Pointer.size = cb; 790 u.Pointer.u.linearAddr = ( VMMDEVHYPPTR32)(uintptr_t)pv;758 u.Pointer.u.linearAddr = (RTGCPTR32)(uintptr_t)pv; 791 759 } 792 760 #endif … … 806 774 union 807 775 { 808 VMMDEVHYPPHYS64 physAddr;809 VMMDEVHYPPTR64 linearAddr;776 RTGCPHYS64 physAddr; 777 RTGCPTR64 linearAddr; 810 778 } u; 811 779 } Pointer; … … 867 835 union 868 836 { 869 VMMDEVHYPPHYS32 physAddr;870 VMMDEVHYPPTR32 linearAddr;837 RTGCPHYS32 physAddr; 838 RTGCPTR32 linearAddr; 871 839 } u; 872 840 } Pointer; -
trunk/src/VBox/Additions/linux/module/vboxmod.c
r21219 r21225 1358 1358 { 1359 1359 /* communicate result to VMM, align at 4MB */ 1360 req->hypervisorStart = ( VMMDEVHYPPTR32)(uintptr_t)RT_ALIGN_P(hypervisorArea, 0x400000);1360 req->hypervisorStart = (RTGCPTR32)(uintptr_t)RT_ALIGN_P(hypervisorArea, 0x400000); 1361 1361 req->header.requestType = VMMDevReq_SetHypervisorInfo; 1362 1362 req->header.rc = VERR_GENERAL_FAILURE; -
trunk/src/VBox/GuestHost/OpenGL/util/vboxhgcm.c
r18508 r21225 330 330 parms.pBuffer.type = VMMDevHGCMParmType_LinAddr_In; 331 331 parms.pBuffer.u.Pointer.size = len; 332 parms.pBuffer.u.Pointer.u.linearAddr = ( VMMDEVHYPPTR) buf;332 parms.pBuffer.u.Pointer.u.linearAddr = (uintptr_t) buf; 333 333 334 334 rc = crVBoxHGCMCall(&parms, sizeof(parms)); … … 353 353 parms.pBuffer.type = VMMDevHGCMParmType_LinAddr_Out; 354 354 parms.pBuffer.u.Pointer.size = conn->cbHostBufferAllocated; 355 parms.pBuffer.u.Pointer.u.linearAddr = ( VMMDEVHYPPTR) conn->pHostBuffer;355 parms.pBuffer.u.Pointer.u.linearAddr = (uintptr_t) conn->pHostBuffer; 356 356 357 357 parms.cbBuffer.type = VMMDevHGCMParmType_32bit; … … 397 397 parms.pBuffer.type = VMMDevHGCMParmType_LinAddr_In; 398 398 parms.pBuffer.u.Pointer.size = len; 399 parms.pBuffer.u.Pointer.u.linearAddr = ( VMMDEVHYPPTR) buf;400 } 401 /*else // @todo it fails badly, have to check why399 parms.pBuffer.u.Pointer.u.linearAddr = (uintptr_t) buf; 400 } 401 /*else ///@todo it fails badly, have to check why. bird: This fails because buf isn't a physical address? 402 402 { 403 403 parms.pBuffer.type = VMMDevHGCMParmType_PhysAddr; 404 404 parms.pBuffer.u.Pointer.size = len; 405 parms.pBuffer.u.Pointer.u.physAddr = ( VMMDEVHYPPHYS32) buf;405 parms.pBuffer.u.Pointer.u.physAddr = (uintptr_t) buf; 406 406 }*/ 407 407 … … 409 409 parms.pWriteback.type = VMMDevHGCMParmType_LinAddr_Out; 410 410 parms.pWriteback.u.Pointer.size = conn->cbHostBufferAllocated; 411 parms.pWriteback.u.Pointer.u.linearAddr = ( VMMDEVHYPPTR) conn->pHostBuffer;411 parms.pWriteback.u.Pointer.u.linearAddr = (uintptr_t) conn->pHostBuffer; 412 412 413 413 parms.cbWriteback.type = VMMDevHGCMParmType_32bit; … … 514 514 parms.pBuffer.type = VMMDevHGCMParmType_LinAddr_Out; 515 515 parms.pBuffer.u.Pointer.size = conn->cbHostBufferAllocated; 516 parms.pBuffer.u.Pointer.u.linearAddr = ( VMMDEVHYPPTR) conn->pHostBuffer;516 parms.pBuffer.u.Pointer.u.linearAddr = (uintptr_t) conn->pHostBuffer; 517 517 518 518 parms.cbBuffer.type = VMMDevHGCMParmType_32bit;
Note:
See TracChangeset
for help on using the changeset viewer.