The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/mach/syscall_sw.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /* 
    2  * Mach Operating System
    3  * Copyright (c) 1993-1987 Carnegie Mellon University
    4  * All Rights Reserved.
    5  * 
    6  * Permission to use, copy, modify and distribute this software and its
    7  * documentation is hereby granted, provided that both the copyright
    8  * notice and this permission notice appear in all copies of the
    9  * software, derivative works or modified versions, and any portions
   10  * thereof, and that both notices appear in supporting documentation.
   11  * 
   12  * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
   13  * CONDITION.  CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
   14  * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
   15  * 
   16  * Carnegie Mellon requests users of this software to return to
   17  * 
   18  *  Software Distribution Coordinator  or  Software.Distribution@CS.CMU.EDU
   19  *  School of Computer Science
   20  *  Carnegie Mellon University
   21  *  Pittsburgh PA 15213-3890
   22  * 
   23  * any improvements or extensions that they make and grant Carnegie Mellon
   24  * the rights to redistribute these changes.
   25  */
   26 /*
   27  * HISTORY
   28  * $Log:        syscall_sw.h,v $
   29  * Revision 2.14  93/11/17  17:47:23  dbg
   30  *      Added traps for new timers and real-time threads.
   31  *      [93/07/13            dbg]
   32  * 
   33  * Revision 2.13  93/08/10  15:12:27  mrt
   34  *      Moved device_write traps to avoid conflict with atm traps.
   35  *      [93/07/03            cmaeda]
   36  * 
   37  *      Included traps for network interface.
   38  *      [93/06/09  15:45:40  jcb]
   39  *      Added device traps.
   40  *      [93/04/14            cmaeda]
   41  * 
   42  *      Added evc_wait_clear.
   43  *      [93/04/14            cmaeda]
   44  * 
   45  * Revision 2.12  93/01/14  17:47:42  danner
   46  *      Cleanup.
   47  *      [92/06/10            pds]
   48  * 
   49  * Revision 2.11  92/07/20  13:33:15  cmaeda
   50  *      Added set_ras_address (a unixoid trap).
   51  *      [92/05/11  14:38:24  cmaeda]
   52  * 
   53  * Revision 2.10  92/02/19  16:07:22  elf
   54  *      Removed STANDALONE conditionals.
   55  *      [92/02/19            elf]
   56  * 
   57  *      Added syscall_thread_depress_abort.
   58  *      [92/01/20            rwd]
   59  * 
   60  * Revision 2.9  92/01/15  13:44:35  rpd
   61  *      Changed MACH_IPC_COMPAT conditionals to default to not present.
   62  * 
   63  * Revision 2.8  91/12/13  14:55:06  jsb
   64  *      Added evc_wait.
   65  *      [91/11/02  17:44:54  af]
   66  * 
   67  * Revision 2.7  91/05/14  17:00:32  mrt
   68  *      Correcting copyright
   69  * 
   70  * Revision 2.6  91/02/05  17:36:20  mrt
   71  *      Changed to new Mach copyright
   72  *      [91/02/01  17:21:07  mrt]
   73  * 
   74  * Revision 2.5  90/09/09  14:33:12  rpd
   75  *      Added mach_port_allocate_name trap.
   76  *      [90/09/05            rwd]
   77  * 
   78  * Revision 2.4  90/06/19  23:00:14  rpd
   79  *      Added pid_by_task.
   80  *      [90/06/14            rpd]
   81  * 
   82  *      Added mach_port_allocate, mach_port_deallocate, mach_port_insert_right.
   83  *      [90/06/02            rpd]
   84  * 
   85  * Revision 2.3  90/06/02  14:59:58  rpd
   86  *      Removed syscall_vm_allocate_with_pager.
   87  *      [90/05/31            rpd]
   88  * 
   89  *      Added map_fd, rfs_make_symlink.
   90  *      [90/04/04            rpd]
   91  *      Converted to new IPC.
   92  *      [90/03/26  22:39:28  rpd]
   93  * 
   94  * Revision 2.2  90/05/29  18:36:57  rwd
   95  *      New vm/task/threads calls from rfr.
   96  *      [90/04/20            rwd]
   97  * 
   98  * Revision 2.1  89/08/03  16:03:28  rwd
   99  * Created.
  100  * 
  101  */
  102 
  103 #ifndef _MACH_SYSCALL_SW_H_
  104 #define _MACH_SYSCALL_SW_H_
  105 
  106 /*
  107  *      The machine-dependent "syscall_sw.h" file should
  108  *      define a macro for
  109  *              kernel_trap(trap_name, trap_number, arg_count)
  110  *      which will expand into assembly code for the
  111  *      trap.
  112  *
  113  *      N.B.: When adding calls, do not put spaces in the macros.
  114  */
  115 
  116 #include <mach/machine/syscall_sw.h>
  117 
  118 /*
  119  *      These trap numbers should be taken from the
  120  *      table in <kern/syscall_sw.c>.
  121  */
  122 
  123 kernel_trap(evc_wait,-17,1)
  124 kernel_trap(evc_wait_clear,-18,1)
  125 
  126 kernel_trap(mach_msg_trap,-25,7)
  127 kernel_trap(mach_reply_port,-26,0)
  128 kernel_trap(mach_thread_self,-27,0)
  129 kernel_trap(mach_task_self,-28,0)
  130 kernel_trap(mach_host_self,-29,0)
  131 
  132 kernel_trap(swtch_pri,-59,1)
  133 kernel_trap(swtch,-60,0)
  134 kernel_trap(thread_switch,-61,3)
  135 kernel_trap(nw_update,-80,3)
  136 kernel_trap(nw_lookup,-81,2)
  137 kernel_trap(nw_endpoint_allocate,-82,4)
  138 kernel_trap(nw_endpoint_deallocate,-83,1)
  139 kernel_trap(nw_buffer_allocate,-84,2)
  140 kernel_trap(nw_buffer_deallocate,-85,2)
  141 kernel_trap(nw_connection_open,-86,4)
  142 kernel_trap(nw_connection_accept,-87,3)
  143 kernel_trap(nw_connection_close,-88,1)
  144 kernel_trap(nw_multicast_add,-89,4)
  145 kernel_trap(nw_multicast_drop,-90,4)
  146 kernel_trap(nw_endpoint_status,-91,3)
  147 kernel_trap(nw_send,-92,3)
  148 kernel_trap(nw_receive,-93,2)
  149 kernel_trap(nw_rpc,-94,4)
  150 kernel_trap(nw_select,-95,3)
  151 
  152 
  153 /*
  154  *      These are syscall versions of Mach kernel calls.
  155  *      They only work on local tasks.
  156  */
  157 
  158 kernel_trap(syscall_vm_map,-64,11)
  159 kernel_trap(syscall_vm_allocate,-65,4)
  160 kernel_trap(syscall_vm_deallocate,-66,3)
  161 
  162 kernel_trap(syscall_task_create,-68,3)
  163 kernel_trap(syscall_task_terminate,-69,1)
  164 kernel_trap(syscall_task_suspend,-70,1)
  165 kernel_trap(syscall_task_set_special_port,-71,3)
  166 
  167 kernel_trap(syscall_mach_port_allocate,-72,3)
  168 kernel_trap(syscall_mach_port_deallocate,-73,2)
  169 kernel_trap(syscall_mach_port_insert_right,-74,4)
  170 kernel_trap(syscall_mach_port_allocate_name,-75,3)
  171 kernel_trap(syscall_thread_depress_abort,-76,1)
  172 
  173 kernel_trap(syscall_periodic_thread_restart,-101,1)
  174 kernel_trap(syscall_timer_arm,-102,8)
  175 kernel_trap(syscall_timer_sleep,-103,5)
  176 kernel_trap(syscall_timer_cancel,-104,2)
  177 
  178 kernel_trap(syscall_device_writev_request,-39,6)
  179 kernel_trap(syscall_device_write_request,-40,6)
  180 
  181 /*
  182  *      These "Mach" traps are not implemented by the kernel;
  183  *      the emulation library and Unix server implement them.
  184  *      But they are traditionally part of libmach, and use
  185  *      the Mach trap calling conventions and numbering.
  186  */
  187 
  188 kernel_trap(task_by_pid,-33,1)
  189 kernel_trap(pid_by_task,-34,4)
  190 kernel_trap(init_process,-41,0)
  191 kernel_trap(map_fd,-43,5)
  192 kernel_trap(rfs_make_symlink,-44,3)
  193 kernel_trap(htg_syscall,-52,3)
  194 kernel_trap(set_ras_address,-53,2)
  195 
  196 /* Traps for the old IPC interface. */
  197 
  198 #if     MACH_IPC_COMPAT
  199 
  200 kernel_trap(task_self,-10,0)
  201 kernel_trap(thread_reply,-11,0)
  202 kernel_trap(task_notify,-12,0)
  203 kernel_trap(thread_self,-13,0)
  204 kernel_trap(msg_send_trap,-20,4)
  205 kernel_trap(msg_receive_trap,-21,5)
  206 kernel_trap(msg_rpc_trap,-22,6)
  207 kernel_trap(host_self,-55,0)
  208 
  209 #endif  /* MACH_IPC_COMPAT */
  210 
  211 #endif  /* _MACH_SYSCALL_SW_H_ */

Cache object: 30d6cbfea4ce8f7d8b93b64119a391f9


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.