Skip to contentSkip to conversation

ppc/ppc64: Add posix message queue syscalls

PATCH New Benjamin Herrenschmidt 1 participant 1 message Apr 19, 2004

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 ppc/ppc64: Add posix message queue syscalls

Hi !

This patch adds the posix message queue syscalls to ppc32 and 64 and fixes our implementation of compat copy siginfo to 32 bits userland which wasn't using the si_code but still doing a switch/case on the signal number.

(Andrew: I also reserved some syscalls for the numa API)

Please apply.

Ben.

===== arch/ppc/kernel/misc.S 1.55 vs edited =====

arch/ppc/kernel/misc.S +13 -1
@@ -1372,4 +1372,16 @@
 	.long sys_statfs64
 	.long sys_fstatfs64
 	.long ppc_fadvise64_64
-	.long sys_ni_syscall	/* 255 - rtas (used on ppc64) */
+	.long sys_ni_syscall		/* 255 - rtas (used on ppc64) */
+	.long sys_ni_syscall		/* 256 reserved for sys_debug_setcontext */
+	.long sys_ni_syscall		/* 257 reserved for vserver */
+	.long sys_ni_syscall		/* 258 reserved for new sys_remap_file_pages */
+	.long sys_ni_syscall		/* 259 reserved for new sys_mbind */
+	.long sys_ni_syscall		/* 260 reserved for new sys_get_mempolicy */
+	.long sys_ni_syscall		/* 261 reserved for new sys_set_mempolicy */
+	.long sys_mq_open
+	.long sys_mq_unlink
+	.long sys_mq_timedsend
+	.long sys_mq_timedreceive	/* 265 */
+	.long sys_mq_notify
+	.long sys_mq_getsetattr

===== arch/ppc64/kernel/misc.S 1.75 vs edited =====

arch/ppc64/kernel/misc.S +24 -0
@@ -828,6 +828,18 @@
 	.llong .compat_fstatfs64
 	.llong .ppc32_fadvise64_64	/* 32bit only fadvise64_64 */
 	.llong .ppc_rtas		/* 255 */
+	.llong .sys_ni_syscall		/* 256 reserved for sys_debug_setcontext */
+	.llong .sys_ni_syscall		/* 257 reserved for vserver */
+	.llong .sys_ni_syscall		/* 258 reserved for new sys_remap_file_pages */
+	.llong .sys_ni_syscall		/* 259 reserved for new sys_mbind */
+	.llong .sys_ni_syscall		/* 260 reserved for new sys_get_mempolicy */
+	.llong .sys_ni_syscall		/* 261 reserved for new sys_set_mempolicy */
+	.llong .compat_sys_mq_open
+	.llong .sys_mq_unlink
+	.llong .compat_sys_mq_timedsend
+	.llong .compat_sys_mq_timedreceive /* 265 */
+	.llong .compat_sys_mq_notify
+	.llong .compat_sys_mq_getsetattr
 
 	.balign 8
 _GLOBAL(sys_call_table)
@@ -1087,3 +1099,15 @@
 	.llong .sys_fstatfs64
 	.llong .sys_ni_syscall		/* 32bit only fadvise64_64 */
 	.llong .ppc_rtas		/* 255 */
+	.llong .sys_ni_syscall		/* 256 reserved for sys_debug_setcontext */
+	.llong .sys_ni_syscall		/* 257 reserved for vserver */
+	.llong .sys_ni_syscall		/* 258 reserved for new sys_remap_file_pages */
+	.llong .sys_ni_syscall		/* 259 reserved for new sys_mbind */
+	.llong .sys_ni_syscall		/* 260 reserved for new sys_get_mempolicy */
+	.llong .sys_ni_syscall		/* 261 reserved for new sys_set_mempolicy */
+	.llong .sys_mq_open
+	.llong .sys_mq_unlink
+	.llong .sys_mq_timedsend
+	.llong .sys_mq_timedreceive	/* 265 */
+	.llong .sys_mq_notify
+	.llong .sys_mq_getsetattr

===== arch/ppc64/kernel/signal32.c 1.46 vs edited =====

arch/ppc64/kernel/signal32.c +34 -25

71 lines not on this page · raw message

===== include/asm-ppc/unistd.h 1.29 vs edited =====

include/asm-ppc/unistd.h +13 -1
@@ -260,8 +260,20 @@
 #define __NR_fstatfs64		253
 #define __NR_fadvise64_64	254
 #define __NR_rtas		255
+/* Number 256 is reserved for sys_debug_setcontext */
+/* Number 257 is reserved for vserver */
+/* Number 258 is reserved for new sys_remap_file_pages */
+/* Number 259 is reserved for new sys_mbind */
+/* Number 260 is reserved for new sys_get_mempolicy */
+/* Number 261 is reserved for new sys_set_mempolicy */
+#define __NR_mq_open		262
+#define __NR_mq_unlink		263
+#define __NR_mq_timedsend	264
+#define __NR_mq_timedreceive	265
+#define __NR_mq_notify		266
+#define __NR_mq_getsetattr	267
 
-#define __NR_syscalls		256
+#define __NR_syscalls		268
 
 #define __NR(n)	#n
 

===== include/asm-ppc64/unistd.h 1.28 vs edited =====

include/asm-ppc64/unistd.h +13 -1
@@ -266,8 +266,20 @@
 #define __NR_fstatfs64		253
 #define __NR_fadvise64_64	254
 #define __NR_rtas		255
+/* Number 256 is reserved for sys_debug_setcontext */
+/* Number 257 is reserved for vserver */
+/* Number 258 is reserved for new sys_remap_file_pages */
+/* Number 259 is reserved for new sys_mbind */
+/* Number 260 is reserved for new sys_get_mempolicy */
+/* Number 261 is reserved for new sys_set_mempolicy */
+#define __NR_mq_open		262
+#define __NR_mq_unlink		263
+#define __NR_mq_timedsend	264
+#define __NR_mq_timedreceive	265
+#define __NR_mq_notify		266
+#define __NR_mq_getsetattr	267
 
-#define __NR_syscalls		256
+#define __NR_syscalls		268
 #ifdef __KERNEL__
 #define NR_syscalls	__NR_syscalls
 #endif