3 #define KUSER_SHARED_SYSCALL HEX(7ffe0300)
5 MACRO(STUBCODE_U, SyscallId, StackBytes)
6 FPO 0, 0, 0, 0, 0, FRAME_FPO
8 mov ecx, KUSER_SHARED_SYSCALL
12 MACRO(STUBCODE_K, SyscallId, StackBytes)
13 FPO 0, 0, 0, 0, 0, FRAME_FPO
21 #elif defined(_M_AMD64)
22 MACRO(STUBCODE_U, SyscallId, StackBytes)
29 MACRO(STUBCODE_K, SyscallId, StackBytes)
36 MACRO(STUBCODE_U, SyscallId, StackBytes)
40 MACRO(STUBCODE_K, SyscallId, StackBytes)
46 MACRO(STUBCODE_U, SyscallId, StackBytes)
57 #define STUBCODE_K STUBCODE_U
58 #elif defined(_M_MIPS)
59 MACRO(STUBCODE_U, SyscallId, StackBytes)
60 li $8, KUSER_SHARED_SYSCALL
65 MACRO(STUBCODE_K, SyscallId, StackBytes)
70 #error unsupported architecture
74 MACRO(MAKE_LABEL, Name, Stackbytes)
75 PUBLIC _&Name&@&Stackbytes
78 MACRO(START_PROC, Name, Stackbytes)
79 PUBLIC _&Name&@&Stackbytes
80 .PROC _&Name&@&Stackbytes
83 MACRO(MAKE_LABEL, Name, Stackbytes)
87 MACRO(START_PROC, Name, Stackbytes)
93 MACRO(STUB_U, Name, ArgCount)
94 Stackbytes = 4 * &ArgCount
95 MAKE_LABEL Zw&Name, %Stackbytes
96 START_PROC Nt&Name, %Stackbytes
97 STUBCODE_U SyscallId, %Stackbytes
99 SyscallId = SyscallId + 1
102 MACRO(STUB_K, Name, ArgCount)
103 Stackbytes = 4 * &ArgCount
104 START_PROC Zw&Name, %Stackbytes
105 STUBCODE_K SyscallId, %Stackbytes
107 SyscallId = SyscallId + 1