[SPARC]: Wire up sys_unshare().

Also, the Solaris syscall table is sized differrently,
and does not go beyond entry 255, so trim off the excess
entries.

Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
David S. Miller 2006-02-07 18:11:24 -08:00
parent 92118c739d
commit 1b9a428901
7 changed files with 15 additions and 40 deletions

View file

@ -38,7 +38,7 @@
#define curptr g6 #define curptr g6
#define NR_SYSCALLS 299 /* Each OS is different... */ #define NR_SYSCALLS 300 /* 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

View file

@ -78,7 +78,7 @@ sys_call_table:
/*280*/ .long sys_ni_syscall, sys_add_key, sys_request_key, sys_keyctl, sys_openat /*280*/ .long sys_ni_syscall, sys_add_key, sys_request_key, sys_keyctl, sys_openat
/*285*/ .long sys_mkdirat, sys_mknodat, sys_fchownat, sys_futimesat, sys_newfstatat /*285*/ .long sys_mkdirat, sys_mknodat, sys_fchownat, sys_futimesat, sys_newfstatat
/*290*/ .long sys_unlinkat, sys_renameat, sys_linkat, sys_symlinkat, sys_readlinkat /*290*/ .long sys_unlinkat, sys_renameat, sys_linkat, sys_symlinkat, sys_readlinkat
/*295*/ .long sys_fchmodat, sys_faccessat, sys_pselect6, sys_ppoll /*295*/ .long sys_fchmodat, sys_faccessat, sys_pselect6, sys_ppoll, sys_unshare
#ifdef CONFIG_SUNOS_EMUL #ifdef CONFIG_SUNOS_EMUL
/* Now the SunOS syscall table. */ /* Now the SunOS syscall table. */
@ -190,5 +190,6 @@ sunos_sys_table:
/*290*/ .long sunos_nosys, sunos_nosys, sunos_nosys /*290*/ .long sunos_nosys, sunos_nosys, sunos_nosys
.long sunos_nosys, sunos_nosys, sunos_nosys .long sunos_nosys, sunos_nosys, sunos_nosys
.long sunos_nosys, sunos_nosys, sunos_nosys .long sunos_nosys, sunos_nosys, sunos_nosys
.long sunos_nosys
#endif #endif

View file

@ -25,7 +25,7 @@
#define curptr g6 #define curptr g6
#define NR_SYSCALLS 299 /* Each OS is different... */ #define NR_SYSCALLS 300 /* Each OS is different... */
.text .text
.align 32 .align 32

View file

@ -79,7 +79,7 @@ sys_call_table32:
/*280*/ .word sys_ni_syscall, sys_add_key, sys_request_key, sys_keyctl, compat_sys_openat /*280*/ .word sys_ni_syscall, sys_add_key, sys_request_key, sys_keyctl, compat_sys_openat
.word sys_mkdirat, sys_mknodat, sys_fchownat, compat_sys_futimesat, compat_sys_newfstatat .word sys_mkdirat, sys_mknodat, sys_fchownat, compat_sys_futimesat, compat_sys_newfstatat
/*285*/ .word sys_unlinkat, sys_renameat, sys_linkat, sys_symlinkat, sys_readlinkat /*285*/ .word sys_unlinkat, sys_renameat, sys_linkat, sys_symlinkat, sys_readlinkat
.word sys_fchmodat, sys_faccessat, compat_sys_pselect6, compat_sys_ppoll .word sys_fchmodat, sys_faccessat, compat_sys_pselect6, compat_sys_ppoll, sys_unshare
#endif /* CONFIG_COMPAT */ #endif /* CONFIG_COMPAT */
@ -148,7 +148,7 @@ sys_call_table:
/*280*/ .word sys_nis_syscall, sys_add_key, sys_request_key, sys_keyctl, sys_openat /*280*/ .word sys_nis_syscall, sys_add_key, sys_request_key, sys_keyctl, sys_openat
.word sys_mkdirat, sys_mknodat, sys_fchownat, sys_futimesat, compat_sys_newfstatat .word sys_mkdirat, sys_mknodat, sys_fchownat, sys_futimesat, compat_sys_newfstatat
/*285*/ .word sys_unlinkat, sys_renameat, sys_linkat, sys_symlinkat, sys_readlinkat /*285*/ .word sys_unlinkat, sys_renameat, sys_linkat, sys_symlinkat, sys_readlinkat
.word sys_fchmodat, sys_faccessat, sys_pselect6, sys_ppoll .word sys_fchmodat, sys_faccessat, sys_pselect6, sys_ppoll, sys_unshare
#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)
@ -261,4 +261,5 @@ sunos_sys_table:
/*290*/ .word sunos_nosys, sunos_nosys, sunos_nosys /*290*/ .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
#endif #endif

View file

@ -283,32 +283,3 @@ solaris_sys_table:
.word solaris_unimplemented /* 253 */ .word solaris_unimplemented /* 253 */
.word solaris_unimplemented /* 254 */ .word solaris_unimplemented /* 254 */
.word solaris_unimplemented /* 255 */ .word solaris_unimplemented /* 255 */
.word solaris_unimplemented /* 256 */
.word solaris_unimplemented /* 257 */
.word solaris_unimplemented /* 258 */
.word solaris_unimplemented /* 259 */
.word solaris_unimplemented /* 260 */
.word solaris_unimplemented /* 261 */
.word solaris_unimplemented /* 262 */
.word solaris_unimplemented /* 263 */
.word solaris_unimplemented /* 264 */
.word solaris_unimplemented /* 265 */
.word solaris_unimplemented /* 266 */
.word solaris_unimplemented /* 267 */
.word solaris_unimplemented /* 268 */
.word solaris_unimplemented /* 269 */
.word solaris_unimplemented /* 270 */
.word solaris_unimplemented /* 271 */
.word solaris_unimplemented /* 272 */
.word solaris_unimplemented /* 273 */
.word solaris_unimplemented /* 274 */
.word solaris_unimplemented /* 275 */
.word solaris_unimplemented /* 276 */
.word solaris_unimplemented /* 277 */
.word solaris_unimplemented /* 278 */
.word solaris_unimplemented /* 279 */
.word solaris_unimplemented /* 280 */
.word solaris_unimplemented /* 281 */
.word solaris_unimplemented /* 282 */
.word solaris_unimplemented /* 283 */

View file

@ -315,11 +315,12 @@
#define __NR_faccessat 296 #define __NR_faccessat 296
#define __NR_pselect6 297 #define __NR_pselect6 297
#define __NR_ppoll 298 #define __NR_ppoll 298
#define __NR_unshare 299
/* WARNING: You MAY NOT add syscall numbers larger than 298, since /* WARNING: You MAY NOT add syscall numbers larger than 299, since
* all of the syscall tables in the Sparc kernel are * all of the syscall tables in the Sparc kernel are
* sized to have 298 entries (starting at zero). Therefore * sized to have 299 entries (starting at zero). Therefore
* find a free slot in the 0-298 range. * find a free slot in the 0-299 range.
*/ */
#define _syscall0(type,name) \ #define _syscall0(type,name) \

View file

@ -317,11 +317,12 @@
#define __NR_faccessat 296 #define __NR_faccessat 296
#define __NR_pselect6 297 #define __NR_pselect6 297
#define __NR_ppoll 298 #define __NR_ppoll 298
#define __NR_unshare 299
/* WARNING: You MAY NOT add syscall numbers larger than 298, since /* WARNING: You MAY NOT add syscall numbers larger than 299, since
* all of the syscall tables in the Sparc kernel are * all of the syscall tables in the Sparc kernel are
* sized to have 298 entries (starting at zero). Therefore * sized to have 299 entries (starting at zero). Therefore
* find a free slot in the 0-298 range. * find a free slot in the 0-299 range.
*/ */
#define _syscall0(type,name) \ #define _syscall0(type,name) \