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/xmm_proxy.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,1992 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 
   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 the
   24  * rights to redistribute these changes.
   25  */
   26 /*
   27  * HISTORY
   28  * $Log:        xmm_proxy.defs,v $
   29  * Revision 2.4  92/03/10  16:29:32  jsb
   30  *      Merged in norma branch changes as of NORMA_MK7.
   31  *      [92/03/09  12:52:28  jsb]
   32  * 
   33  * Revision 2.3.3.3  92/02/21  11:27:57  jsb
   34  *      Changed proxy_terminate back into a simpleroutine, and changed its
   35  *      destination argument from copy_send to move_send.
   36  *      [92/02/17  07:18:19  jsb]
   37  * 
   38  *      Changed proxy_init destination from copy_send to move_send.
   39  *      [92/02/16  14:12:32  jsb]
   40  * 
   41  *      Renamed {mobj,kobj}_port to xmm_{pager,kernel}.
   42  *      Changed proxy_init to use xmm_object instead of
   43  *      <memory_object_host, memory_object> pair.
   44  *      [92/02/10  17:04:18  jsb]
   45  * 
   46  *      Changed for new memory_object_name protocol.
   47  *      [92/02/09  12:56:43  jsb]
   48  * 
   49  * Revision 2.3.3.2  92/01/21  22:09:01  jsb
   50  *      From dlb@ri.osf.org: make proxy_terminate an rpc.
   51  * 
   52  * Revision 2.3.3.1  92/01/21  21:54:39  jsb
   53  *      Changed interface to use ports instead of pointers.
   54  *      [92/01/20  17:28:21  jsb]
   55  * 
   56  *      Fixes from OSF.
   57  *      [92/01/17  14:15:23  jsb]
   58  * 
   59  * Revision 2.3.1.1  92/01/15  12:22:11  jeffreyh
   60  *      Pass memory_object_name as a receive right in proxy_terminate. (dlb)
   61  * 
   62  * Revision 2.3  91/12/10  13:26:30  jsb
   63  *      Added missing third parameter to proxy_terminate.
   64  *      It should in the future become a moving receive right.
   65  *      [91/12/10  12:49:57  jsb]
   66  * 
   67  * Revision 2.2  91/06/17  15:48:31  jsb
   68  *      First checkin.
   69  *      [91/06/17  13:45:41  jsb]
   70  * 
   71  */
   72 /*
   73  *      File:   norma/xmm_proxy.defs
   74  *      Author: Joseph S. Barrera III
   75  *      Date:   1991
   76  *
   77  *      Mig interface for communication between xmm_export.c and xmm_import.c.
   78  */
   79 
   80 subsystem
   81 #if     KERNEL_USER
   82           KernelUser
   83 #endif  KERNEL_USER
   84 #if     KERNEL_SERVER
   85           KernelServer
   86 #endif  KERNEL_SERVER
   87                 proxy 923000;
   88 
   89 serverprefix _;
   90 
   91 #include <mach/std_types.defs>
   92 #include <mach/mach_types.defs>
   93 
   94 /*
   95  * Calls from kernel to memory manager (adopted from memory_object.defs).
   96  */
   97 
   98 simpleroutine   proxy_init(
   99                 xmm_object              : mach_port_move_send_t;
  100                 xmm_kernel              : mach_port_make_send_t;
  101                 page_size               : vm_size_t;
  102                 internal                : boolean_t;
  103                 size                    : vm_size_t);
  104 
  105 simpleroutine   proxy_terminate(
  106                 xmm_pager               : mach_port_move_send_t);
  107 
  108 simpleroutine   proxy_copy(
  109                 xmm_pager               : mach_port_t;
  110                 offset                  : vm_offset_t;
  111                 length                  : vm_size_t;
  112                 new_memory_object       : memory_object_t =
  113                                                 MACH_MSG_TYPE_MOVE_RECEIVE
  114                                                 ctype: mach_port_t);
  115 
  116 simpleroutine   proxy_data_request(
  117                 xmm_pager               : mach_port_t;
  118                 offset                  : vm_offset_t;
  119                 length                  : vm_size_t;
  120                 desired_access          : vm_prot_t);
  121 
  122 simpleroutine   proxy_data_unlock(
  123                 xmm_pager               : mach_port_t;
  124                 offset                  : vm_offset_t;
  125                 length                  : vm_size_t;
  126                 desired_access          : vm_prot_t);
  127 
  128 simpleroutine   proxy_data_write(
  129                 xmm_pager               : mach_port_t;
  130                 offset                  : vm_offset_t;
  131                 data                    : pointer_t);
  132 
  133 simpleroutine   proxy_lock_completed(
  134                 reply_to                : mach_port_move_send_once_t;
  135                 offset                  : vm_offset_t;
  136                 length                  : vm_size_t);
  137 
  138 simpleroutine   proxy_supply_completed(
  139                 reply_to                : mach_port_move_send_once_t;
  140                 offset                  : vm_offset_t;
  141                 length                  : vm_size_t;
  142                 result                  : kern_return_t;
  143                 error_offset            : vm_offset_t);
  144 
  145 simpleroutine   proxy_data_return(
  146                 xmm_pager               : mach_port_t;
  147                 offset                  : vm_offset_t;
  148                 data                    : pointer_t);
  149 
  150 simpleroutine   proxy_change_completed(
  151                 reply_to                : mach_port_move_send_once_t;
  152                 may_cache               : boolean_t;
  153                 copy_strategy           : memory_object_copy_strategy_t);
  154 
  155 /*
  156  * Calls from memory manager to kernel (adopted from mach.defs).
  157  */
  158 
  159 simpleroutine proxy_data_unavailable(
  160                 xmm_kernel      : mach_port_t;
  161                 offset          : vm_offset_t;
  162                 size            : vm_size_t);
  163 
  164 routine proxy_get_attributes(
  165                 xmm_kernel      : mach_port_t;
  166         out     object_ready    : boolean_t;
  167         out     may_cache       : boolean_t;
  168         out     copy_strategy   : memory_object_copy_strategy_t);
  169 
  170 simpleroutine proxy_lock_request(
  171                 xmm_kernel      : mach_port_t;
  172                 offset          : vm_offset_t;
  173                 size            : vm_size_t;
  174                 should_clean    : boolean_t;
  175                 should_flush    : boolean_t;
  176                 lock_value      : vm_prot_t;
  177                 reply_to        : mach_port_make_send_once_t);
  178 
  179 simpleroutine proxy_data_error(
  180                 xmm_kernel      : mach_port_t;
  181                 offset          : vm_offset_t;
  182                 size            : vm_size_t;
  183                 error_value     : kern_return_t);
  184 
  185 simpleroutine proxy_set_ready(
  186                 xmm_kernel      : mach_port_t;
  187                 xmm_pager       : mach_port_make_send_t;
  188                 object_ready    : boolean_t;
  189                 may_cache       : boolean_t;
  190                 copy_strategy   : memory_object_copy_strategy_t;
  191                 error_value     : kern_return_t;
  192                 use_old_pageout : boolean_t;
  193                 pager_name      : mach_port_move_send_t;
  194                 reply_to        : mach_port_make_send_once_t);
  195 
  196 simpleroutine proxy_destroy(
  197                 xmm_kernel      : mach_port_t;
  198                 reason          : kern_return_t);
  199 
  200 simpleroutine proxy_data_supply(
  201                 xmm_kernel      : mach_port_t;
  202                 offset          : vm_offset_t;
  203                 data            : pointer_t;
  204                 lock_value      : vm_prot_t;
  205                 precious        : boolean_t;
  206                 reply_to        : mach_port_make_send_once_t);

Cache object: 80f57642568cd90e9871a73973b26c36


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