3 #define KUSER_SHARED_SYSCALL HEX(7ffe0300)
5 MACRO(STUBCODE_U, Name, SyscallId, ArgCount)
6 StackBytes = 4 * ArgCount
7 FPO 0, 0, 0, 0, 0, FRAME_FPO
9 mov ecx, KUSER_SHARED_SYSCALL
13 MACRO(STUBCODE_K, Name, SyscallId, ArgCount)
14 StackBytes = 4 * &ArgCount
15 FPO 0, 0, 0, 0, 0, FRAME_FPO
23 #elif defined(_M_AMD64)
24 MACRO(STUBCODE_U, Name, SyscallId, ArgCount)
31 MACRO(STUBCODE_K, Name, SyscallId, ArgCount)
39 MACRO(STUBCODE_U, Name, SyscallId, ArgCount)
43 MACRO(STUBCODE_K, Name, SyscallId, ArgCount)
49 MACRO(STUBCODE_U, Name, SyscallId, ArgCount)
60 #define STUBCODE_K STUBCODE_U
61 #elif defined(_M_MIPS)
62 MACRO(STUBCODE_U, Name, SyscallId, ArgCount)
63 li $8, KUSER_SHARED_SYSCALL
68 MACRO(STUBCODE_K, Name, SyscallId, ArgCount)
73 #error unsupported architecture
77 MACRO(MAKE_LABEL, Name, StackBytes)
78 PUBLIC _&Name&@&StackBytes
81 MACRO(START_PROC, Name, StackBytes)
82 PUBLIC _&Name&@&StackBytes
83 .PROC _&Name&@&StackBytes
86 MACRO(MAKE_LABEL, Name, StackBytes)
90 MACRO(START_PROC, Name, StackBytes)
96 MACRO(STUB_U, Name, ArgCount)
97 MAKE_LABEL Zw&Name, %ArgCount * 4
98 START_PROC Nt&Name, %ArgCount * 4
99 STUBCODE_U Name, SyscallId, %ArgCount
101 SyscallId = SyscallId + 1
104 MACRO(STUB_K, Name, ArgCount)
105 START_PROC Zw&Name, %ArgCount * 4
106 STUBCODE_K Name, SyscallId, %ArgCount
108 SyscallId = SyscallId + 1