Index: /trunk/src/VBox/VMM/VMMR0/CPUMR0A.asm
===================================================================
--- /trunk/src/VBox/VMM/VMMR0/CPUMR0A.asm	(revision 55058)
+++ /trunk/src/VBox/VMM/VMMR0/CPUMR0A.asm	(revision 55059)
@@ -1,3 +1,3 @@
-; $Id$
+ ; $Id$
 ;; @file
 ; CPUM - Ring-0 Assembly Routines (supporting HM and IEM).
@@ -189,5 +189,5 @@
 ;
 ; @returns  0
-; @param    pCpumCpu  x86:[esp+4] gcc:rdi msc:rcx     CPUMCPU pointer
+; @param    pCpumCpu  x86:[ebp+8] gcc:rdi msc:rcx     CPUMCPU pointer
 ;
 align 16
@@ -205,7 +205,9 @@
  %define pXState    r10
 %else
+        push    ebp
+        mov     ebp, esp
         push    ebx
         push    esi
-        mov     ebx, dword [esp + 4]
+        mov     ebx, dword [ebp + 8]
  %define pCpumCpu ebx
  %define pXState  esi
@@ -271,4 +273,5 @@
         pop     esi
         pop     ebx
+        leave
 %endif
         xor     eax, eax
@@ -306,5 +309,5 @@
 ;
 ; @returns  VINF_SUCCESS (0) in EAX
-; @param    pCpumCpu  x86:[esp+4] gcc:rdi msc:rcx     CPUMCPU pointer
+; @param    pCpumCpu  x86:[ebp+8] gcc:rdi msc:rcx     CPUMCPU pointer
 ;
 align 16
@@ -322,7 +325,9 @@
  %define pXState    r10
 %else
+        push    ebp
+        mov     ebp, esp
         push    ebx
         push    esi
-        mov     ebx, dword [esp + 4]
+        mov     ebx, dword [ebp + 8]
  %define pCpumCpu ebx
  %define pXState  esi
@@ -360,4 +365,5 @@
         pop     esi
         pop     ebx
+        leave
 %endif
         xor     eax, eax
@@ -387,5 +393,5 @@
 ;
 ; @returns  VINF_SUCCESS (0) in eax.
-; @param    pCpumCpu  x86:[esp+4] gcc:rdi msc:rcx     CPUMCPU pointer
+; @param    pCpumCpu  x86:[ebp+8] gcc:rdi msc:rcx     CPUMCPU pointer
 ;
 align 16
@@ -403,7 +409,9 @@
  %define pXState    r10
 %else
+        push    ebp
+        mov     ebp, esp
         push    ebx
         push    esi
-        mov     ebx, dword [esp + 4]
+        mov     ebx, dword [ebp + 8]
  %define pCpumCpu ebx
  %define pXState  esi
@@ -457,4 +465,5 @@
         pop     esi
         pop     ebx
+        leave
 %endif
         xor     eax, eax
@@ -490,5 +499,5 @@
 ;
 ; @returns  0
-; @param    pCpumCpu  x86:[esp+4] gcc:rdi msc:rcx     CPUMCPU pointer
+; @param    pCpumCpu  x86:[ebp+8] gcc:rdi msc:rcx     CPUMCPU pointer
 ;
 align 16
@@ -506,7 +515,9 @@
  %define pXState    r10
 %else
+        push    ebp
+        mov     ebp, esp
         push    ebx
         push    esi
-        mov     ebx, dword [esp + 4]
+        mov     ebx, dword [ebp + 8]
  %define pCpumCpu ebx
  %define pXState  esi
@@ -548,4 +559,5 @@
         pop     esi
         pop     ebx
+        leave
 %endif
         xor     eax, eax
Index: /trunk/src/VBox/VMM/VMMRC/CPUMRCA.asm
===================================================================
--- /trunk/src/VBox/VMM/VMMRC/CPUMRCA.asm	(revision 55058)
+++ /trunk/src/VBox/VMM/VMMRC/CPUMRCA.asm	(revision 55059)
@@ -58,11 +58,13 @@
 ; @returns  0 if caller should continue execution.
 ; @returns  VINF_EM_RAW_GUEST_TRAP if a guest trap should be generated.
-; @param    pCPUMCPU  x86:[esp+4] gcc:rdi msc:rcx     CPUMCPU pointer
+; @param    pCpumCpu    [ebp+8]     Pointer to the CPUMCPU.
 ;
 align 16
 BEGINPROC   cpumHandleLazyFPUAsm
+        push    ebp
+        mov     ebp, esp
         push    ebx
         push    esi
-        mov     ebx, [esp + 4]
+        mov     ebx, [ebp + 8]
 %define pCpumCpu ebx
 %define pXState  esi
@@ -168,4 +170,5 @@
         pop     ebx
         mov     eax, VINF_EM_RAW_GUEST_TRAP
+        leave
         ret
 ENDPROC     cpumHandleLazyFPUAsm
