libstubs.s revision 1.1.1.1 1 /*
2 * $NetBSD: libstubs.s,v 1.1.1.1 1996/11/29 23:36:29 is Exp $
3 *
4 *
5 * Copyright (c) 1996 Ignatios Souvatzis
6 * All rights reserved.
7 *
8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions
10 * are met:
11 * 1. Redistributions of source code must retain the above copyright
12 * notice, this list of conditions and the following disclaimer.
13 * 2. Redistributions in binary form must reproduce the above copyright
14 * notice, this list of conditions and the following disclaimer in the
15 * documentation and/or other materials provided with the distribution.
16 * 3. All advertising materials mentioning features or use of this software
17 * must display the following acknowledgement:
18 * This product includes software developed by Ignatios Souvatzis
19 * for the NetBSD project.
20 * 4. The name of the author may not be used to endorse or promote products
21 * derived from this software without specific prior written permission
22 *
23 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
24 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
25 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
26 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
27 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
28 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
29 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
30 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
31 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
32 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33 *
34 */
35
36 /*
37 * Exec.library functions.
38 */
39 .comm _SysBase,4
40
41 .globl _OpenLibrary
42 _OpenLibrary:
43 movl a6,sp@-
44 movl pc@(_SysBase:w),a6
45 movl sp@(8),a1
46 movl sp@(12),d0
47 jsr a6@(-0x228)
48 movl sp@+,a6
49 rts
50 #ifdef notyet
51 .globl _CloseLibrary
52 _CloseLibrary:
53 movl a6,sp@-
54 movl pc@(_SysBase:w),a6
55 movl sp@(8),a1
56 jsr a6@(-0x19e)
57 movl sp@+,a6
58 rts
59 #endif
60 .globl _CreateIORequest
61 _CreateIORequest:
62 movl a6,sp@-
63 movl pc@(_SysBase:w),a6
64 movl sp@(8),a0
65 movl sp@(12),d0
66 jsr a6@(-0x28e)
67 movl sp@+,a6
68 rts
69
70 .globl _CreateMsgPort
71 _CreateMsgPort:
72 movl a6,sp@-
73 movl pc@(_SysBase:w),a6
74 jsr a6@(-0x29a)
75 movl sp@+,a6
76 rts
77
78 #ifdef notyet
79 .globl _DeleteMsgPort
80 _DeleteMsgPort:
81 movl a6,sp@-
82 movl pc@(_SysBase:w),a6
83 movl sp@(8),a0
84 jsr a6@(-0x2a0)
85 movl sp@+,a6
86 rts
87
88 .globl _DeleteIORequest
89 _DeleteIORequest:
90 movl a6,sp@-
91 movl pc@(_SysBase:w),a6
92 movl sp@(8),a0
93 jsr a6@(-0x294)
94 movl sp@+,a6
95 rts
96 #endif
97
98 .globl _OpenDevice
99 _OpenDevice:
100 movl a6,sp@-
101 movl pc@(_SysBase:w),a6
102 movl sp@(8),a0
103 movl sp@(12),d0
104 movl sp@(16),a1
105 movl sp@(20),d1
106 jsr a6@(-0x1bc)
107 movl sp@+,a6
108 rts
109
110 .globl _DoIO
111 _DoIO:
112 movl a6,sp@-
113 movl pc@(_SysBase:w),a6
114 movl sp@(8),a1
115 jsr a6@(-0x1c8)
116 movl sp@+,a6
117 rts
118 #ifdef nomore
119 .globl _CheckIO
120 _CheckIO:
121 movl a6,sp@-
122 movl pc@(_SysBase:w),a6
123 movl sp@(8),a1
124 jsr a6@(-0x1d4)
125 movl sp@+,a6
126 rts
127 #endif
128 .globl _WaitIO
129 _WaitIO:
130 movl a6,sp@-
131 movl pc@(_SysBase:w),a6
132 movl sp@(8),a1
133 jsr a6@(-0x1da)
134 movl sp@+,a6
135 rts
136
137 .globl _SendIO
138 _SendIO:
139 movl a6,sp@-
140 movl pc@(_SysBase:w),a6
141 movl sp@(8),a1
142 jsr a6@(-0x1ce)
143 movl sp@+,a6
144 rts
145
146 .globl _AbortIO
147 _AbortIO:
148 movl a6,sp@-
149 movl pc@(_SysBase:w),a6
150 movl sp@(8),a1
151 jsr a6@(-0x1e0)
152 movl sp@+,a6
153 rts
154
155 .globl _WaitPort
156 _WaitPort:
157 movl a6,sp@-
158 movl pc@(_SysBase:w),a6
159 movl sp@(8),a0
160 jsr a6@(-0x180)
161 movl sp@+,a6
162 rts
163
164 #ifndef DOINLINES
165 .globl _CacheClearU
166 _CacheClearU:
167 movl a6,sp@-
168 movl pc@(_SysBase:w),a6
169 jsr a6@(-0x27c)
170 movl sp@+,a6
171 rts
172 #endif
173 .globl _CachePreDMA
174 _CachePreDMA:
175 movl a6,sp@-
176 movl pc@(_SysBase:w),a6
177 movl sp@(8),a0
178 movl sp@(12),a1
179 movl sp@(16),d0
180 jsr a6@(-0x2fa)
181 movl sp@+,a6
182 rts
183
184 .globl _FindResident
185 _FindResident:
186 movl a6,sp@-
187 movl pc@(_SysBase:w),a6
188 movl sp@(8),a1
189 jsr a6@(-0x60)
190 movl sp@+,a6
191 rts
192
193 .globl _OpenResource
194 _OpenResource:
195 movl a6,sp@-
196 movl pc@(_SysBase:w),a6
197 movl sp@(8),a1
198 jsr a6@(-0x1f2)
199 movl sp@+,a6
200 rts
201 #ifdef notyet
202 .globl _Forbid
203 _Forbid:
204 movl a6,sp@-
205 movl pc@(_SysBase:W),a6
206 jsr a6@(-0x84)
207 movl sp@+,a6
208 rts
209
210 .globl _Permit
211 _Permit:
212 movl a6,sp@-
213 movl pc@(_SysBase:W),a6
214 jsr a6@(-0x8a)
215 movl sp@+,a6
216 rts
217 #endif
218
219 /*
220 * Intuition.library functions.
221 */
222
223 .comm _IntuitionBase,4
224
225 .globl _OpenScreenTagList
226 _OpenScreenTagList:
227 movl a6,sp@-
228 movl pc@(_IntuitionBase:w),a6
229 movl sp@(8),a0
230 movl sp@(12),a1
231 jsr a6@(-0x264)
232 movl sp@+,a6
233 rts
234
235 .globl _OpenWindowTagList
236 _OpenWindowTagList:
237 movl a6,sp@-
238 movl pc@(_IntuitionBase:w),a6
239 movl sp@(8),a0
240 movl sp@(12),a1
241 jsr a6@(-0x25e)
242 movl sp@+,a6
243 rts
244 #ifdef nomore
245 .globl _mytime
246 _mytime:
247 movl a6,sp@-
248 movl pc@(_IntuitionBase:w),a6
249 subql #8,sp
250 movl sp,a0
251 lea sp@(4),a1
252 jsr a6@(-0x54)
253 movl sp@+,d0
254 addql #4,sp
255 movl sp@+,a6
256 rts
257 #endif
258 .comm _ExpansionBase,4
259 .globl _FindConfigDev
260 _FindConfigDev:
261 movl a6,sp@-
262 movl _ExpansionBase,a6
263 movl sp@(8),a0
264 movl sp@(12),d0
265 movl sp@(16),d1
266 jsr a6@(-0x48)
267 movl sp@+,a6
268 rts
269