From: Andi Kleen <ak@suse.de>

Add POSIX mqueue support to x86-64.


---

 /dev/null                                |    0 
 25-akpm/arch/x86_64/ia32/ia32entry.S     |   10 ++++++++++
 25-akpm/include/asm-x86_64/ia32_unistd.h |   12 +++++++++++-
 25-akpm/include/asm-x86_64/unistd.h      |   22 +++++++++++++++++++---
 4 files changed, 40 insertions(+), 4 deletions(-)

diff -puN arch/x86_64/ia32/ia32entry.S~add-mqueue-support-to-x86-64 arch/x86_64/ia32/ia32entry.S
--- 25/arch/x86_64/ia32/ia32entry.S~add-mqueue-support-to-x86-64	2004-04-14 20:06:42.108809352 -0700
+++ 25-akpm/arch/x86_64/ia32/ia32entry.S	2004-04-14 20:06:42.115808288 -0700
@@ -578,6 +578,16 @@ ia32_sys_call_table:
 	.quad sys_tgkill
 	.quad compat_sys_utimes
 	.quad sys32_fadvise64_64
+	.quad sys_ni_syscall	/* sys_vserver */
+	.quad sys_ni_syscall	/* sys_mbind */
+	.quad sys_ni_syscall	/* 275 sys_get_mempolicy */
+	.quad sys_ni_syscall	/* sys_set_mempolicy */
+	.quad compat_sys_mq_open
+	.quad sys_mq_unlink
+	.quad compat_sys_mq_timedsend
+	.quad compat_sys_mq_timedreceive	/* 280 */
+	.quad compat_sys_mq_notify
+	.quad compat_sys_mq_getsetattr
 	/* don't forget to change IA32_NR_syscalls */
 ia32_syscall_end:		
 	.rept IA32_NR_syscalls-(ia32_syscall_end-ia32_sys_call_table)/8
diff -L arch/x86_64/ia32/ia32entry.S-M -puN /dev/null /dev/null
diff -puN include/asm-x86_64/ia32_unistd.h~add-mqueue-support-to-x86-64 include/asm-x86_64/ia32_unistd.h
--- 25/include/asm-x86_64/ia32_unistd.h~add-mqueue-support-to-x86-64	2004-04-14 20:06:42.110809048 -0700
+++ 25-akpm/include/asm-x86_64/ia32_unistd.h	2004-04-14 20:06:42.116808136 -0700
@@ -278,7 +278,17 @@
 #define __NR_ia32_tgkill		270
 #define __NR_ia32_utimes		271
 #define __NR_ia32_fadvise64_64		272
+#define __NR_ia32_vserver		273
+#define __NR_ia32_mbind		274
+#define __NR_ia32_get_mempolicy	275
+#define __NR_ia32_set_mempolicy	276
+#define __NR_ia32_mq_open 		277
+#define __NR_ia32_mq_unlink		(__NR_ia32_mq_open+1)
+#define __NR_ia32_mq_timedsend	(__NR_ia32_mq_open+2)
+#define __NR_ia32_mq_timedreceive	(__NR_ia32_mq_open+3)
+#define __NR_ia32_mq_notify		(__NR_ia32_mq_open+4)
+#define __NR_ia32_mq_getsetattr	(__NR_ia32_mq_open+5)
 
-#define IA32_NR_syscalls 275	/* must be > than biggest syscall! */	
+#define IA32_NR_syscalls 285	/* must be > than biggest syscall! */
 
 #endif /* _ASM_X86_64_IA32_UNISTD_H_ */
diff -L include/asm-x86_64/ia32_unistd.h-M -puN /dev/null /dev/null
diff -puN include/asm-x86_64/unistd.h~add-mqueue-support-to-x86-64 include/asm-x86_64/unistd.h
--- 25/include/asm-x86_64/unistd.h~add-mqueue-support-to-x86-64	2004-04-14 20:06:42.112808744 -0700
+++ 25-akpm/include/asm-x86_64/unistd.h	2004-04-14 20:06:53.951009064 -0700
@@ -532,10 +532,26 @@ __SYSCALL(__NR_tgkill, sys_tgkill)
 __SYSCALL(__NR_utimes, sys_utimes)
 #define __NR_vserver		236
 __SYSCALL(__NR_vserver, sys_ni_syscall)
+#define __NR_mbind 			237
+__SYSCALL(__NR_mbind, sys_ni_syscall)
+#define __NR_set_mempolicy 	238
+__SYSCALL(__NR_set_mempolicy, sys_ni_syscall)
+#define __NR_get_mempolicy 	239
+__SYSCALL(__NR_get_mempolicy, sys_ni_syscall)
+#define __NR_mq_open 		240
+__SYSCALL(__NR_mq_open, sys_mq_open)
+#define __NR_mq_unlink 		241
+__SYSCALL(__NR_mq_unlink, sys_mq_unlink)
+#define __NR_mq_timedsend 	242
+__SYSCALL(__NR_mq_timedsend, sys_mq_timedsend)
+#define __NR_mq_timedreceive 243
+__SYSCALL(__NR_mq_timedreceive, sys_mq_timedreceive)
+#define __NR_mq_notify 		244
+__SYSCALL(__NR_mq_notify, sys_mq_notify)
+#define __NR_mq_getsetattr 	245
+__SYSCALL(__NR_mq_getsetattr, sys_mq_getsetattr)
 
-/* 237,238,239 reserved for NUMA API */
-
-#define __NR_syscall_max __NR_vserver
+#define __NR_syscall_max __NR_mq_getsetattr
 #ifndef __NO_STUBS
 
 /* user-visible error numbers are in the range -1 - -4095 */
diff -L include/asm-x86_64/unistd.h-M -puN /dev/null /dev/null

_