1 /* $NetBSD: riscoscalls.S,v 1.3 2005/12/11 12:16:05 christos Exp $ */
4 * Copyright (c) 2001 Ben Harris
5 * Copyright (c) 2002 Reinoud Zandijk
8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions
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. The name of the author may not be used to endorse or promote products
17 * derived from this software without specific prior written permission.
19 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
20 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
21 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
22 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
23 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
24 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
28 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 #include <machine/asm.h>
32 #include <riscoscalls.h>
36 stmfd sp!, {fp, ip, lr, pc}
39 ldmdb fp, {fp, sp, pc}
43 stmfd sp!, {fp, ip, lr, pc}
46 ldmdb fp, {fp, sp, pc}
50 stmfd sp!, {fp, ip, lr, pc}
53 ldmdb fp, {fp, sp, pc}
57 stmfd sp!, {fp, ip, lr, pc}
60 ldmdb fp, {fp, sp, pc}
64 stmfd sp!, {fp, ip, lr, pc}
68 ldmdb fp, {fp, sp, pc}
72 stmfd sp!, {fp, ip, lr, pc}
80 ldmdb fp, {fp, sp, pc}
84 stmfd sp!, {fp, ip, lr, pc}
87 ldmdb fp, {fp, sp, pc}
91 stmfd sp!, {fp, ip, lr, pc}
95 ldmvsdb fp, {fp, sp, pc}
99 ldmdb fp, {fp, sp, pc}
103 stmfd sp!, {fp, ip, lr, pc}
107 ldmdb fp, {fp, sp, pc}
111 stmfd sp!, {r4, fp, ip, lr, pc}
117 mov r0, #OSGBPB_Write
122 ldmdb fp, {r4, fp, sp, pc}
126 stmfd sp!, {r4, fp, ip, lr, pc}
137 ldmdb fp, {r4, fp, sp, pc}
141 stmfd sp!, {fp, ip, lr, pc}
144 mov r0, #OSFind_Close
147 ldmdb fp, {fp, sp, pc}
151 stmfd sp!, {fp, ip, lr, pc}
154 ldmvsdb fp, {fp, sp, pc}
158 ldmdb fp, {fp, sp, pc}
162 stmfd sp!, {r4, fp, ip, lr, pc}
171 ldmdb fp, {r4, fp, sp, pc}
175 stmfd sp!, {fp, ip, lr, pc}
180 ldmdb fp, {fp, sp, pc}
186 stmfd sp!, {fp, ip, lr, pc}
189 ldmdb fp, {fp, sp, pc}
193 stmfd sp!, {fp, ip, lr, pc}
196 ldmdb fp, {fp, sp, pc}
198 ENTRY(xosfscontrol_shutdown)
200 stmfd sp!, {fp, ip, lr, pc}
202 mov r0, #OSFSControl_Shutdown
205 ldmdb fp, {fp, sp, pc}
207 ENTRY(service_pre_reset)
209 stmfd sp!, {fp, ip, lr, pc}
211 mov r1, #Service_PreReset
213 ldmdb fp, {fp, sp, pc}
215 ENTRY(os_read_vdu_variables)
217 stmfd sp!, {fp, ip, lr, pc}
219 swi OS_ReadVduVariables
220 ldmdb fp, {fp, sp, pc}
222 ENTRY(xos_swi_number_from_string)
224 stmfd sp!, {fp, ip, lr, pc}
228 swi XOS_SWINumberFromString
229 ldmvsdb fp, {fp, sp, pc}
232 ldmdb fp, {fp, sp, pc}
234 ENTRY(os_read_mem_map_info)
236 stmfd sp!, {fp, ip, lr, pc}
240 swi OS_ReadMemMapInfo
245 ldmdb fp, {fp, sp, pc}
247 ENTRY(os_readsysinfo)
249 stmfd sp!, {r4-r9, fp, ip, lr, pc}
269 ldmdb fp, {r4-r9, fp, sp, pc}
271 ENTRY(os_read_mem_map_entries)
273 stmfd sp!, {fp, ip, lr, pc}
275 swi OS_ReadMemMapEntries
276 ldmdb fp, {fp, sp, pc}
278 ENTRY(osmemory_read_arrangement_table_size)
280 stmfd sp!, {r4, fp, ip, lr, pc}
284 mov r0, #OSMemory_ReadArrangementTableSize
290 ldmdb fp, {r4, fp, sp, pc}
292 ENTRY(osmemory_read_arrangement_table)
294 stmfd sp!, {fp, ip, lr, pc}
297 mov r0, #OSMemory_ReadArrangementTable
299 ldmdb fp, {fp, sp, pc}
301 ENTRY(osmemory_page_op)
303 stmfd sp!, {fp, ip, lr, pc}
305 add r0, r0, #OSMemory_PageOp
307 ldmdb fp, {fp, sp, pc}
309 ENTRY(xcache_control)
311 stmfd sp!, {fp, ip, lr, pc}
314 ldmvsdb fp, {fp, sp, pc}
318 ldmdb fp, {fp, sp, pc}