📄 entry.s
字号:
/* * linux/arch/m68knommu/kernel/entry.S * * Copyright (C) 1999-2002, Greg Ungerer (gerg@snapgear.com) * Copyright (C) 1998 D. Jeff Dionne <jeff@lineo.ca>, * Kenneth Albanowski <kjahds@kjahds.com>, * Copyright (C) 2000 Lineo Inc. (www.lineo.com) * * Based on: * * linux/arch/m68k/kernel/entry.S * * Copyright (C) 1991, 1992 Linus Torvalds * * This file is subject to the terms and conditions of the GNU General Public * License. See the file README.legal in the main directory of this archive * for more details. * * Linux/m68k support by Hamish Macdonald * * 68060 fixes by Jesper Skov * ColdFire support by Greg Ungerer (gerg@snapgear.com) * 5307 fixes by David W. Miller * linux 2.4 support David McCullough <davidm@snapgear.com> */#include <linux/config.h>#include <linux/sys.h>#include <linux/linkage.h>#include <asm/thread_info.h>#include <asm/errno.h>#include <asm/setup.h>#include <asm/segment.h>#include <asm/asm-offsets.h>#include <asm/entry.h>.text.globl buserr.globl trap.globl ret_from_exception.globl ret_from_signal.globl sys_fork.globl sys_clone.globl sys_vforkENTRY(buserr) SAVE_ALL moveq #-1,%d0 movel %d0,%sp@(PT_ORIG_D0) movel %sp,%sp@- /* stack frame pointer argument */ jsr buserr_c addql #4,%sp jra ret_from_exceptionENTRY(trap) SAVE_ALL moveq #-1,%d0 movel %d0,%sp@(PT_ORIG_D0) movel %sp,%sp@- /* stack frame pointer argument */ jsr trap_c addql #4,%sp jra ret_from_exception#ifdef TRAP_DBG_INTERRUPT.globl dbginterruptENTRY(dbginterrupt) SAVE_ALL moveq #-1,%d0 movel %d0,%sp@(PT_ORIG_D0) movel %sp,%sp@- /* stack frame pointer argument */ jsr dbginterrupt_c addql #4,%sp jra ret_from_exception#endifENTRY(reschedule) /* save top of frame */ pea %sp@ jbsr set_esp0 addql #4,%sp pea ret_from_exception jmp scheduleENTRY(ret_from_fork) movel %d1,%sp@- jsr schedule_tail addql #4,%sp jra ret_from_exceptionENTRY(sys_fork) SAVE_SWITCH_STACK pea %sp@(SWITCH_STACK_SIZE) jbsr m68k_fork addql #4,%sp RESTORE_SWITCH_STACK rtsENTRY(sys_vfork) SAVE_SWITCH_STACK pea %sp@(SWITCH_STACK_SIZE) jbsr m68k_vfork addql #4,%sp RESTORE_SWITCH_STACK rtsENTRY(sys_clone) SAVE_SWITCH_STACK pea %sp@(SWITCH_STACK_SIZE) jbsr m68k_clone addql #4,%sp RESTORE_SWITCH_STACK rtsENTRY(sys_sigsuspend) SAVE_SWITCH_STACK pea %sp@(SWITCH_STACK_SIZE) jbsr do_sigsuspend addql #4,%sp RESTORE_SWITCH_STACK rtsENTRY(sys_rt_sigsuspend) SAVE_SWITCH_STACK pea %sp@(SWITCH_STACK_SIZE) jbsr do_rt_sigsuspend addql #4,%sp RESTORE_SWITCH_STACK rtsENTRY(sys_sigreturn) SAVE_SWITCH_STACK jbsr do_sigreturn RESTORE_SWITCH_STACK rtsENTRY(sys_rt_sigreturn) SAVE_SWITCH_STACK jbsr do_rt_sigreturn RESTORE_SWITCH_STACK rts
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -