~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/xtensa/platforms/iss/include/platform/simcall-iss.h

Version: ~ [ linux-5.15-rc5 ] ~ [ linux-5.14.11 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.72 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.152 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.210 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.250 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.286 ] ~ [ linux-4.8.17 ] ~ [ linux-4.7.10 ] ~ [ linux-4.6.7 ] ~ [ linux-4.5.7 ] ~ [ linux-4.4.288 ] ~ [ linux-4.3.6 ] ~ [ linux-4.2.8 ] ~ [ linux-4.1.52 ] ~ [ linux-4.0.9 ] ~ [ linux-3.18.140 ] ~ [ linux-3.16.85 ] ~ [ linux-3.14.79 ] ~ [ linux-3.12.74 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.5 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /* SPDX-License-Identifier: GPL-2.0 */
  2 /* Copyright (C) 2021 Cadence Design Systems Inc. */
  3 
  4 #ifndef _XTENSA_PLATFORM_ISS_SIMCALL_ISS_H
  5 #define _XTENSA_PLATFORM_ISS_SIMCALL_ISS_H
  6 
  7 /*
  8  *  System call like services offered by the simulator host.
  9  */
 10 
 11 #define SYS_nop         0       /* unused */
 12 #define SYS_exit        1       /*x*/
 13 #define SYS_fork        2
 14 #define SYS_read        3       /*x*/
 15 #define SYS_write       4       /*x*/
 16 #define SYS_open        5       /*x*/
 17 #define SYS_close       6       /*x*/
 18 #define SYS_rename      7       /*x 38 - waitpid */
 19 #define SYS_creat       8       /*x*/
 20 #define SYS_link        9       /*x (not implemented on WIN32) */
 21 #define SYS_unlink      10      /*x*/
 22 #define SYS_execv       11      /* n/a - execve */
 23 #define SYS_execve      12      /* 11 - chdir */
 24 #define SYS_pipe        13      /* 42 - time */
 25 #define SYS_stat        14      /* 106 - mknod */
 26 #define SYS_chmod       15
 27 #define SYS_chown       16      /* 202 - lchown */
 28 #define SYS_utime       17      /* 30 - break */
 29 #define SYS_wait        18      /* n/a - oldstat */
 30 #define SYS_lseek       19      /*x*/
 31 #define SYS_getpid      20
 32 #define SYS_isatty      21      /* n/a - mount */
 33 #define SYS_fstat       22      /* 108 - oldumount */
 34 #define SYS_time        23      /* 13 - setuid */
 35 #define SYS_gettimeofday 24     /*x 78 - getuid (not implemented on WIN32) */
 36 #define SYS_times       25      /*X 43 - stime (Xtensa-specific implementation) */
 37 #define SYS_socket      26
 38 #define SYS_sendto      27
 39 #define SYS_recvfrom    28
 40 #define SYS_select_one  29      /* not compatible select, one file descriptor at the time */
 41 #define SYS_bind        30
 42 #define SYS_ioctl       31
 43 
 44 #define SYS_iss_argc    1000    /* returns value of argc */
 45 #define SYS_iss_argv_size 1001  /* bytes needed for argv & arg strings */
 46 #define SYS_iss_set_argv 1002   /* saves argv & arg strings at given addr */
 47 
 48 /*
 49  * SYS_select_one specifiers
 50  */
 51 
 52 #define  XTISS_SELECT_ONE_READ    1
 53 #define  XTISS_SELECT_ONE_WRITE   2
 54 #define  XTISS_SELECT_ONE_EXCEPT  3
 55 
 56 static int errno;
 57 
 58 static inline int __simc(int a, int b, int c, int d)
 59 {
 60         register int a1 asm("a2") = a;
 61         register int b1 asm("a3") = b;
 62         register int c1 asm("a4") = c;
 63         register int d1 asm("a5") = d;
 64         __asm__ __volatile__ (
 65                         "simcall\n"
 66                         : "+r"(a1), "+r"(b1)
 67                         : "r"(c1), "r"(d1)
 68                         : "memory");
 69         errno = b1;
 70         return a1;
 71 }
 72 
 73 #endif /* _XTENSA_PLATFORM_ISS_SIMCALL_ISS_H */
 74 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | Wiki (Japanese) | Wiki (English) | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

osdn.jp