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/norma/norma_internal.defs

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) 1991 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:        norma_internal.defs,v $
   29  * Revision 2.3  92/03/10  16:28:47  jsb
   30  *      Merged in norma branch changes as of NORMA_MK7.
   31  *      [92/03/09  12:52:25  jsb]
   32  * 
   33  * Revision 2.2.2.2  92/02/21  11:25:21  jsb
   34  *      Added norma_xmm_object_release.
   35  *      [92/02/16  14:30:43  jsb]
   36  * 
   37  *      Added norma_xmm_object_by_memory_object.
   38  *      [92/02/10  17:04:44  jsb]
   39  * 
   40  * Revision 2.2.2.1  92/01/03  16:38:34  jsb
   41  *      In norma_ipc_pull_receive, seqno and qlimit are shorts, not ints.
   42  *      [91/12/26  18:27:24  jsb]
   43  * 
   44  *      Replaced simpleroutines norma_ipc_start_migrating_messages and
   45  *      norma_ipc_all_messages_migrated with routine norma_ipc_pull_receive.
   46  *      [91/12/25  16:46:19  jsb]
   47  * 
   48  *      Added norma_ipc_no_local_senders and norma_ipc_stransit_request.
   49  *      Removed norma_token_deliver.
   50  *      [91/12/24  14:30:01  jsb]
   51  * 
   52  * Revision 2.2  91/12/13  14:10:54  jsb
   53  *      First checkin. Split off from mach/mach_norma.defs.
   54  * 
   55  */
   56 
   57 subsystem
   58 #if     KERNEL_USER
   59           KernelUser
   60 #endif  KERNEL_USER
   61 #if     KERNEL_SERVER
   62           KernelServer
   63 #endif  KERNEL_SERVER
   64                        norma_internal 556000;
   65 #ifdef  KERNEL_USER
   66 userprefix r_;
   67 #endif  KERNEL_USER
   68 
   69 #include <mach/std_types.defs>
   70 #include <mach/mach_types.defs>
   71 
   72 /*
   73  * Create a task with no inherited address space on the given node.
   74  * Used between per-node kernels to implement task_create_remote,
   75  * when there is no parent task available (otherwise we could just
   76  * use norma_task_create with inherit_memory=FALSE).
   77  */
   78 routine norma_task_allocate(
   79                 host_priv       : host_priv_t;
   80         out     task            : task_t);
   81 
   82 /*
   83  * Returns the current value of all inherited ports in task.
   84  * XXX should name port0, etc. as exception, etc.
   85  */
   86 routine task_get_inherited_ports(
   87                 task            : task_t;
   88         out     port0           : mach_port_t;
   89         out     port1           : mach_port_t;
   90         out     port2           : mach_port_t;
   91         out     port3           : mach_port_t;
   92         out     exception       : mach_port_t;
   93         out     bootstrap       : mach_port_t);
   94 
   95 /*
   96  * Returns the current value of all inherited ports in task.
   97  */
   98 routine task_set_inherited_ports(
   99                 task            : task_t;
  100                 port0           : mach_port_t;
  101                 port1           : mach_port_t;
  102                 port2           : mach_port_t;
  103                 port3           : mach_port_t;
  104                 exception       : mach_port_t;
  105                 bootstrap       : mach_port_t);
  106 
  107 /*
  108  * Create a memory object representing given range of memory
  109  * in given task. Useful for lazy address space copies.
  110  */
  111 routine norma_copy_create(
  112                 task            : vm_task_t;
  113                 start           : vm_offset_t;
  114                 size            : vm_size_t;
  115         out     memory_object   : mach_port_make_send_t);
  116 
  117 routine norma_ipc_pull_receive(
  118                 host_priv       : host_priv_t;
  119                 uid             : int;
  120                 dest_node       : int;
  121         out     stransit        : int;
  122         out     sotransit       : int;
  123         out     nsrequest       : mach_port_move_send_once_t;
  124         out     pdrequest       : mach_port_move_send_once_t;
  125         out     dnrequest_list  : int;  /* XXX */
  126         out     dnrequest_count : int;  /* XXX */
  127         out     seqno           : short;
  128         out     qlimit          : short);
  129 
  130 simpleroutine norma_ipc_no_local_senders(
  131                 host_priv       : host_priv_t;
  132                 uid             : int;
  133                 stransit        : int);
  134 
  135 routine norma_ipc_stransit_request(
  136                 host_priv       : host_priv_t;
  137                 uid             : int;
  138         out     stransit        : int);
  139 
  140 routine norma_xmm_object_by_memory_object(
  141                 host_priv       : host_priv_t;
  142                 memory_object   : mach_port_copy_send_t;
  143         out     xmm_object      : mach_port_move_send_t);
  144 
  145 simpleroutine   norma_xmm_object_release(
  146                 host_priv       : host_priv_t;
  147                 memory_object   : mach_port_copy_send_t);

Cache object: ab13fd27e60c83f1703f1f83fa07548b


[ 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.