Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
awilliam
GitHub Repository: awilliam/linux-vfio
Path: blob/master/arch/m68k/kernel/entry_no.S
10818 views
1
/*
2
* linux/arch/m68knommu/kernel/entry.S
3
*
4
* Copyright (C) 1999-2002, Greg Ungerer ([email protected])
5
* Copyright (C) 1998 D. Jeff Dionne <[email protected]>,
6
* Kenneth Albanowski <[email protected]>,
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 ([email protected])
23
* 5307 fixes by David W. Miller
24
* linux 2.4 support David McCullough <[email protected]>
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
45
ENTRY(buserr)
46
SAVE_ALL
47
moveq #-1,%d0
48
movel %d0,%sp@(PT_OFF_ORIG_D0)
49
movel %sp,%sp@- /* stack frame pointer argument */
50
jsr buserr_c
51
addql #4,%sp
52
jra ret_from_exception
53
54
ENTRY(trap)
55
SAVE_ALL
56
moveq #-1,%d0
57
movel %d0,%sp@(PT_OFF_ORIG_D0)
58
movel %sp,%sp@- /* stack frame pointer argument */
59
jsr trap_c
60
addql #4,%sp
61
jra ret_from_exception
62
63
#ifdef TRAP_DBG_INTERRUPT
64
65
.globl dbginterrupt
66
ENTRY(dbginterrupt)
67
SAVE_ALL
68
moveq #-1,%d0
69
movel %d0,%sp@(PT_OFF_ORIG_D0)
70
movel %sp,%sp@- /* stack frame pointer argument */
71
jsr dbginterrupt_c
72
addql #4,%sp
73
jra ret_from_exception
74
#endif
75
76
ENTRY(reschedule)
77
/* save top of frame */
78
pea %sp@
79
jbsr set_esp0
80
addql #4,%sp
81
pea ret_from_exception
82
jmp schedule
83
84
ENTRY(ret_from_fork)
85
movel %d1,%sp@-
86
jsr schedule_tail
87
addql #4,%sp
88
jra ret_from_exception
89
90
ENTRY(sys_fork)
91
SAVE_SWITCH_STACK
92
pea %sp@(SWITCH_STACK_SIZE)
93
jbsr m68k_fork
94
addql #4,%sp
95
RESTORE_SWITCH_STACK
96
rts
97
98
ENTRY(sys_vfork)
99
SAVE_SWITCH_STACK
100
pea %sp@(SWITCH_STACK_SIZE)
101
jbsr m68k_vfork
102
addql #4,%sp
103
RESTORE_SWITCH_STACK
104
rts
105
106
ENTRY(sys_clone)
107
SAVE_SWITCH_STACK
108
pea %sp@(SWITCH_STACK_SIZE)
109
jbsr m68k_clone
110
addql #4,%sp
111
RESTORE_SWITCH_STACK
112
rts
113
114
ENTRY(sys_sigreturn)
115
SAVE_SWITCH_STACK
116
jbsr do_sigreturn
117
RESTORE_SWITCH_STACK
118
rts
119
120
ENTRY(sys_rt_sigreturn)
121
SAVE_SWITCH_STACK
122
jbsr do_rt_sigreturn
123
RESTORE_SWITCH_STACK
124
rts
125
126
ENTRY(ret_from_user_signal)
127
moveq #__NR_sigreturn,%d0
128
trap #0
129
130
ENTRY(ret_from_user_rt_signal)
131
movel #__NR_rt_sigreturn,%d0
132
trap #0
133
134
135