Skip to content

Commit

Permalink
[SPARC]: Wire up sys_unshare().
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
David S. Miller committed Feb 8, 2006
1 parent 92118c7 commit 1b9a428
Show file tree
Hide file tree
Showing 7 changed files with 15 additions and 40 deletions.
2 changes: 1 addition & 1 deletion arch/sparc/kernel/entry.S
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@

#define curptr g6

#define NR_SYSCALLS 299 /* Each OS is different... */
#define NR_SYSCALLS 300 /* Each OS is different... */

/* These are just handy. */
#define _SV save %sp, -STACKFRAME_SZ, %sp
Expand Down
3 changes: 2 additions & 1 deletion arch/sparc/kernel/systbls.S
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ sys_call_table:
/*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
/*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
/* Now the SunOS syscall table. */
Expand Down Expand Up @@ -190,5 +190,6 @@ sunos_sys_table:
/*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

#endif
2 changes: 1 addition & 1 deletion arch/sparc64/kernel/entry.S
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@

#define curptr g6

#define NR_SYSCALLS 299 /* Each OS is different... */
#define NR_SYSCALLS 300 /* Each OS is different... */

.text
.align 32
Expand Down
5 changes: 3 additions & 2 deletions arch/sparc64/kernel/systbls.S
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ sys_call_table32:
/*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
/*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 */

Expand Down Expand Up @@ -148,7 +148,7 @@ sys_call_table:
/*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
/*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) || \
defined(CONFIG_SOLARIS_EMUL_MODULE)
Expand Down Expand Up @@ -261,4 +261,5 @@ sunos_sys_table:
/*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
#endif
29 changes: 0 additions & 29 deletions arch/sparc64/solaris/systbl.S
Original file line number Diff line number Diff line change
Expand Up @@ -283,32 +283,3 @@ solaris_sys_table:
.word solaris_unimplemented /* 253 */
.word solaris_unimplemented /* 254 */
.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 */

7 changes: 4 additions & 3 deletions include/asm-sparc/unistd.h
Original file line number Diff line number Diff line change
Expand Up @@ -315,11 +315,12 @@
#define __NR_faccessat 296
#define __NR_pselect6 297
#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
* sized to have 298 entries (starting at zero). Therefore
* find a free slot in the 0-298 range.
* sized to have 299 entries (starting at zero). Therefore
* find a free slot in the 0-299 range.
*/

#define _syscall0(type,name) \
Expand Down
7 changes: 4 additions & 3 deletions include/asm-sparc64/unistd.h
Original file line number Diff line number Diff line change
Expand Up @@ -317,11 +317,12 @@
#define __NR_faccessat 296
#define __NR_pselect6 297
#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
* sized to have 298 entries (starting at zero). Therefore
* find a free slot in the 0-298 range.
* sized to have 299 entries (starting at zero). Therefore
* find a free slot in the 0-299 range.
*/

#define _syscall0(type,name) \
Expand Down

0 comments on commit 1b9a428

Please sign in to comment.