3 #define KUSER_SHARED_SYSCALL HEX(7ffe0300)
5 MACRO(STUBCODE_U, SyscallId, StackBytes)
7 mov ecx, KUSER_SHARED_SYSCALL
11 MACRO(STUBCODE_K, SyscallId, StackBytes)
19 #elif defined(_M_AMD64)
20 MACRO(STUBCODE_U, SyscallId, StackBytes)
26 MACRO(STUBCODE_K, SyscallId, StackBytes)
32 MACRO(STUBCODE_U, SyscallId, StackBytes)
36 MACRO(STUBCODE_K, SyscallId, StackBytes)
42 MACRO(STUBCODE_U, SyscallId, StackBytes)
53 #define STUBCODE_K STUBCODE_U
54 #elif defined(_M_MIPS)
55 MACRO(STUBCODE_U, SyscallId, StackBytes)
56 li $8, KUSER_SHARED_SYSCALL
61 MACRO(STUBCODE_K, SyscallId, StackBytes)
66 #error unsupported architecture
70 MACRO(MAKE_LABEL, Name, Stackbytes)
71 PUBLIC _&Name&@&Stackbytes
75 MACRO(MAKE_LABEL, Name, Stackbytes)
81 MACRO(STUB_U, Name, ArgCount)
82 Stackbytes = 4 * &ArgCount
83 MAKE_LABEL Zw&Name, %Stackbytes
84 MAKE_LABEL Nt&Name, %Stackbytes
85 STUBCODE_U SyscallId, %Stackbytes
86 SyscallId = SyscallId + 1
89 MACRO(STUB_K, Name, ArgCount)
90 Stackbytes = 4 * &ArgCount
91 MAKE_LABEL Zw&Name, %Stackbytes
92 STUBCODE_K SyscallId, %Stackbytes
93 SyscallId = SyscallId + 1