[PATCH] x86-64: Auto compute __NR_syscall_max at compile time
authorAndi Kleen <ak@suse.de>
Wed, 2 May 2007 17:27:18 +0000 (19:27 +0200)
committerAndi Kleen <andi@basil.nowhere.org>
Wed, 2 May 2007 17:27:18 +0000 (19:27 +0200)
No need to maintain it anymore

Signed-off-by: Andi Kleen <ak@suse.de>
arch/x86_64/kernel/asm-offsets.c
arch/x86_64/kernel/syscall.c
include/asm-x86_64/unistd.h

index 96687e2beb2c931a2b9cbc23e206b2fa9f7d7f67..778953bc636c4b5d29872063626d7ffa781ad659 100644 (file)
 
 #define BLANK() asm volatile("\n->" : : )
 
+#define __NO_STUBS 1
+#undef __SYSCALL
+#undef _ASM_X86_64_UNISTD_H_
+#define __SYSCALL(nr, sym) [nr] = 1,
+static char syscalls[] = {
+#include <asm/unistd.h>
+};
+
 int main(void)
 {
 #define ENTRY(entry) DEFINE(tsk_ ## entry, offsetof(struct task_struct, entry))
@@ -71,5 +79,7 @@ int main(void)
        DEFINE(TSS_ist, offsetof(struct tss_struct, ist));
        BLANK();
        DEFINE(crypto_tfm_ctx_offset, offsetof(struct crypto_tfm, __crt_ctx));
+       BLANK();
+       DEFINE(__NR_syscall_max, sizeof(syscalls) - 1);
        return 0;
 }
index 213fd6ab789d5954f5bbf3bc738745df36f8c6eb..63d592c276cc45b6d5e1f761c7af4ce91b687431 100644 (file)
@@ -3,6 +3,7 @@
 #include <linux/linkage.h>
 #include <linux/sys.h>
 #include <linux/cache.h>
+#include <asm/asm-offsets.h>
 
 #define __NO_STUBS
 
index 576b29732d3cef19a0c1d7c9471f70dd831d1229..26e23e01c54a677c9a224a5981a6adbb515ae4a0 100644 (file)
@@ -620,8 +620,6 @@ __SYSCALL(__NR_vmsplice, sys_vmsplice)
 #define __NR_move_pages                279
 __SYSCALL(__NR_move_pages, sys_move_pages)
 
-#define __NR_syscall_max __NR_move_pages
-
 #ifndef __NO_STUBS
 #define __ARCH_WANT_OLD_READDIR
 #define __ARCH_WANT_OLD_STAT