diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-03-13 19:57:15 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-03-13 19:57:15 -0400 |
commit | baab1087c61d4506f2c9f4cdb7da162160de16c2 (patch) | |
tree | 53930d7ca21ce351acb4962ae7cf8310a33aaab8 | |
parent | b174ec2c65d7fa13c88085a04670ac015fd9eb2e (diff) | |
parent | bb8236f2b978e8ed84e8b664882905fb5a7dd6c8 (diff) |
Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:
[SPARC64]: Add missing HPAGE_MASK masks on address parameters.
[SPARC]: Hook up missing syscalls.
-rw-r--r-- | arch/sparc/kernel/systbls.S | 6 | ||||
-rw-r--r-- | arch/sparc64/kernel/systbls.S | 9 | ||||
-rw-r--r-- | arch/sparc64/mm/hugetlbpage.c | 3 | ||||
-rw-r--r-- | include/asm-sparc/unistd.h | 15 | ||||
-rw-r--r-- | include/asm-sparc64/unistd.h | 16 |
5 files changed, 31 insertions, 18 deletions
diff --git a/arch/sparc/kernel/systbls.S b/arch/sparc/kernel/systbls.S index ea75ca569052..3a69778c8366 100644 --- a/arch/sparc/kernel/systbls.S +++ b/arch/sparc/kernel/systbls.S | |||
@@ -78,7 +78,8 @@ sys_call_table: | |||
78 | /*285*/ .long sys_mkdirat, sys_mknodat, sys_fchownat, sys_futimesat, sys_fstatat64 | 78 | /*285*/ .long sys_mkdirat, sys_mknodat, sys_fchownat, sys_futimesat, sys_fstatat64 |
79 | /*290*/ .long sys_unlinkat, sys_renameat, sys_linkat, sys_symlinkat, sys_readlinkat | 79 | /*290*/ .long sys_unlinkat, sys_renameat, sys_linkat, sys_symlinkat, sys_readlinkat |
80 | /*295*/ .long sys_fchmodat, sys_faccessat, sys_pselect6, sys_ppoll, sys_unshare | 80 | /*295*/ .long sys_fchmodat, sys_faccessat, sys_pselect6, sys_ppoll, sys_unshare |
81 | /*300*/ .long sys_set_robust_list, sys_get_robust_list, sys_migrate_pages | 81 | /*300*/ .long sys_set_robust_list, sys_get_robust_list, sys_migrate_pages, sys_mbind, sys_get_mempolicy |
82 | /*305*/ .long sys_set_mempolicy, sys_kexec_load, sys_move_pages, sys_getcpu, sys_epoll_pwait | ||
82 | 83 | ||
83 | #ifdef CONFIG_SUNOS_EMUL | 84 | #ifdef CONFIG_SUNOS_EMUL |
84 | /* Now the SunOS syscall table. */ | 85 | /* Now the SunOS syscall table. */ |
@@ -192,5 +193,8 @@ sunos_sys_table: | |||
192 | .long sunos_nosys, sunos_nosys, sunos_nosys | 193 | .long sunos_nosys, sunos_nosys, sunos_nosys |
193 | .long sunos_nosys | 194 | .long sunos_nosys |
194 | /*300*/ .long sunos_nosys, sunos_nosys, sunos_nosys | 195 | /*300*/ .long sunos_nosys, sunos_nosys, sunos_nosys |
196 | .long sunos_nosys, sunos_nosys, sunos_nosys | ||
197 | .long sunos_nosys, sunos_nosys, sunos_nosys | ||
198 | .long sunos_nosys | ||
195 | 199 | ||
196 | #endif | 200 | #endif |
diff --git a/arch/sparc64/kernel/systbls.S b/arch/sparc64/kernel/systbls.S index 948b7d2d5874..aaeb5e06735c 100644 --- a/arch/sparc64/kernel/systbls.S +++ b/arch/sparc64/kernel/systbls.S | |||
@@ -79,7 +79,8 @@ sys_call_table32: | |||
79 | .word sys_mkdirat, sys_mknodat, sys_fchownat, compat_sys_futimesat, compat_sys_fstatat64 | 79 | .word sys_mkdirat, sys_mknodat, sys_fchownat, compat_sys_futimesat, compat_sys_fstatat64 |
80 | /*290*/ .word sys_unlinkat, sys_renameat, sys_linkat, sys_symlinkat, sys_readlinkat | 80 | /*290*/ .word sys_unlinkat, sys_renameat, sys_linkat, sys_symlinkat, sys_readlinkat |
81 | .word sys_fchmodat, sys_faccessat, compat_sys_pselect6, compat_sys_ppoll, sys_unshare | 81 | .word sys_fchmodat, sys_faccessat, compat_sys_pselect6, compat_sys_ppoll, sys_unshare |
82 | /*300*/ .word compat_sys_set_robust_list, compat_sys_get_robust_list, compat_sys_migrate_pages | 82 | /*300*/ .word compat_sys_set_robust_list, compat_sys_get_robust_list, compat_sys_migrate_pages, compat_sys_mbind, compat_sys_get_mempolicy |
83 | .word compat_sys_set_mempolicy, compat_sys_kexec_load, compat_sys_move_pages, sys_getcpu, compat_sys_epoll_pwait | ||
83 | 84 | ||
84 | #endif /* CONFIG_COMPAT */ | 85 | #endif /* CONFIG_COMPAT */ |
85 | 86 | ||
@@ -149,7 +150,8 @@ sys_call_table: | |||
149 | .word sys_mkdirat, sys_mknodat, sys_fchownat, sys_futimesat, sys_fstatat64 | 150 | .word sys_mkdirat, sys_mknodat, sys_fchownat, sys_futimesat, sys_fstatat64 |
150 | /*290*/ .word sys_unlinkat, sys_renameat, sys_linkat, sys_symlinkat, sys_readlinkat | 151 | /*290*/ .word sys_unlinkat, sys_renameat, sys_linkat, sys_symlinkat, sys_readlinkat |
151 | .word sys_fchmodat, sys_faccessat, sys_pselect6, sys_ppoll, sys_unshare | 152 | .word sys_fchmodat, sys_faccessat, sys_pselect6, sys_ppoll, sys_unshare |
152 | /*300*/ .word sys_set_robust_list, sys_get_robust_list, sys_migrate_pages | 153 | /*300*/ .word sys_set_robust_list, sys_get_robust_list, sys_migrate_pages, sys_mbind, sys_get_mempolicy |
154 | .word sys_set_mempolicy, sys_kexec_load, sys_move_pages, sys_getcpu, sys_epoll_pwait | ||
153 | 155 | ||
154 | #if defined(CONFIG_SUNOS_EMUL) || defined(CONFIG_SOLARIS_EMUL) || \ | 156 | #if defined(CONFIG_SUNOS_EMUL) || defined(CONFIG_SOLARIS_EMUL) || \ |
155 | defined(CONFIG_SOLARIS_EMUL_MODULE) | 157 | defined(CONFIG_SOLARIS_EMUL_MODULE) |
@@ -264,5 +266,8 @@ sunos_sys_table: | |||
264 | .word sunos_nosys, sunos_nosys, sunos_nosys | 266 | .word sunos_nosys, sunos_nosys, sunos_nosys |
265 | .word sunos_nosys | 267 | .word sunos_nosys |
266 | /*300*/ .word sunos_nosys, sunos_nosys, sunos_nosys | 268 | /*300*/ .word sunos_nosys, sunos_nosys, sunos_nosys |
269 | .word sunos_nosys, sunos_nosys, sunos_nosys | ||
270 | .word sunos_nosys, sunos_nosys, sunos_nosys | ||
271 | .word sunos_nosys | ||
267 | 272 | ||
268 | #endif | 273 | #endif |
diff --git a/arch/sparc64/mm/hugetlbpage.c b/arch/sparc64/mm/hugetlbpage.c index 33fd0b265e70..00677b5e1d7d 100644 --- a/arch/sparc64/mm/hugetlbpage.c +++ b/arch/sparc64/mm/hugetlbpage.c | |||
@@ -248,6 +248,7 @@ void set_huge_pte_at(struct mm_struct *mm, unsigned long addr, | |||
248 | if (!pte_present(*ptep) && pte_present(entry)) | 248 | if (!pte_present(*ptep) && pte_present(entry)) |
249 | mm->context.huge_pte_count++; | 249 | mm->context.huge_pte_count++; |
250 | 250 | ||
251 | addr &= HPAGE_MASK; | ||
251 | for (i = 0; i < (1 << HUGETLB_PAGE_ORDER); i++) { | 252 | for (i = 0; i < (1 << HUGETLB_PAGE_ORDER); i++) { |
252 | set_pte_at(mm, addr, ptep, entry); | 253 | set_pte_at(mm, addr, ptep, entry); |
253 | ptep++; | 254 | ptep++; |
@@ -266,6 +267,8 @@ pte_t huge_ptep_get_and_clear(struct mm_struct *mm, unsigned long addr, | |||
266 | if (pte_present(entry)) | 267 | if (pte_present(entry)) |
267 | mm->context.huge_pte_count--; | 268 | mm->context.huge_pte_count--; |
268 | 269 | ||
270 | addr &= HPAGE_MASK; | ||
271 | |||
269 | for (i = 0; i < (1 << HUGETLB_PAGE_ORDER); i++) { | 272 | for (i = 0; i < (1 << HUGETLB_PAGE_ORDER); i++) { |
270 | pte_clear(mm, addr, ptep); | 273 | pte_clear(mm, addr, ptep); |
271 | addr += PAGE_SIZE; | 274 | addr += PAGE_SIZE; |
diff --git a/include/asm-sparc/unistd.h b/include/asm-sparc/unistd.h index 16098acfe300..e43ed1d63a9d 100644 --- a/include/asm-sparc/unistd.h +++ b/include/asm-sparc/unistd.h | |||
@@ -319,16 +319,17 @@ | |||
319 | #define __NR_set_robust_list 300 | 319 | #define __NR_set_robust_list 300 |
320 | #define __NR_get_robust_list 301 | 320 | #define __NR_get_robust_list 301 |
321 | #define __NR_migrate_pages 302 | 321 | #define __NR_migrate_pages 302 |
322 | #define __NR_mbind 303 | ||
323 | #define __NR_get_mempolicy 304 | ||
324 | #define __NR_set_mempolicy 305 | ||
325 | #define __NR_kexec_load 306 | ||
326 | #define __NR_move_pages 307 | ||
327 | #define __NR_getcpu 308 | ||
328 | #define __NR_epoll_pwait 309 | ||
322 | 329 | ||
323 | #define NR_SYSCALLS 303 | 330 | #define NR_SYSCALLS 310 |
324 | 331 | ||
325 | #ifdef __KERNEL__ | 332 | #ifdef __KERNEL__ |
326 | /* WARNING: You MAY NOT add syscall numbers larger than 302, since | ||
327 | * all of the syscall tables in the Sparc kernel are | ||
328 | * sized to have 302 entries (starting at zero). Therefore | ||
329 | * find a free slot in the 0-302 range. | ||
330 | */ | ||
331 | |||
332 | #define __ARCH_WANT_IPC_PARSE_VERSION | 333 | #define __ARCH_WANT_IPC_PARSE_VERSION |
333 | #define __ARCH_WANT_OLD_READDIR | 334 | #define __ARCH_WANT_OLD_READDIR |
334 | #define __ARCH_WANT_STAT64 | 335 | #define __ARCH_WANT_STAT64 |
diff --git a/include/asm-sparc64/unistd.h b/include/asm-sparc64/unistd.h index a9f7bd9ca38c..e2dcb87e0c62 100644 --- a/include/asm-sparc64/unistd.h +++ b/include/asm-sparc64/unistd.h | |||
@@ -321,17 +321,17 @@ | |||
321 | #define __NR_set_robust_list 300 | 321 | #define __NR_set_robust_list 300 |
322 | #define __NR_get_robust_list 301 | 322 | #define __NR_get_robust_list 301 |
323 | #define __NR_migrate_pages 302 | 323 | #define __NR_migrate_pages 302 |
324 | #define __NR_mbind 303 | ||
325 | #define __NR_get_mempolicy 304 | ||
326 | #define __NR_set_mempolicy 305 | ||
327 | #define __NR_kexec_load 306 | ||
328 | #define __NR_move_pages 307 | ||
329 | #define __NR_getcpu 308 | ||
330 | #define __NR_epoll_pwait 309 | ||
324 | 331 | ||
325 | #define NR_SYSCALLS 303 | 332 | #define NR_SYSCALLS 310 |
326 | 333 | ||
327 | #ifdef __KERNEL__ | 334 | #ifdef __KERNEL__ |
328 | |||
329 | /* WARNING: You MAY NOT add syscall numbers larger than 302, since | ||
330 | * all of the syscall tables in the Sparc kernel are | ||
331 | * sized to have 302 entries (starting at zero). Therefore | ||
332 | * find a free slot in the 0-302 range. | ||
333 | */ | ||
334 | |||
335 | /* sysconf options, for SunOS compatibility */ | 335 | /* sysconf options, for SunOS compatibility */ |
336 | #define _SC_ARG_MAX 1 | 336 | #define _SC_ARG_MAX 1 |
337 | #define _SC_CHILD_MAX 2 | 337 | #define _SC_CHILD_MAX 2 |