aboutsummaryrefslogtreecommitdiffstats
path: root/arch/c6x/include/asm/syscall.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/c6x/include/asm/syscall.h')
-rw-r--r--arch/c6x/include/asm/syscall.h38
1 files changed, 6 insertions, 32 deletions
diff --git a/arch/c6x/include/asm/syscall.h b/arch/c6x/include/asm/syscall.h
index 06db3251926b..15ba8599858e 100644
--- a/arch/c6x/include/asm/syscall.h
+++ b/arch/c6x/include/asm/syscall.h
@@ -59,40 +59,14 @@ static inline void syscall_get_arguments(struct task_struct *task,
59 59
60static inline void syscall_set_arguments(struct task_struct *task, 60static inline void syscall_set_arguments(struct task_struct *task,
61 struct pt_regs *regs, 61 struct pt_regs *regs,
62 unsigned int i, unsigned int n,
63 const unsigned long *args) 62 const unsigned long *args)
64{ 63{
65 switch (i) { 64 regs->a4 = *args++;
66 case 0: 65 regs->b4 = *args++;
67 if (!n--) 66 regs->a6 = *args++;
68 break; 67 regs->b6 = *args++;
69 regs->a4 = *args++; 68 regs->a8 = *args++;
70 case 1: 69 regs->a9 = *args;
71 if (!n--)
72 break;
73 regs->b4 = *args++;
74 case 2:
75 if (!n--)
76 break;
77 regs->a6 = *args++;
78 case 3:
79 if (!n--)
80 break;
81 regs->b6 = *args++;
82 case 4:
83 if (!n--)
84 break;
85 regs->a8 = *args++;
86 case 5:
87 if (!n--)
88 break;
89 regs->a9 = *args++;
90 case 6:
91 if (!n)
92 break;
93 default:
94 BUG();
95 }
96} 70}
97 71
98#endif /* __ASM_C6X_SYSCALLS_H */ 72#endif /* __ASM_C6X_SYSCALLS_H */