Home | History | Annotate | Line # | Download | only in common
romcalls.S revision 1.3
      1  1.3  tsutsui /*	$NetBSD: romcalls.S,v 1.3 2002/04/13 02:43:44 tsutsui Exp $	*/
      2  1.1   tsubai 
      3  1.1   tsubai /*-
      4  1.1   tsubai  * Copyright (C) 1999 Tsubai Masanari.  All rights reserved.
      5  1.1   tsubai  *
      6  1.1   tsubai  * Redistribution and use in source and binary forms, with or without
      7  1.1   tsubai  * modification, are permitted provided that the following conditions
      8  1.1   tsubai  * are met:
      9  1.1   tsubai  * 1. Redistributions of source code must retain the above copyright
     10  1.1   tsubai  *    notice, this list of conditions and the following disclaimer.
     11  1.1   tsubai  * 2. Redistributions in binary form must reproduce the above copyright
     12  1.1   tsubai  *    notice, this list of conditions and the following disclaimer in the
     13  1.1   tsubai  *    documentation and/or other materials provided with the distribution.
     14  1.1   tsubai  * 3. The name of the author may not be used to endorse or promote products
     15  1.1   tsubai  *    derived from this software without specific prior written permission.
     16  1.1   tsubai  *
     17  1.1   tsubai  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
     18  1.1   tsubai  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
     19  1.1   tsubai  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
     20  1.1   tsubai  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
     21  1.1   tsubai  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
     22  1.1   tsubai  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
     23  1.1   tsubai  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
     24  1.1   tsubai  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
     25  1.1   tsubai  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
     26  1.1   tsubai  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     27  1.1   tsubai  */
     28  1.1   tsubai 
     29  1.1   tsubai #include <mips/asm.h>
     30  1.1   tsubai #include <mips/cpuregs.h>
     31  1.1   tsubai #include <machine/romcall.h>
     32  1.1   tsubai 
     33  1.1   tsubai 	.text
     34  1.1   tsubai 	.align	2
     35  1.1   tsubai 	.set	noreorder
     36  1.1   tsubai 
     37  1.3  tsutsui 	.globl	rom_halt
     38  1.3  tsutsui rom_halt:
     39  1.1   tsubai 	addu	sp, sp, -16
     40  1.1   tsubai 	li	a0, 8		# RB_HALT
     41  1.1   tsubai 	sw	a0, 0(sp)
     42  1.1   tsubai 	li	a0, SYS_reboot
     43  1.1   tsubai 	move	a1, sp
     44  1.1   tsubai 	syscall
     45  1.1   tsubai 	nop
     46  1.1   tsubai 
     47  1.1   tsubai 	.globl	rom_open
     48  1.1   tsubai rom_open:
     49  1.1   tsubai 	addu	sp, sp, -32
     50  1.1   tsubai 	sw	ra, 28(sp)
     51  1.1   tsubai 
     52  1.1   tsubai 	sw	a0, 16(sp)
     53  1.1   tsubai 	sw	a1, 20(sp)
     54  1.1   tsubai 
     55  1.1   tsubai 	li	a0, SYS_open
     56  1.1   tsubai 	addu	a1, sp, 16
     57  1.1   tsubai 	syscall
     58  1.1   tsubai 	nop
     59  1.1   tsubai 
     60  1.1   tsubai 	lw	ra, 28(sp)
     61  1.1   tsubai 	addu	sp, sp, 32
     62  1.1   tsubai 	j	ra
     63  1.1   tsubai 	nop
     64  1.1   tsubai 
     65  1.1   tsubai 	.globl	rom_close
     66  1.1   tsubai rom_close:
     67  1.1   tsubai 	addu	sp, sp, -32
     68  1.1   tsubai 	sw	ra, 28(sp)
     69  1.1   tsubai 
     70  1.1   tsubai 	sw	a0, 16(sp)
     71  1.1   tsubai 
     72  1.1   tsubai 	li	a0, SYS_close
     73  1.1   tsubai 	addu	a1, sp, 16
     74  1.1   tsubai 	syscall
     75  1.1   tsubai 	nop
     76  1.1   tsubai 
     77  1.1   tsubai 	lw	ra, 28(sp)
     78  1.1   tsubai 	addu	sp, sp, 32
     79  1.1   tsubai 	j	ra
     80  1.1   tsubai 	nop
     81  1.1   tsubai 
     82  1.1   tsubai 	.globl	rom_read
     83  1.1   tsubai rom_read:
     84  1.1   tsubai 	addu	sp, sp, -32
     85  1.1   tsubai 	sw	ra, 28(sp)
     86  1.1   tsubai 
     87  1.1   tsubai 	sw	a0, 16(sp)
     88  1.1   tsubai 	sw	a1, 20(sp)
     89  1.1   tsubai 	sw	a2, 24(sp)
     90  1.1   tsubai 
     91  1.1   tsubai 	li	a0, SYS_read
     92  1.1   tsubai 	addu	a1, sp, 16
     93  1.1   tsubai 	syscall
     94  1.1   tsubai 	nop
     95  1.1   tsubai 
     96  1.1   tsubai 	lw	ra, 28(sp)
     97  1.1   tsubai 	addu	sp, sp, 32
     98  1.1   tsubai 	j	ra
     99  1.1   tsubai 	nop
    100  1.1   tsubai 
    101  1.1   tsubai 	.globl	rom_write
    102  1.1   tsubai rom_write:
    103  1.1   tsubai 	addu	sp, sp, -32
    104  1.1   tsubai 	sw	ra, 28(sp)
    105  1.1   tsubai 
    106  1.1   tsubai 	sw	a0, 16(sp)
    107  1.1   tsubai 	sw	a1, 20(sp)
    108  1.1   tsubai 	sw	a2, 24(sp)
    109  1.1   tsubai 
    110  1.1   tsubai 	li	a0, SYS_write
    111  1.1   tsubai 	addu	a1, sp, 16
    112  1.1   tsubai 	syscall
    113  1.1   tsubai 	nop
    114  1.1   tsubai 
    115  1.1   tsubai 	lw	ra, 28(sp)
    116  1.1   tsubai 	addu	sp, sp, 32
    117  1.1   tsubai 	j	ra
    118  1.1   tsubai 	nop
    119  1.1   tsubai 
    120  1.1   tsubai 
    121  1.1   tsubai 	.globl	rom_lseek
    122  1.1   tsubai rom_lseek:
    123  1.1   tsubai 	addu	sp, sp, -32
    124  1.1   tsubai 	sw	ra, 28(sp)
    125  1.1   tsubai 
    126  1.1   tsubai 	sw	a0, 16(sp)
    127  1.1   tsubai 	sw	a1, 20(sp)
    128  1.1   tsubai 	sw	a2, 24(sp)
    129  1.1   tsubai 
    130  1.1   tsubai 	li	a0, SYS_lseek
    131  1.1   tsubai 	addu	a1, sp, 16
    132  1.1   tsubai 	syscall
    133  1.1   tsubai 	nop
    134  1.1   tsubai 
    135  1.1   tsubai 	lw	ra, 28(sp)
    136  1.1   tsubai 	addu	sp, sp, 32
    137  1.1   tsubai 	j	ra
    138  1.1   tsubai 	nop
    139