diff options
author | Jonathan Larmour <jifl@eCosCentric.com> | 2002-04-29 21:51:25 +0000 |
---|---|---|
committer | Jonathan Larmour <jifl@eCosCentric.com> | 2002-04-29 21:51:25 +0000 |
commit | 6990dc5f3b4f0a7765ef1995f02d8a51264277f6 (patch) | |
tree | 20089e3f07fb21b3cf7f285633b933e73a12d156 /libgloss/arm/syscall.h | |
parent | 822afa537ae4e03136d6262269ee460912ddabb1 (diff) | |
download | cygnal-6990dc5f3b4f0a7765ef1995f02d8a51264277f6.tar.gz cygnal-6990dc5f3b4f0a7765ef1995f02d8a51264277f6.tar.bz2 cygnal-6990dc5f3b4f0a7765ef1995f02d8a51264277f6.zip |
* arm/syscall.h: New file. To define extra syscall values for RedBoot.
* arm/redboot-syscalls.c (_close): Fix setting of errno value.
(_lseek): Ditto.
(_open): Ditto.
(_write): Ditto.
(_read): Ditto.
(_rename): New function.
(_system): Ditto.
(_stat): Ditto.
(_unlink): Call a syscall for this now.
(isatty): Ditto.
(_fstat): Ditto.
(_gettimeofday): Ditto.
Diffstat (limited to 'libgloss/arm/syscall.h')
-rw-r--r-- | libgloss/arm/syscall.h | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/libgloss/arm/syscall.h b/libgloss/arm/syscall.h new file mode 100644 index 000000000..759801f4f --- /dev/null +++ b/libgloss/arm/syscall.h @@ -0,0 +1,54 @@ +/* General use syscall.h file. + The more ports that use this file, the simpler sim/common/nltvals.def + remains. */ + +#ifndef LIBGLOSS_SYSCALL_H +#define LIBGLOSS_SYSCALL_H + +/* Note: This file may be included by assembler source. */ + +/* These should be as small as possible to allow a port to use a trap type + instruction, which the system call # as the trap (the d10v for instance + supports traps 0..31). An alternative would be to define one trap for doing + system calls, and put the system call number in a register that is not used + for the normal calling sequence (so that you don't have to shift down the + arguments to add the system call number). Obviously, if these system call + numbers are ever changed, all of the simulators and potentially user code + will need to be updated. */ + +/* There is no current need for the following: SYS_execv, SYS_creat, SYS_wait, + etc. etc. Don't add them. */ + +/* These are required by the ANSI C part of newlib (excluding system() of + course). */ +#define SYS_exit 1 +#define SYS_open 2 +#define SYS_close 3 +#define SYS_read 4 +#define SYS_write 5 +#define SYS_lseek 6 +#define SYS_unlink 7 +#define SYS_getpid 8 +#define SYS_kill 9 +#define SYS_fstat 10 +/*#define SYS_sbrk 11 - not currently a system call, but reserved. */ + +/* ARGV support. */ +#define SYS_argvlen 12 +#define SYS_argv 13 + +/* These are extras added for one reason or another. */ +#define SYS_chdir 14 +#define SYS_stat 15 +#define SYS_chmod 16 +#define SYS_utime 17 +#define SYS_time 18 +#define SYS_gettimeofday 19 +#define SYS_times 20 +#define SYS_link 21 +/* These are additional syscalls in RedBoot. */ +#define SYS_rename 3001 +#define SYS_isatty 3002 +#define SYS_system 3003 + +#endif |