2001-12-22 Geoffrey Keating <geoffk@redhat.com> Catherine Moore <clm@redhat.com> Richard Henderson <rth@redhat.com> Corinna Vinschen <vinschen@redhat.com> * configure.host: Add support for xstormy16. * libc/include/machine/ieeefp.h: Add support for xstormy16. * libc/include/machine/setjmp.h: Add support for xstormy16. * libc/include/sys/config.h: Add support for xstormy16. * libc/machine/xstormy16/Makefile.am: New file. * libc/machine/xstormy16/Makefile.in: New file. * libc/machine/xstormy16/aclocal.m4: New file. * libc/machine/xstormy16/configure: New file. * libc/machine/xstormy16/configure.in: New file. * libc/machine/xstormy16/setjmp.S: New file. In libgloss/: 2001-12-22 Geoffrey Keating <geoffk@redhat.com> Mark Salter <msalter@redhat.com> Catherine Moore <clm@redhat.com> Richard Henderson <rth@redhat.com> * configure.in: Add xstormy16. * libnosys/configure.in: Add xstormy16. * configure: Regenerated. * libnosys/configure: Regenerated. * xstormy16/Makefile.in: New file. * xstormy16/close.c: New file. * xstormy16/configure: New file. * xstormy16/configure.in: New file. * xstormy16/crt0.s: New file. * xstormy16/crt0_stub.s: New file. * xstormy16/crti.s: New file. * xstormy16/crtn.s: New file. * xstormy16/eva_app.c: New file. * xstormy16/eva_app.ld: New file. * xstormy16/eva_stub.ld: New file. * xstormy16/fstat.c: New file. * xstormy16/getpid.c: New file. * xstormy16/kill.c: New file. * xstormy16/lseek.c: New file. * xstormy16/open.c: New file. * xstormy16/sbrk.c: New file. * xstormy16/sim_high.ld: New file. * xstormy16/stat.c: New file. * xstormy16/syscalls.S: New file. * xstormy16/syscalls.m4: New file. * xstormy16/unlink.c: New file. * xstormy16/xstormy16_stub.c: New file.
		
			
				
	
	
		
			163 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
			
		
		
	
	
			163 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
| # xstormy16 system calls for the simulator
 | |
| 
 | |
| #include <syscall.h>
 | |
| 
 | |
| 	.text
 | |
| 
 | |
| 	.globl _exit
 | |
| _exit:
 | |
| 	mov r1,#SYS_exit
 | |
| 	.hword 0x0001
 | |
| 	bnz r1,#0,syscall_error
 | |
| 	ret
 | |
| 0:	.size exit,0b-_exit
 | |
| 
 | |
| 	.globl _open
 | |
| _open:
 | |
| 	mov r1,#SYS_open
 | |
| 	.hword 0x0001
 | |
| 	bnz r1,#0,syscall_error
 | |
| 	ret
 | |
| 0:	.size open,0b-_open
 | |
| 
 | |
| 	.globl _close
 | |
| _close:
 | |
| 	mov r1,#SYS_close
 | |
| 	.hword 0x0001
 | |
| 	bnz r1,#0,syscall_error
 | |
| 	ret
 | |
| 0:	.size close,0b-_close
 | |
| 
 | |
| 	.globl _read
 | |
| _read:
 | |
| 	mov r1,#SYS_read
 | |
| 	.hword 0x0001
 | |
| 	bnz r1,#0,syscall_error
 | |
| 	ret
 | |
| 0:	.size read,0b-_read
 | |
| 
 | |
| 	.globl _write
 | |
| _write:
 | |
| 	mov r1,#SYS_write
 | |
| 	.hword 0x0001
 | |
| 	bnz r1,#0,syscall_error
 | |
| 	ret
 | |
| 0:	.size write,0b-_write
 | |
| 
 | |
| 	.globl _lseek
 | |
| _lseek:
 | |
| 	mov r1,#SYS_lseek
 | |
| 	.hword 0x0001
 | |
| 	bnz r1,#0,syscall_error
 | |
| 	ret
 | |
| 0:	.size lseek,0b-_lseek
 | |
| 
 | |
| 	.globl _unlink
 | |
| _unlink:
 | |
| 	mov r1,#SYS_unlink
 | |
| 	.hword 0x0001
 | |
| 	bnz r1,#0,syscall_error
 | |
| 	ret
 | |
| 0:	.size unlink,0b-_unlink
 | |
| 
 | |
| 	.globl _getpid
 | |
| _getpid:
 | |
| 	mov r1,#SYS_getpid
 | |
| 	.hword 0x0001
 | |
| 	bnz r1,#0,syscall_error
 | |
| 	ret
 | |
| 0:	.size getpid,0b-_getpid
 | |
| 
 | |
| 	.globl _kill
 | |
| _kill:
 | |
| 	mov r1,#SYS_kill
 | |
| 	.hword 0x0001
 | |
| 	bnz r1,#0,syscall_error
 | |
| 	ret
 | |
| 0:	.size kill,0b-_kill
 | |
| 
 | |
| 	.globl _fstat
 | |
| _fstat:
 | |
| 	mov r1,#SYS_fstat
 | |
| 	.hword 0x0001
 | |
| 	bnz r1,#0,syscall_error
 | |
| 	ret
 | |
| 0:	.size fstat,0b-_fstat
 | |
| 
 | |
| 	.globl _chdir
 | |
| _chdir:
 | |
| 	mov r1,#SYS_chdir
 | |
| 	.hword 0x0001
 | |
| 	bnz r1,#0,syscall_error
 | |
| 	ret
 | |
| 0:	.size chdir,0b-_chdir
 | |
| 
 | |
| 	.globl _stat
 | |
| _stat:
 | |
| 	mov r1,#SYS_stat
 | |
| 	.hword 0x0001
 | |
| 	bnz r1,#0,syscall_error
 | |
| 	ret
 | |
| 0:	.size stat,0b-_stat
 | |
| 
 | |
| 	.globl _chmod
 | |
| _chmod:
 | |
| 	mov r1,#SYS_chmod
 | |
| 	.hword 0x0001
 | |
| 	bnz r1,#0,syscall_error
 | |
| 	ret
 | |
| 0:	.size chmod,0b-_chmod
 | |
| 
 | |
| 	.globl _utime
 | |
| _utime:
 | |
| 	mov r1,#SYS_utime
 | |
| 	.hword 0x0001
 | |
| 	bnz r1,#0,syscall_error
 | |
| 	ret
 | |
| 0:	.size utime,0b-_utime
 | |
| 
 | |
| 	.globl _time
 | |
| _time:
 | |
| 	mov r1,#SYS_time
 | |
| 	.hword 0x0001
 | |
| 	bnz r1,#0,syscall_error
 | |
| 	ret
 | |
| 0:	.size time,0b-_time
 | |
| 
 | |
| 	.globl _gettimeofday
 | |
| _gettimeofday:
 | |
| 	mov r1,#SYS_gettimeofday
 | |
| 	.hword 0x0001
 | |
| 	bnz r1,#0,syscall_error
 | |
| 	ret
 | |
| 0:	.size gettimeofday,0b-_gettimeofday
 | |
| 
 | |
| 	.globl _times
 | |
| _times:
 | |
| 	mov r1,#SYS_times
 | |
| 	.hword 0x0001
 | |
| 	bnz r1,#0,syscall_error
 | |
| 	ret
 | |
| 0:	.size times,0b-_times
 | |
| 
 | |
| 	.globl _link
 | |
| _link:
 | |
| 	mov r1,#SYS_link
 | |
| 	.hword 0x0001
 | |
| 	bnz r1,#0,syscall_error
 | |
| 	ret
 | |
| 0:	.size link,0b-_link
 | |
| 
 | |
| syscall_error:
 | |
| # Return value for the syscall is in r2.  Save it here, as
 | |
| # _errno will overwrite it with the address of the errno
 | |
| # variable.  r0 is the errno.
 | |
| 	push r2
 | |
| 	push r0
 | |
| 	callf __errno
 | |
| 	pop r0
 | |
| 	mov.w (r2),r0
 | |
| 	pop r2
 | |
| 	ret
 | |
| 0:	.size syscall_error,0b-syscall_error
 |