#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
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
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
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