[ASM]
[reactos.git] / reactos / include / asm / syscalls.inc
index 85ef7a4..aad93da 100644 (file)
@@ -3,12 +3,14 @@
 #define KUSER_SHARED_SYSCALL HEX(7ffe0300)\r
 #define KGDT_R0_CODE 8\r
 MACRO(STUBCODE_U, SyscallId, StackBytes)\r
+    FPO 0, 0, 0, 0, 0, FRAME_FPO\r
     mov eax, SyscallId\r
     mov ecx, KUSER_SHARED_SYSCALL\r
     call dword ptr [ecx]\r
     ret StackBytes\r
 ENDM\r
 MACRO(STUBCODE_K, SyscallId, StackBytes)\r
+    FPO 0, 0, 0, 0, 0, FRAME_FPO\r
     mov eax, SyscallId\r
     lea edx, [esp + 4]\r
     pushfd\r
@@ -18,12 +20,14 @@ MACRO(STUBCODE_K, SyscallId, StackBytes)
 ENDM\r
 #elif defined(_M_AMD64)\r
 MACRO(STUBCODE_U, SyscallId, StackBytes)\r
+    .ENDPROLOG\r
     mov eax, SyscallId\r
     mov r10, rcx\r
     syscall\r
     ret StackBytes\r
 ENDM\r
 MACRO(STUBCODE_K, SyscallId, StackBytes)\r
+    .ENDPROLOG\r
     mov eax, SyscallId\r
     call KiSystemService\r
     ret StackBytes\r
@@ -74,7 +78,6 @@ ENDM
 MACRO(START_PROC, Name, Stackbytes)\r
     PUBLIC _&Name&@&Stackbytes\r
     .PROC &Name&@&Stackbytes\r
-    FPO 0, 0, 0, 0, 0, FRAME_FPO\r
 ENDM\r
 MACRO(END_PROC, Name, Stackbytes)\r
     .ENDP &Name&@&Stackbytes\r
@@ -87,7 +90,6 @@ ENDM
 MACRO(START_PROC, Name, Stackbytes)\r
     PUBLIC &Name\r
     .PROC &Name\r
-    FPO 0, 0, 0, 0, 0, FRAME_FPO\r
 ENDM\r
 MACRO(END_PROC, Name, Stackbytes)\r
     .ENDP &Name\r