aboutsummaryrefslogtreecommitdiffstats
path: root/arch/frv/include
diff options
context:
space:
mode:
Diffstat (limited to 'arch/frv/include')
-rw-r--r--arch/frv/include/asm/processor.h9
-rw-r--r--arch/frv/include/asm/ptrace.h1
-rw-r--r--arch/frv/include/asm/thread_info.h3
-rw-r--r--arch/frv/include/asm/unistd.h2
4 files changed, 6 insertions, 9 deletions
diff --git a/arch/frv/include/asm/processor.h b/arch/frv/include/asm/processor.h
index dccb9d162318..a34f309e5801 100644
--- a/arch/frv/include/asm/processor.h
+++ b/arch/frv/include/asm/processor.h
@@ -92,14 +92,12 @@ extern struct task_struct *__kernel_current_task;
92 92
93/* 93/*
94 * do necessary setup to start up a newly executed thread. 94 * do necessary setup to start up a newly executed thread.
95 * - need to discard the frame stacked by init() invoking the execve syscall
96 */ 95 */
97#define start_thread(_regs, _pc, _usp) \ 96#define start_thread(_regs, _pc, _usp) \
98do { \ 97do { \
99 __frame = __kernel_frame0_ptr; \ 98 _regs->pc = (_pc); \
100 __frame->pc = (_pc); \ 99 _regs->psr &= ~PSR_S; \
101 __frame->psr &= ~PSR_S; \ 100 _regs->sp = (_usp); \
102 __frame->sp = (_usp); \
103} while(0) 101} while(0)
104 102
105/* Free all resources held by a thread. */ 103/* Free all resources held by a thread. */
@@ -107,7 +105,6 @@ static inline void release_thread(struct task_struct *dead_task)
107{ 105{
108} 106}
109 107
110extern asmlinkage int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags);
111extern asmlinkage void save_user_regs(struct user_context *target); 108extern asmlinkage void save_user_regs(struct user_context *target);
112extern asmlinkage void *restore_user_regs(const struct user_context *target, ...); 109extern asmlinkage void *restore_user_regs(const struct user_context *target, ...);
113 110
diff --git a/arch/frv/include/asm/ptrace.h b/arch/frv/include/asm/ptrace.h
index ef6635ca4ecb..bd534b2d0258 100644
--- a/arch/frv/include/asm/ptrace.h
+++ b/arch/frv/include/asm/ptrace.h
@@ -76,6 +76,7 @@ register struct pt_regs *__frame asm("gr28");
76#define user_mode(regs) (!((regs)->psr & PSR_S)) 76#define user_mode(regs) (!((regs)->psr & PSR_S))
77#define instruction_pointer(regs) ((regs)->pc) 77#define instruction_pointer(regs) ((regs)->pc)
78#define user_stack_pointer(regs) ((regs)->sp) 78#define user_stack_pointer(regs) ((regs)->sp)
79#define current_pt_regs() (__frame)
79 80
80extern unsigned long user_stack(const struct pt_regs *); 81extern unsigned long user_stack(const struct pt_regs *);
81#define profile_pc(regs) ((regs)->pc) 82#define profile_pc(regs) ((regs)->pc)
diff --git a/arch/frv/include/asm/thread_info.h b/arch/frv/include/asm/thread_info.h
index 0ff03a33c81e..bebd7eadc772 100644
--- a/arch/frv/include/asm/thread_info.h
+++ b/arch/frv/include/asm/thread_info.h
@@ -94,7 +94,6 @@ register struct thread_info *__current_thread_info asm("gr15");
94#define TIF_NEED_RESCHED 3 /* rescheduling necessary */ 94#define TIF_NEED_RESCHED 3 /* rescheduling necessary */
95#define TIF_SINGLESTEP 4 /* restore singlestep on return to user mode */ 95#define TIF_SINGLESTEP 4 /* restore singlestep on return to user mode */
96#define TIF_RESTORE_SIGMASK 5 /* restore signal mask in do_signal() */ 96#define TIF_RESTORE_SIGMASK 5 /* restore signal mask in do_signal() */
97#define TIF_POLLING_NRFLAG 6 /* true if poll_idle() is polling TIF_NEED_RESCHED */
98#define TIF_MEMDIE 7 /* is terminating due to OOM killer */ 97#define TIF_MEMDIE 7 /* is terminating due to OOM killer */
99 98
100#define _TIF_SYSCALL_TRACE (1 << TIF_SYSCALL_TRACE) 99#define _TIF_SYSCALL_TRACE (1 << TIF_SYSCALL_TRACE)
@@ -102,8 +101,6 @@ register struct thread_info *__current_thread_info asm("gr15");
102#define _TIF_SIGPENDING (1 << TIF_SIGPENDING) 101#define _TIF_SIGPENDING (1 << TIF_SIGPENDING)
103#define _TIF_NEED_RESCHED (1 << TIF_NEED_RESCHED) 102#define _TIF_NEED_RESCHED (1 << TIF_NEED_RESCHED)
104#define _TIF_SINGLESTEP (1 << TIF_SINGLESTEP) 103#define _TIF_SINGLESTEP (1 << TIF_SINGLESTEP)
105#define _TIF_RESTORE_SIGMASK (1 << TIF_RESTORE_SIGMASK)
106#define _TIF_POLLING_NRFLAG (1 << TIF_POLLING_NRFLAG)
107 104
108/* work to do on interrupt/exception return */ 105/* work to do on interrupt/exception return */
109#define _TIF_WORK_MASK \ 106#define _TIF_WORK_MASK \
diff --git a/arch/frv/include/asm/unistd.h b/arch/frv/include/asm/unistd.h
index 67f23a311db6..b6b07e55e473 100644
--- a/arch/frv/include/asm/unistd.h
+++ b/arch/frv/include/asm/unistd.h
@@ -372,6 +372,8 @@
372#define __ARCH_WANT_SYS_SIGPROCMASK 372#define __ARCH_WANT_SYS_SIGPROCMASK
373#define __ARCH_WANT_SYS_RT_SIGACTION 373#define __ARCH_WANT_SYS_RT_SIGACTION
374#define __ARCH_WANT_SYS_RT_SIGSUSPEND 374#define __ARCH_WANT_SYS_RT_SIGSUSPEND
375#define __ARCH_WANT_SYS_EXECVE
376#define __ARCH_WANT_KERNEL_EXECVE
375 377
376/* 378/*
377 * "Conditional" syscalls 379 * "Conditional" syscalls