[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:
parent
92118c739d
commit
1b9a428901
7 changed files with 15 additions and 40 deletions
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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 */
|
|
||||||
|
|
||||||
|
|
|
@ -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) \
|
||||||
|
|
|
@ -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) \
|
||||||
|
|
Loading…
Reference in a new issue