Linux Audio

Check our new training course

Loading...
Note: File does not exist in v5.9.
  1/*
  2 *  linux/arch/m68knommu/kernel/entry.S
  3 *
  4 *  Copyright (C) 1999-2002, Greg Ungerer (gerg@snapgear.com)
  5 *  Copyright (C) 1998  D. Jeff Dionne <jeff@lineo.ca>,
  6 *                      Kenneth Albanowski <kjahds@kjahds.com>,
  7 *  Copyright (C) 2000  Lineo Inc. (www.lineo.com) 
  8 *
  9 * Based on:
 10 *
 11 *  linux/arch/m68k/kernel/entry.S
 12 *
 13 *  Copyright (C) 1991, 1992  Linus Torvalds
 14 *
 15 * This file is subject to the terms and conditions of the GNU General Public
 16 * License.  See the file README.legal in the main directory of this archive
 17 * for more details.
 18 *
 19 * Linux/m68k support by Hamish Macdonald
 20 *
 21 * 68060 fixes by Jesper Skov
 22 * ColdFire support by Greg Ungerer (gerg@snapgear.com)
 23 * 5307 fixes by David W. Miller
 24 * linux 2.4 support David McCullough <davidm@snapgear.com>
 25 */
 26
 27#include <linux/linkage.h>
 28#include <asm/errno.h>
 29#include <asm/setup.h>
 30#include <asm/segment.h>
 31#include <asm/asm-offsets.h>
 32#include <asm/entry.h>
 33#include <asm/unistd.h>
 34
 35.text
 36
 37.globl buserr
 38.globl trap
 39.globl ret_from_exception
 40.globl ret_from_signal
 41.globl sys_fork
 42.globl sys_clone
 43.globl sys_vfork
 44
 45ENTRY(buserr)
 46	SAVE_ALL_INT
 47	GET_CURRENT(%d0)
 48	movel	%sp,%sp@- 		/* stack frame pointer argument */
 49	jsr	buserr_c
 50	addql	#4,%sp
 51	jra	ret_from_exception
 52
 53ENTRY(trap)
 54	SAVE_ALL_INT
 55	GET_CURRENT(%d0)
 56	movel	%sp,%sp@- 		/* stack frame pointer argument */
 57	jsr	trap_c
 58	addql	#4,%sp
 59	jra	ret_from_exception
 60
 61#ifdef TRAP_DBG_INTERRUPT
 62
 63.globl dbginterrupt
 64ENTRY(dbginterrupt)
 65	SAVE_ALL_INT
 66	GET_CURRENT(%d0)
 67	movel	%sp,%sp@- 		/* stack frame pointer argument */
 68	jsr	dbginterrupt_c
 69	addql	#4,%sp
 70	jra	ret_from_exception
 71#endif
 72
 73ENTRY(reschedule)
 74	/* save top of frame */
 75	pea	%sp@
 76	jbsr	set_esp0
 77	addql	#4,%sp
 78	pea	ret_from_exception
 79	jmp	schedule
 80
 81ENTRY(ret_from_fork)
 82	movel	%d1,%sp@-
 83	jsr	schedule_tail
 84	addql	#4,%sp
 85	jra	ret_from_exception
 86
 87ENTRY(sys_fork)
 88	SAVE_SWITCH_STACK
 89	pea	%sp@(SWITCH_STACK_SIZE)
 90	jbsr	m68k_fork
 91	addql	#4,%sp
 92	RESTORE_SWITCH_STACK
 93	rts
 94
 95ENTRY(sys_vfork)
 96	SAVE_SWITCH_STACK
 97	pea	%sp@(SWITCH_STACK_SIZE)
 98	jbsr	m68k_vfork
 99	addql	#4,%sp
100	RESTORE_SWITCH_STACK
101	rts
102
103ENTRY(sys_clone)
104	SAVE_SWITCH_STACK
105	pea	%sp@(SWITCH_STACK_SIZE)
106	jbsr	m68k_clone
107	addql	#4,%sp
108	RESTORE_SWITCH_STACK
109	rts
110
111ENTRY(sys_sigreturn)
112	SAVE_SWITCH_STACK
113	jbsr	do_sigreturn
114	RESTORE_SWITCH_STACK
115	rts
116
117ENTRY(sys_rt_sigreturn)
118	SAVE_SWITCH_STACK
119	jbsr	do_rt_sigreturn
120	RESTORE_SWITCH_STACK
121	rts
122
123ENTRY(ret_from_user_signal)
124	moveq #__NR_sigreturn,%d0
125	trap #0
126
127ENTRY(ret_from_user_rt_signal)
128	movel #__NR_rt_sigreturn,%d0
129	trap #0
130