diff options
Diffstat (limited to 'arch/nios2/include/asm/syscall.h')
| -rw-r--r-- | arch/nios2/include/asm/syscall.h | 84 | 
1 files changed, 14 insertions, 70 deletions
| diff --git a/arch/nios2/include/asm/syscall.h b/arch/nios2/include/asm/syscall.h index 9de220854c4a..d7624ed06efb 100644 --- a/arch/nios2/include/asm/syscall.h +++ b/arch/nios2/include/asm/syscall.h @@ -58,81 +58,25 @@ static inline void syscall_set_return_value(struct task_struct *task,  }  static inline void syscall_get_arguments(struct task_struct *task, -	struct pt_regs *regs, unsigned int i, unsigned int n, -	unsigned long *args) +	struct pt_regs *regs, unsigned long *args)  { -	BUG_ON(i + n > 6); - -	switch (i) { -	case 0: -		if (!n--) -			break; -		*args++ = regs->r4; -	case 1: -		if (!n--) -			break; -		*args++ = regs->r5; -	case 2: -		if (!n--) -			break; -		*args++ = regs->r6; -	case 3: -		if (!n--) -			break; -		*args++ = regs->r7; -	case 4: -		if (!n--) -			break; -		*args++ = regs->r8; -	case 5: -		if (!n--) -			break; -		*args++ = regs->r9; -	case 6: -		if (!n--) -			break; -	default: -		BUG(); -	} +	*args++ = regs->r4; +	*args++ = regs->r5; +	*args++ = regs->r6; +	*args++ = regs->r7; +	*args++ = regs->r8; +	*args   = regs->r9;  }  static inline void syscall_set_arguments(struct task_struct *task, -	struct pt_regs *regs, unsigned int i, unsigned int n, -	const unsigned long *args) +	struct pt_regs *regs, const unsigned long *args)  { -	BUG_ON(i + n > 6); - -	switch (i) { -	case 0: -		if (!n--) -			break; -		regs->r4 = *args++; -	case 1: -		if (!n--) -			break; -		regs->r5 = *args++; -	case 2: -		if (!n--) -			break; -		regs->r6 = *args++; -	case 3: -		if (!n--) -			break; -		regs->r7 = *args++; -	case 4: -		if (!n--) -			break; -		regs->r8 = *args++; -	case 5: -		if (!n--) -			break; -		regs->r9 = *args++; -	case 6: -		if (!n) -			break; -	default: -		BUG(); -	} +	regs->r4 = *args++; +	regs->r5 = *args++; +	regs->r6 = *args++; +	regs->r7 = *args++; +	regs->r8 = *args++; +	regs->r9 = *args;  }  #endif |