]> git.hungrycats.org Git - linux/commitdiff
[SPARC]: Add MQ syscall support.
authorJakub Jelínek <jakub@redhat.com>
Mon, 19 Apr 2004 03:35:59 +0000 (20:35 -0700)
committerDavid S. Miller <davem@nuts.davemloft.net>
Mon, 19 Apr 2004 03:35:59 +0000 (20:35 -0700)
arch/sparc/kernel/entry.S
arch/sparc/kernel/systbls.S
arch/sparc64/kernel/entry.S
arch/sparc64/kernel/sys32.S
arch/sparc64/kernel/systbls.S
include/asm-sparc/unistd.h
include/asm-sparc64/unistd.h

index 7078869af840df2bb7d235b3f434aebda223b0ea..14a4b95930c20226120cf5640c4718d63308898b 100644 (file)
@@ -38,7 +38,7 @@
 
 #define curptr      g6
 
-#define NR_SYSCALLS 273      /* Each OS is different... */
+#define NR_SYSCALLS 283      /* Each OS is different... */
 
 /* These are just handy. */
 #define _SV    save    %sp, -STACKFRAME_SZ, %sp
index 1d0feaf5abe81fa6355c9b24bc085351a0453caf..fd452a6d3b71100ba08a779eb2b8f29d9896f2f8 100644 (file)
@@ -73,7 +73,9 @@ sys_call_table:
 /*255*/        .long sys_nis_syscall, sys_clock_settime, sys_clock_gettime, sys_clock_getres, sys_clock_nanosleep
 /*260*/        .long sys_sched_getaffinity, sys_sched_setaffinity, sys_timer_settime, sys_timer_gettime, sys_timer_getoverrun
 /*265*/        .long sys_timer_delete, sys_timer_create, sys_nis_syscall, sys_io_setup, sys_io_destroy
-/*270*/        .long sys_io_submit, sys_io_cancel, sys_io_getevents, sys_nis_syscall
+/*270*/        .long sys_io_submit, sys_io_cancel, sys_io_getevents, sys_mq_open, sys_mq_unlink
+/*275*/        .long sys_mq_timedsend, sys_mq_timedreceive, sys_mq_notify, sys_mq_getsetattr, sys_ni_syscall
+/*280*/        .long sys_ni_syscall, sys_ni_syscall, sys_ni_syscall
 
 #ifdef CONFIG_SUNOS_EMUL
        /* Now the SunOS syscall table. */
@@ -175,6 +177,9 @@ sunos_sys_table:
        .long sunos_nosys, sunos_nosys, sunos_nosys
        .long sunos_nosys
 /*270*/        .long sunos_nosys, sunos_nosys, sunos_nosys
+       .long sunos_nosys, sunos_nosys, sunos_nosys
+       .long sunos_nosys, sunos_nosys, sunos_nosys
        .long sunos_nosys
+/*280*/        .long sunos_nosys, sunos_nosys, sunos_nosys
 
 #endif
index b8c877f50bc971043cbbff3b092007c4ac0f2928..6b6694a0e50ae374ddac9e2508e1d5621044ec37 100644 (file)
@@ -26,7 +26,7 @@
 
 #define curptr      g6
 
-#define NR_SYSCALLS 273      /* Each OS is different... */
+#define NR_SYSCALLS 283      /* Each OS is different... */
 
        .text
        .align          32
index b59dfcd55937b874024fb21bc289054bdf87ae5b..e94284ae9e6751dc2f4ca32c23cdcb49d86d8e2b 100644 (file)
@@ -68,6 +68,17 @@ sys32_mmap2:
        jmpl            %g1 + %lo(sys_mmap), %g0
         sllx           %o5, 12, %o5
 
+       .globl          sys32_mq_timedsend
+sys32_mq_timedsend:
+       sethi           %hi(compat_sys_mq_timedsend), %g1
+       jmpl            %g1 + %lo(compat_sys_mq_timedsend), %g0
+        srl            %o4, 0, %o4
+       .globl          sys32_mq_timedreceive
+sys32_mq_timedreceive:
+       sethi           %hi(compat_sys_mq_timedreceive), %g1
+       jmpl            %g1 + %lo(compat_sys_mq_timedreceive), %g0
+        srl            %o4, 0, %o4
+
        .align          32
        .globl          sys32_socketcall
 sys32_socketcall:      /* %o0=call, %o1=args */
index aec236a3179daf7520d963d486b1b0d1e8e7565f..3c7ef2da1ae0f09758f39be980cde70697d17b89 100644 (file)
@@ -73,7 +73,9 @@ sys_call_table32:
        .word sys_ni_syscall, compat_clock_settime, compat_clock_gettime, compat_clock_getres, compat_clock_nanosleep
 /*260*/        .word compat_sys_sched_getaffinity, compat_sys_sched_setaffinity, compat_timer_settime, compat_timer_gettime, sys_timer_getoverrun
        .word sys_timer_delete, sys32_timer_create, sys_ni_syscall, compat_sys_io_setup, sys_io_destroy
-/*270*/        .word compat_sys_io_submit, sys_io_cancel, compat_sys_io_getevents, sys_ni_syscall
+/*270*/        .word compat_sys_io_submit, sys_io_cancel, compat_sys_io_getevents, compat_sys_mq_open, sys_mq_unlink
+       .word sys32_mq_timedsend, sys32_mq_timedreceive, compat_sys_mq_notify, compat_sys_mq_getsetattr, sys_ni_syscall
+/*280*/        .word sys_ni_syscall, sys_ni_syscall, sys_ni_syscall
 
        /* Now the 64-bit native Linux syscall table. */
 
@@ -135,7 +137,9 @@ sys_call_table:
        .word sys_ni_syscall, sys_clock_settime, sys_clock_gettime, sys_clock_getres, sys_clock_nanosleep
 /*260*/        .word sys_sched_getaffinity, sys_sched_setaffinity, sys_timer_settime, sys_timer_gettime, sys_timer_getoverrun
        .word sys_timer_delete, sys_timer_create, sys_ni_syscall, sys_io_setup, sys_io_destroy
-/*270*/        .word sys_io_submit, sys_io_cancel, sys_io_getevents, sys_ni_syscall
+/*270*/        .word sys_io_submit, sys_io_cancel, sys_io_getevents, sys_mq_open, sys_mq_unlink
+       .word sys_mq_timedsend, sys_mq_timedreceive, sys_mq_notify, sys_mq_getsetattr, sys_ni_syscall
+/*280*/        .word sys_ni_syscall, sys_ni_syscall, sys_ni_syscall
 
 #if defined(CONFIG_SUNOS_EMUL) || defined(CONFIG_SOLARIS_EMUL) || \
     defined(CONFIG_SOLARIS_EMUL_MODULE)
@@ -237,5 +241,8 @@ sunos_sys_table:
        .word sunos_nosys, sunos_nosys, sunos_nosys
        .word sunos_nosys, sunos_nosys, sunos_nosys
        .word sunos_nosys, sunos_nosys, sunos_nosys
+       .word sunos_nosys, sunos_nosys, sunos_nosys
+       .word sunos_nosys, sunos_nosys, sunos_nosys
+       .word sunos_nosys, sunos_nosys, sunos_nosys
 
 #endif
index cbe9c4476eb3eb803ca74168ebcecf820ef696e3..4c0c9fbc33a5a0d0b87b1ce2d337510f201da448 100644 (file)
 #define __NR_io_submit         270
 #define __NR_io_cancel         271
 #define __NR_io_getevents      272
-/* WARNING: You MAY NOT add syscall numbers larger than 272, since
+#define __NR_mq_open           273
+#define __NR_mq_unlink         (__NR_mq_open+1)
+#define __NR_mq_timedsend      (__NR_mq_open+2)
+#define __NR_mq_timedreceive   (__NR_mq_open+3)
+#define __NR_mq_notify         (__NR_mq_open+4)
+#define __NR_mq_getsetattr     (__NR_mq_open+5)
+
+/* WARNING: You MAY NOT add syscall numbers larger than 282, since
  *          all of the syscall tables in the Sparc kernel are
- *          sized to have 273 entries (starting at zero).  Therefore
- *          find a free slot in the 0-272 range.
+ *          sized to have 283 entries (starting at zero).  Therefore
+ *          find a free slot in the 0-282 range.
  */
 
 #define _syscall0(type,name) \
index 265a2348873a55a034f2bf539139344d0f339d20..751f7de1c1382a5a47938893d828ecf6be752528 100644 (file)
 #define __NR_io_submit         270
 #define __NR_io_cancel         271
 #define __NR_io_getevents      272
-/* WARNING: You MAY NOT add syscall numbers larger than 272, since
+#define __NR_mq_open           273
+#define __NR_mq_unlink         (__NR_mq_open+1)
+#define __NR_mq_timedsend      (__NR_mq_open+2)
+#define __NR_mq_timedreceive   (__NR_mq_open+3)
+#define __NR_mq_notify         (__NR_mq_open+4)
+#define __NR_mq_getsetattr     (__NR_mq_open+5)
+/* WARNING: You MAY NOT add syscall numbers larger than 282, since
  *          all of the syscall tables in the Sparc kernel are
- *          sized to have 273 entries (starting at zero).  Therefore
- *          find a free slot in the 0-272 range.
+ *          sized to have 283 entries (starting at zero).  Therefore
+ *          find a free slot in the 0-282 range.
  */
 
 #define _syscall0(type,name) \