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