diff options
Diffstat (limited to 'arch/sparc64/kernel')
-rw-r--r-- | arch/sparc64/kernel/smp.c | 4 | ||||
-rw-r--r-- | arch/sparc64/kernel/sys32.S | 13 | ||||
-rw-r--r-- | arch/sparc64/kernel/systbls.S | 4 |
3 files changed, 16 insertions, 5 deletions
diff --git a/arch/sparc64/kernel/smp.c b/arch/sparc64/kernel/smp.c index e5627118e613..f500b0618bb0 100644 --- a/arch/sparc64/kernel/smp.c +++ b/arch/sparc64/kernel/smp.c | |||
@@ -282,7 +282,7 @@ static unsigned long kimage_addr_to_ra(void *p) | |||
282 | return kern_base + (val - KERNBASE); | 282 | return kern_base + (val - KERNBASE); |
283 | } | 283 | } |
284 | 284 | ||
285 | static void ldom_startcpu_cpuid(unsigned int cpu, unsigned long thread_reg) | 285 | static void __cpuinit ldom_startcpu_cpuid(unsigned int cpu, unsigned long thread_reg) |
286 | { | 286 | { |
287 | extern unsigned long sparc64_ttable_tl0; | 287 | extern unsigned long sparc64_ttable_tl0; |
288 | extern unsigned long kern_locked_tte_data; | 288 | extern unsigned long kern_locked_tte_data; |
@@ -343,7 +343,7 @@ extern unsigned long sparc64_cpu_startup; | |||
343 | */ | 343 | */ |
344 | static struct thread_info *cpu_new_thread = NULL; | 344 | static struct thread_info *cpu_new_thread = NULL; |
345 | 345 | ||
346 | static int __devinit smp_boot_one_cpu(unsigned int cpu) | 346 | static int __cpuinit smp_boot_one_cpu(unsigned int cpu) |
347 | { | 347 | { |
348 | struct trap_per_cpu *tb = &trap_block[cpu]; | 348 | struct trap_per_cpu *tb = &trap_block[cpu]; |
349 | unsigned long entry = | 349 | unsigned long entry = |
diff --git a/arch/sparc64/kernel/sys32.S b/arch/sparc64/kernel/sys32.S index ade18ba0c686..f061c4dda9ef 100644 --- a/arch/sparc64/kernel/sys32.S +++ b/arch/sparc64/kernel/sys32.S | |||
@@ -150,7 +150,7 @@ sys32_mmap2: | |||
150 | sys32_socketcall: /* %o0=call, %o1=args */ | 150 | sys32_socketcall: /* %o0=call, %o1=args */ |
151 | cmp %o0, 1 | 151 | cmp %o0, 1 |
152 | bl,pn %xcc, do_einval | 152 | bl,pn %xcc, do_einval |
153 | cmp %o0, 17 | 153 | cmp %o0, 18 |
154 | bg,pn %xcc, do_einval | 154 | bg,pn %xcc, do_einval |
155 | sub %o0, 1, %o0 | 155 | sub %o0, 1, %o0 |
156 | sllx %o0, 5, %o0 | 156 | sllx %o0, 5, %o0 |
@@ -319,6 +319,15 @@ do_sys_recvmsg: /* compat_sys_recvmsg(int, struct compat_msghdr *, unsigned int) | |||
319 | nop | 319 | nop |
320 | nop | 320 | nop |
321 | nop | 321 | nop |
322 | do_sys_accept4: /* sys_accept4(int, struct sockaddr *, int *, int) */ | ||
323 | 63: ldswa [%o1 + 0x0] %asi, %o0 | ||
324 | sethi %hi(sys_accept4), %g1 | ||
325 | 64: lduwa [%o1 + 0x8] %asi, %o2 | ||
326 | 65: ldswa [%o1 + 0xc] %asi, %o3 | ||
327 | jmpl %g1 + %lo(sys_accept4), %g0 | ||
328 | 66: lduwa [%o1 + 0x4] %asi, %o1 | ||
329 | nop | ||
330 | nop | ||
322 | 331 | ||
323 | .section __ex_table,"a" | 332 | .section __ex_table,"a" |
324 | .align 4 | 333 | .align 4 |
@@ -353,4 +362,6 @@ do_sys_recvmsg: /* compat_sys_recvmsg(int, struct compat_msghdr *, unsigned int) | |||
353 | .word 57b, __retl_efault, 58b, __retl_efault | 362 | .word 57b, __retl_efault, 58b, __retl_efault |
354 | .word 59b, __retl_efault, 60b, __retl_efault | 363 | .word 59b, __retl_efault, 60b, __retl_efault |
355 | .word 61b, __retl_efault, 62b, __retl_efault | 364 | .word 61b, __retl_efault, 62b, __retl_efault |
365 | .word 63b, __retl_efault, 64b, __retl_efault | ||
366 | .word 65b, __retl_efault, 66b, __retl_efault | ||
356 | .previous | 367 | .previous |
diff --git a/arch/sparc64/kernel/systbls.S b/arch/sparc64/kernel/systbls.S index b2fa4c163638..9fc78cf354bd 100644 --- a/arch/sparc64/kernel/systbls.S +++ b/arch/sparc64/kernel/systbls.S | |||
@@ -82,7 +82,7 @@ sys_call_table32: | |||
82 | .word compat_sys_set_mempolicy, compat_sys_kexec_load, compat_sys_move_pages, sys_getcpu, compat_sys_epoll_pwait | 82 | .word compat_sys_set_mempolicy, compat_sys_kexec_load, compat_sys_move_pages, sys_getcpu, compat_sys_epoll_pwait |
83 | /*310*/ .word compat_sys_utimensat, compat_sys_signalfd, sys_timerfd_create, sys_eventfd, compat_sys_fallocate | 83 | /*310*/ .word compat_sys_utimensat, compat_sys_signalfd, sys_timerfd_create, sys_eventfd, compat_sys_fallocate |
84 | .word compat_sys_timerfd_settime, compat_sys_timerfd_gettime, compat_sys_signalfd4, sys_eventfd2, sys_epoll_create1 | 84 | .word compat_sys_timerfd_settime, compat_sys_timerfd_gettime, compat_sys_signalfd4, sys_eventfd2, sys_epoll_create1 |
85 | /*320*/ .word sys_dup3, sys_pipe2, sys_inotify_init1 | 85 | /*320*/ .word sys_dup3, sys_pipe2, sys_inotify_init1, sys_accept4 |
86 | 86 | ||
87 | #endif /* CONFIG_COMPAT */ | 87 | #endif /* CONFIG_COMPAT */ |
88 | 88 | ||
@@ -156,4 +156,4 @@ sys_call_table: | |||
156 | .word sys_set_mempolicy, sys_kexec_load, sys_move_pages, sys_getcpu, sys_epoll_pwait | 156 | .word sys_set_mempolicy, sys_kexec_load, sys_move_pages, sys_getcpu, sys_epoll_pwait |
157 | /*310*/ .word sys_utimensat, sys_signalfd, sys_timerfd_create, sys_eventfd, sys_fallocate | 157 | /*310*/ .word sys_utimensat, sys_signalfd, sys_timerfd_create, sys_eventfd, sys_fallocate |
158 | .word sys_timerfd_settime, sys_timerfd_gettime, sys_signalfd4, sys_eventfd2, sys_epoll_create1 | 158 | .word sys_timerfd_settime, sys_timerfd_gettime, sys_signalfd4, sys_eventfd2, sys_epoll_create1 |
159 | /*320*/ .word sys_dup3, sys_pipe2, sys_inotify_init1 | 159 | /*320*/ .word sys_dup3, sys_pipe2, sys_inotify_init1, sys_accept4 |