1 /* mon960 syscall.h file.  This is used only by the simulator.  This matches
2    the syscall numbers used by mon-syscalls.S, but is otherwise a copy of
3    the libgloss/syscall.h file.  */
4 /* ??? This file should be used by mon-syscalls.S to avoid maintenance
5    problems.  */
6 
7 #ifndef LIBGLOSS_SYSCALL_H
8 #define LIBGLOSS_SYSCALL_H
9 
10 /* Note: This file may be included by assembler source.  */
11 
12 /* These should be as small as possible to allow a port to use a trap type
13    instruction, which the system call # as the trap (the d10v for instance
14    supports traps 0..31).  An alternative would be to define one trap for doing
15    system calls, and put the system call number in a register that is not used
16    for the normal calling sequence (so that you don't have to shift down the
17    arguments to add the system call number).  Obviously, if these system call
18    numbers are ever changed, all of the simulators and potentially user code
19    will need to be updated.  */
20 
21 /* There is no current need for the following: SYS_execv, SYS_creat, SYS_wait,
22    etc. etc.  Don't add them.  */
23 
24 /* These are required by the ANSI C part of newlib (excluding system() of
25    course).  */
26 #define	SYS_exit	257
27 #define	SYS_open	230
28 #define	SYS_close	234
29 #define	SYS_read	231
30 #define	SYS_write	232
31 #define	SYS_lseek	233
32 
33 /* ??? The following system calls apparently aren't support by mon960.  */
34 #define	SYS_unlink	7
35 #define	SYS_getpid	8
36 #define	SYS_kill	9
37 #define SYS_fstat       10
38 /*#define SYS_sbrk	11 - not currently a system call, but reserved.  */
39 
40 /* ARGV support.  */
41 #define SYS_argvlen	12
42 #define SYS_argv	13
43 
44 /* These are extras added for one reason or another.  */
45 #define SYS_chdir	14
46 #define SYS_stat	15
47 #define SYS_chmod 	16
48 #define SYS_utime 	17
49 #define SYS_time 	18
50 
51 #endif
52