diff options
Diffstat (limited to 'arch/h8300/kernel/entry.S')
-rw-r--r-- | arch/h8300/kernel/entry.S | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/h8300/kernel/entry.S b/arch/h8300/kernel/entry.S index ca7431690300..617a6878787f 100644 --- a/arch/h8300/kernel/entry.S +++ b/arch/h8300/kernel/entry.S | |||
@@ -158,6 +158,7 @@ INTERRUPTS = 128 | |||
158 | .globl SYMBOL_NAME(system_call) | 158 | .globl SYMBOL_NAME(system_call) |
159 | .globl SYMBOL_NAME(ret_from_exception) | 159 | .globl SYMBOL_NAME(ret_from_exception) |
160 | .globl SYMBOL_NAME(ret_from_fork) | 160 | .globl SYMBOL_NAME(ret_from_fork) |
161 | .globl SYMBOL_NAME(ret_from_kernel_thread) | ||
161 | .globl SYMBOL_NAME(ret_from_interrupt) | 162 | .globl SYMBOL_NAME(ret_from_interrupt) |
162 | .globl SYMBOL_NAME(interrupt_redirect_table) | 163 | .globl SYMBOL_NAME(interrupt_redirect_table) |
163 | .globl SYMBOL_NAME(sw_ksp),SYMBOL_NAME(sw_usp) | 164 | .globl SYMBOL_NAME(sw_ksp),SYMBOL_NAME(sw_usp) |
@@ -330,6 +331,14 @@ SYMBOL_NAME_LABEL(ret_from_fork) | |||
330 | jsr @SYMBOL_NAME(schedule_tail) | 331 | jsr @SYMBOL_NAME(schedule_tail) |
331 | jmp @SYMBOL_NAME(ret_from_exception) | 332 | jmp @SYMBOL_NAME(ret_from_exception) |
332 | 333 | ||
334 | SYMBOL_NAME_LABEL(ret_from_kernel_thread) | ||
335 | mov.l er2,er0 | ||
336 | jsr @SYMBOL_NAME(schedule_tail) | ||
337 | mov.l @(LER4:16,sp),er0 | ||
338 | mov.l @(LER5:16,sp),er1 | ||
339 | jsr @er1 | ||
340 | jmp @SYMBOL_NAME(ret_from_exception) | ||
341 | |||
333 | SYMBOL_NAME_LABEL(resume) | 342 | SYMBOL_NAME_LABEL(resume) |
334 | /* | 343 | /* |
335 | * Beware - when entering resume, offset of tss is in d1, | 344 | * Beware - when entering resume, offset of tss is in d1, |