syscall.h 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. /* Copyright (c) 2017 SiFive Inc. All rights reserved.
  2. This copyrighted material is made available to anyone wishing to use,
  3. modify, copy, or redistribute it subject to the terms and conditions
  4. of the FreeBSD License. This program is distributed in the hope that
  5. it will be useful, but WITHOUT ANY WARRANTY expressed or implied,
  6. including the implied warranties of MERCHANTABILITY or FITNESS FOR
  7. A PARTICULAR PURPOSE. A copy of this license is available at
  8. http://www.opensource.org/licenses.
  9. */
  10. #ifndef _MACHINE_SYSCALL_H
  11. #define _MACHINE_SYSCALL_H
  12. #define SYS_getcwd 17
  13. #define SYS_dup 23
  14. #define SYS_fcntl 25
  15. #define SYS_faccessat 48
  16. #define SYS_chdir 49
  17. #define SYS_openat 56
  18. #define SYS_close 57
  19. #define SYS_getdents 61
  20. #define SYS_lseek 62
  21. #define SYS_read 63
  22. #define SYS_write 64
  23. #define SYS_writev 66
  24. #define SYS_pread 67
  25. #define SYS_pwrite 68
  26. #define SYS_fstatat 79
  27. #define SYS_fstat 80
  28. #define SYS_exit 93
  29. #define SYS_exit_group 94
  30. #define SYS_kill 129
  31. #define SYS_rt_sigaction 134
  32. #define SYS_times 153
  33. #define SYS_uname 160
  34. #define SYS_gettimeofday 169
  35. #define SYS_getpid 172
  36. #define SYS_getuid 174
  37. #define SYS_geteuid 175
  38. #define SYS_getgid 176
  39. #define SYS_getegid 177
  40. #define SYS_brk 214
  41. #define SYS_munmap 215
  42. #define SYS_mremap 216
  43. #define SYS_mmap 222
  44. #define SYS_open 1024
  45. #define SYS_link 1025
  46. #define SYS_unlink 1026
  47. #define SYS_mkdir 1030
  48. #define SYS_access 1033
  49. #define SYS_stat 1038
  50. #define SYS_lstat 1039
  51. #define SYS_time 1062
  52. #define SYS_getmainvars 2011
  53. /* Semihosting operations. */
  54. #define SEMIHOST_clock 0x10
  55. #define SEMIHOST_close 0x02
  56. #define SEMIHOST_elapsed 0x30
  57. #define SEMIHOST_errno 0x13
  58. #define SEMIHOST_exit 0x18
  59. #define SEMIHOST_exit_extended 0x20
  60. #define SEMIHOST_flen 0x0C
  61. #define SEMIHOST_get_cmdline 0x15
  62. #define SEMIHOST_heapinfo 0x16
  63. #define SEMIHOST_iserror 0x08
  64. #define SEMIHOST_istty 0x09
  65. #define SEMIHOST_open 0x01
  66. #define SEMIHOST_read 0x06
  67. #define SEMIHOST_readc 0x07
  68. #define SEMIHOST_remove 0x0E
  69. #define SEMIHOST_rename 0x0F
  70. #define SEMIHOST_seek 0x0A
  71. #define SEMIHOST_system 0x12
  72. #define SEMIHOST_tickfreq 0x31
  73. #define SEMIHOST_time 0x11
  74. #define SEMIHOST_tmpnam 0x0D
  75. #define SEMIHOST_write 0x05
  76. #define SEMIHOST_writec 0x03
  77. #define SEMIHOST_write0 0x04
  78. #endif