VirtualBox

Changeset 11894

Show
Ignore:
Timestamp:
09/01/08 09:56:27 (3 months ago)
Author:
vboxsync
Message:

Correction for raw mode on 64 bits hosts.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/include/VBox/vmm.h

    r10843 r11894  
    268268 * @param   ...         Arguments to the function. 
    269269 */ 
    270 VMMR3DECL(int) VMMR3CallGC(PVM pVM, RTGCPTR GCPtrEntry, unsigned cArgs, ...); 
     270VMMR3DECL(int) VMMR3CallGC(PVM pVM, RTRCPTR GCPtrEntry, unsigned cArgs, ...); 
    271271 
    272272/** 
     
    278278 * @param   args        Arguments to the function. 
    279279 */ 
    280 VMMR3DECL(int) VMMR3CallGCV(PVM pVM, RTGCPTR GCPtrEntry, unsigned cArgs, va_list args); 
     280VMMR3DECL(int) VMMR3CallGCV(PVM pVM, RTRCPTR GCPtrEntry, unsigned cArgs, va_list args); 
    281281 
    282282/** 
  • trunk/src/VBox/VMM/VMM.cpp

    r11893 r11894  
    694694        CPUMPushHyper(pVM, VMMGC_DO_VMMGC_INIT);        /* Param 1: Operation. */ 
    695695        CPUMPushHyper(pVM, pVM->pVMGC);                 /* Param 0: pVM */ 
    696         CPUMPushHyper(pVM, 3 * sizeof(RTGCPTR));        /* trampoline param: stacksize.  */ 
     696        CPUMPushHyper(pVM, 3 * sizeof(RTGCPTR32));      /* trampoline param: stacksize.  */ 
    697697        CPUMPushHyper(pVM, GCPtrEP);                    /* Call EIP. */ 
    698698        CPUMSetHyperEIP(pVM, pVM->vmm.s.pfnGCCallTrampoline); 
     
    20332033 * @param   ...         Arguments to the function. 
    20342034 */ 
    2035 VMMR3DECL(int) VMMR3CallGC(PVM pVM, RTGCPTR GCPtrEntry, unsigned cArgs, ...) 
     2035VMMR3DECL(int) VMMR3CallGC(PVM pVM, RTRCPTR GCPtrEntry, unsigned cArgs, ...) 
    20362036{ 
    20372037    va_list args; 
     
    20512051 * @param   args        Arguments to the function. 
    20522052 */ 
    2053 VMMR3DECL(int) VMMR3CallGCV(PVM pVM, RTGCPTR GCPtrEntry, unsigned cArgs, va_list args) 
    2054 { 
    2055     Log2(("VMMR3CallGCV: GCPtrEntry=%VGv cArgs=%d\n", GCPtrEntry, cArgs)); 
     2053VMMR3DECL(int) VMMR3CallGCV(PVM pVM, RTRCPTR GCPtrEntry, unsigned cArgs, va_list args) 
     2054{ 
     2055    Log2(("VMMR3CallGCV: GCPtrEntry=%VRv cArgs=%d\n", GCPtrEntry, cArgs)); 
    20562056 
    20572057    /* 
     
    20602060    CPUMHyperSetCtxCore(pVM, NULL); 
    20612061    memset(pVM->vmm.s.pbHCStack, 0xaa, VMM_STACK_SIZE); /* Clear the stack. */ 
    2062     CPUMSetHyperESP(pVM, pVM->vmm.s.pbGCStackBottom - cArgs * sizeof(RTGCUINTPTR)); 
    2063     PRTGCUINTPTR pFrame = (PRTGCUINTPTR)(pVM->vmm.s.pbHCStack + VMM_STACK_SIZE) - cArgs; 
     2062    CPUMSetHyperESP(pVM, pVM->vmm.s.pbGCStackBottom - cArgs * sizeof(RTGCUINTPTR32)); 
     2063    PRTGCUINTPTR32 pFrame = (PRTGCUINTPTR32)(pVM->vmm.s.pbHCStack + VMM_STACK_SIZE) - cArgs; 
    20642064    int i = cArgs; 
    20652065    while (i-- > 0) 
    2066         *pFrame++ = va_arg(args, RTGCUINTPTR); 
    2067  
    2068     CPUMPushHyper(pVM, cArgs * sizeof(RTGCUINTPTR));                          /* stack frame size */ 
     2066        *pFrame++ = va_arg(args, RTGCUINTPTR32); 
     2067 
     2068    CPUMPushHyper(pVM, cArgs * sizeof(RTGCUINTPTR32));                          /* stack frame size */ 
    20692069    CPUMPushHyper(pVM, GCPtrEntry);                                             /* what to call */ 
    20702070    CPUMSetHyperEIP(pVM, pVM->vmm.s.pfnGCCallTrampoline); 

© 2008 Sun Microsystems, Inc.
ContactPrivacy policy