aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/platforms/cell/spu_callbacks.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/powerpc/platforms/cell/spu_callbacks.c')
-rw-r--r--arch/powerpc/platforms/cell/spu_callbacks.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/powerpc/platforms/cell/spu_callbacks.c b/arch/powerpc/platforms/cell/spu_callbacks.c
index 95b36430aa..b47fcc5ddb 100644
--- a/arch/powerpc/platforms/cell/spu_callbacks.c
+++ b/arch/powerpc/platforms/cell/spu_callbacks.c
@@ -258,6 +258,7 @@ void *spu_syscall_table[] = {
258 [__NR_futex] sys_futex, 258 [__NR_futex] sys_futex,
259 [__NR_sched_setaffinity] sys_sched_setaffinity, 259 [__NR_sched_setaffinity] sys_sched_setaffinity,
260 [__NR_sched_getaffinity] sys_sched_getaffinity, 260 [__NR_sched_getaffinity] sys_sched_getaffinity,
261 [224] sys_ni_syscall,
261 [__NR_tuxcall] sys_ni_syscall, 262 [__NR_tuxcall] sys_ni_syscall,
262 [226] sys_ni_syscall, 263 [226] sys_ni_syscall,
263 [__NR_io_setup] sys_io_setup, 264 [__NR_io_setup] sys_io_setup,
@@ -332,19 +333,21 @@ void *spu_syscall_table[] = {
332 [__NR_readlinkat] sys_readlinkat, 333 [__NR_readlinkat] sys_readlinkat,
333 [__NR_fchmodat] sys_fchmodat, 334 [__NR_fchmodat] sys_fchmodat,
334 [__NR_faccessat] sys_faccessat, 335 [__NR_faccessat] sys_faccessat,
336 [__NR_get_robust_list] sys_get_robust_list,
337 [__NR_set_robust_list] sys_set_robust_list,
335}; 338};
336 339
337long spu_sys_callback(struct spu_syscall_block *s) 340long spu_sys_callback(struct spu_syscall_block *s)
338{ 341{
339 long (*syscall)(u64 a1, u64 a2, u64 a3, u64 a4, u64 a5, u64 a6); 342 long (*syscall)(u64 a1, u64 a2, u64 a3, u64 a4, u64 a5, u64 a6);
340 343
341 syscall = spu_syscall_table[s->nr_ret];
342
343 if (s->nr_ret >= ARRAY_SIZE(spu_syscall_table)) { 344 if (s->nr_ret >= ARRAY_SIZE(spu_syscall_table)) {
344 pr_debug("%s: invalid syscall #%ld", __FUNCTION__, s->nr_ret); 345 pr_debug("%s: invalid syscall #%ld", __FUNCTION__, s->nr_ret);
345 return -ENOSYS; 346 return -ENOSYS;
346 } 347 }
347 348
349 syscall = spu_syscall_table[s->nr_ret];
350
348#ifdef DEBUG 351#ifdef DEBUG
349 print_symbol(KERN_DEBUG "SPU-syscall %s:", (unsigned long)syscall); 352 print_symbol(KERN_DEBUG "SPU-syscall %s:", (unsigned long)syscall);
350 printk("syscall%ld(%lx, %lx, %lx, %lx, %lx, %lx)\n", 353 printk("syscall%ld(%lx, %lx, %lx, %lx, %lx, %lx)\n",