Commit a355eaae authored by David S. Miller's avatar David S. Miller

Merge davem@nuts.davemloft.net:/disk1/BK/sparc-2.6

into hera.kernel.org:/home/davem/BK/sparc-2.6
parents d5b1f484 6af83b78
...@@ -38,7 +38,7 @@ ...@@ -38,7 +38,7 @@
#define curptr g6 #define curptr g6
#define NR_SYSCALLS 273 /* Each OS is different... */ #define NR_SYSCALLS 283 /* Each OS is different... */
/* These are just handy. */ /* These are just handy. */
#define _SV save %sp, -STACKFRAME_SZ, %sp #define _SV save %sp, -STACKFRAME_SZ, %sp
......
...@@ -73,7 +73,9 @@ sys_call_table: ...@@ -73,7 +73,9 @@ sys_call_table:
/*255*/ .long sys_nis_syscall, sys_clock_settime, sys_clock_gettime, sys_clock_getres, sys_clock_nanosleep /*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 /*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 /*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 #ifdef CONFIG_SUNOS_EMUL
/* Now the SunOS syscall table. */ /* Now the SunOS syscall table. */
...@@ -175,6 +177,9 @@ sunos_sys_table: ...@@ -175,6 +177,9 @@ sunos_sys_table:
.long sunos_nosys, sunos_nosys, sunos_nosys .long sunos_nosys, sunos_nosys, sunos_nosys
.long sunos_nosys .long sunos_nosys
/*270*/ .long sunos_nosys, sunos_nosys, 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 .long sunos_nosys
/*280*/ .long sunos_nosys, sunos_nosys, sunos_nosys
#endif #endif
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
# #
EXTRA_AFLAGS := -ansi EXTRA_AFLAGS := -ansi
# EXTRA_CFLAGS := -Werror EXTRA_CFLAGS := -Werror
extra-y := head.o init_task.o vmlinux.lds.s extra-y := head.o init_task.o vmlinux.lds.s
......
...@@ -151,4 +151,7 @@ MODULE_AUTHOR("Eric Youngdale, David S. Miller, Jakub Jelinek"); ...@@ -151,4 +151,7 @@ MODULE_AUTHOR("Eric Youngdale, David S. Miller, Jakub Jelinek");
#undef MODULE_DESCRIPTION #undef MODULE_DESCRIPTION
#undef MODULE_AUTHOR #undef MODULE_AUTHOR
#undef TASK_SIZE
#define TASK_SIZE 0xf0000000
#include "../../../fs/binfmt_elf.c" #include "../../../fs/binfmt_elf.c"
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
#define curptr g6 #define curptr g6
#define NR_SYSCALLS 273 /* Each OS is different... */ #define NR_SYSCALLS 283 /* Each OS is different... */
.text .text
.align 32 .align 32
......
...@@ -68,6 +68,17 @@ sys32_mmap2: ...@@ -68,6 +68,17 @@ sys32_mmap2:
jmpl %g1 + %lo(sys_mmap), %g0 jmpl %g1 + %lo(sys_mmap), %g0
sllx %o5, 12, %o5 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 .align 32
.globl sys32_socketcall .globl sys32_socketcall
sys32_socketcall: /* %o0=call, %o1=args */ sys32_socketcall: /* %o0=call, %o1=args */
......
...@@ -73,7 +73,9 @@ sys_call_table32: ...@@ -73,7 +73,9 @@ sys_call_table32:
.word sys_ni_syscall, compat_clock_settime, compat_clock_gettime, compat_clock_getres, compat_clock_nanosleep .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 /*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 .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. */ /* Now the 64-bit native Linux syscall table. */
...@@ -135,7 +137,9 @@ sys_call_table: ...@@ -135,7 +137,9 @@ sys_call_table:
.word sys_ni_syscall, sys_clock_settime, sys_clock_gettime, sys_clock_getres, sys_clock_nanosleep .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 /*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 .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) || \ #if defined(CONFIG_SUNOS_EMUL) || defined(CONFIG_SOLARIS_EMUL) || \
defined(CONFIG_SOLARIS_EMUL_MODULE) defined(CONFIG_SOLARIS_EMUL_MODULE)
...@@ -237,5 +241,8 @@ sunos_sys_table: ...@@ -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
.word sunos_nosys, sunos_nosys, sunos_nosys
.word sunos_nosys, sunos_nosys, sunos_nosys
.word sunos_nosys, sunos_nosys, sunos_nosys
#endif #endif
...@@ -289,10 +289,17 @@ ...@@ -289,10 +289,17 @@
#define __NR_io_submit 270 #define __NR_io_submit 270
#define __NR_io_cancel 271 #define __NR_io_cancel 271
#define __NR_io_getevents 272 #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 * all of the syscall tables in the Sparc kernel are
* sized to have 273 entries (starting at zero). Therefore * sized to have 283 entries (starting at zero). Therefore
* find a free slot in the 0-272 range. * find a free slot in the 0-282 range.
*/ */
#define _syscall0(type,name) \ #define _syscall0(type,name) \
......
...@@ -205,7 +205,7 @@ do { if (test_thread_flag(TIF_PERFCTR)) { \ ...@@ -205,7 +205,7 @@ do { if (test_thread_flag(TIF_PERFCTR)) { \
"ldx [%%g6 + %7], %%g4\n\t" \ "ldx [%%g6 + %7], %%g4\n\t" \
"wrpr %%g0, 0x96, %%pstate\n\t" \ "wrpr %%g0, 0x96, %%pstate\n\t" \
"andcc %%o7, %6, %%g0\n\t" \ "andcc %%o7, %6, %%g0\n\t" \
"beq,pn %%icc, 1f\n\t" \ "beq,pt %%icc, 1f\n\t" \
" mov %%g5, %0\n\t" \ " mov %%g5, %0\n\t" \
"b,a ret_from_syscall\n\t" \ "b,a ret_from_syscall\n\t" \
"1:\n\t" \ "1:\n\t" \
......
...@@ -291,10 +291,16 @@ ...@@ -291,10 +291,16 @@
#define __NR_io_submit 270 #define __NR_io_submit 270
#define __NR_io_cancel 271 #define __NR_io_cancel 271
#define __NR_io_getevents 272 #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 * all of the syscall tables in the Sparc kernel are
* sized to have 273 entries (starting at zero). Therefore * sized to have 283 entries (starting at zero). Therefore
* find a free slot in the 0-272 range. * find a free slot in the 0-282 range.
*/ */
#define _syscall0(type,name) \ #define _syscall0(type,name) \
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment