aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mn10300/include/asm/processor.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/mn10300/include/asm/processor.h')
-rw-r--r--arch/mn10300/include/asm/processor.h13
1 files changed, 3 insertions, 10 deletions
diff --git a/arch/mn10300/include/asm/processor.h b/arch/mn10300/include/asm/processor.h
index 247928c9f549..0b844a254067 100644
--- a/arch/mn10300/include/asm/processor.h
+++ b/arch/mn10300/include/asm/processor.h
@@ -119,20 +119,13 @@ struct thread_struct {
119 119
120/* 120/*
121 * do necessary setup to start up a newly executed thread 121 * do necessary setup to start up a newly executed thread
122 * - need to discard the frame stacked by the kernel thread invoking the execve
123 * syscall (see RESTORE_ALL macro)
124 */ 122 */
125static inline void start_thread(struct pt_regs *regs, 123static inline void start_thread(struct pt_regs *regs,
126 unsigned long new_pc, unsigned long new_sp) 124 unsigned long new_pc, unsigned long new_sp)
127{ 125{
128 struct thread_info *ti = current_thread_info(); 126 regs->epsw = EPSW_nSL | EPSW_IE | EPSW_IM;
129 struct pt_regs *frame0; 127 regs->pc = new_pc;
130 128 regs->sp = new_sp;
131 frame0 = thread_info_to_uregs(ti);
132 frame0->epsw = EPSW_nSL | EPSW_IE | EPSW_IM;
133 frame0->pc = new_pc;
134 frame0->sp = new_sp;
135 ti->frame = frame0;
136} 129}
137 130
138 131