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/memory_object_default.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,1990,1989,1988,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:        memory_object_default.defs,v $
   29  * Revision 2.8  91/08/28  11:15:24  jsb
   30  *      Added conditionalized sequence number support.
   31  *      [91/08/13            rpd]
   32  * 
   33  * Revision 2.7  91/07/01  08:25:22  jsb
   34  *      If KERNEL and NORMA_VM, then use a userprefix (to allow interposition).
   35  *      [91/06/29  16:35:53  jsb]
   36  * 
   37  * Revision 2.6  91/06/25  10:30:41  rpd
   38  *      Changed the port-based type declarations
   39  *      to use mach_port_t as the C type name.
   40  *      [91/05/23            rpd]
   41  * 
   42  * Revision 2.5  91/05/14  16:56:08  mrt
   43  *      Correcting copyright
   44  * 
   45  * Revision 2.4  91/02/05  17:34:05  mrt
   46  *      Changed to new Mach copyright
   47  *      [91/02/01  17:19:22  mrt]
   48  * 
   49  * Revision 2.3  90/08/06  17:06:16  rpd
   50  *      For compatibility with Mach 2.5, added dealloc to
   51  *      argument of memory_object_create.
   52  *      [90/08/04            rpd]
   53  * 
   54  * Revision 2.2  90/06/02  14:59:00  rpd
   55  *      Converted to new IPC.
   56  *      [90/03/26  22:35:46  rpd]
   57  * 
   58  * Revision 2.1  89/08/03  17:18:28  rwd
   59  * Created.
   60  * 
   61  * Revision 2.3  89/02/25  18:38:29  gm0w
   62  *      Changes for cleanup.
   63  * 
   64  * Revision 2.2  89/01/15  16:31:26  rpd
   65  *      Moved from kern/ to mach/.
   66  *      [89/01/15  14:40:47  rpd]
   67  * 
   68  * Revision 2.7  89/01/12  07:58:30  rpd
   69  *      Fixed includes.
   70  *      [89/01/12  04:52:50  rpd]
   71  * 
   72  * Revision 2.6  88/08/25  18:17:23  mwyoung
   73  *      Rid the kernel_task of rights to the new memory_object in
   74  *      memory_object_create.
   75  *      Add size argument to memory_object_create.
   76  *      [88/08/11  18:47:16  mwyoung]
   77  * 
   78  * Revision 2.5  88/08/06  18:23:00  rpd
   79  * Added dealloc flag to new_memory_object arg of memory_object_create().
   80  * Otherwise, kernel_task is left with send right, and this is very bad.
   81  * 
   82  * 29-Jun-88  Michael Young (mwyoung) at Carnegie-Mellon University
   83  *      Use new types.
   84  *
   85  * 29-Jun-88  Michael Young (mwyoung) at Carnegie-Mellon University
   86  *      Moved data type declarations to "mach_types.defs".
   87  *
   88  *  9-Dec-87  Michael Young (mwyoung) at Carnegie-Mellon University
   89  *      Created.
   90  */
   91 /*
   92  * File:        mach/memory_object_default.defs
   93  *
   94  * Abstract:
   95  *      Mach external memory management interface declaration; subset
   96  *      that is applicable to managers of kernel-created memory objects.
   97  */
   98 
   99 subsystem
  100 #if     KERNEL_USER
  101           KernelUser
  102 #endif  KERNEL_USER
  103                      memory_object_default 2250;
  104 
  105 #ifdef  KERNEL
  106 #include <norma_vm.h>
  107 #if     NORMA_VM
  108 userprefix k_;
  109 #endif  NORMA_VM
  110 #endif  KERNEL
  111 
  112 #include <mach/std_types.defs>
  113 #include <mach/mach_types.defs>
  114 
  115 #if     SEQNOS
  116 serverprefix seqnos_;
  117 serverdemux seqnos_memory_object_default_server;
  118 #endif  SEQNOS
  119 
  120 /*
  121  *      Pass on responsibility for the new kernel-created memory
  122  *      object.  The port on which this request is that port
  123  *      (possibly a memory object itself) registered as the "default
  124  *      pager".  Other arguments are as described for memory_object_init.
  125  *      [No reply required.]
  126  */
  127 simpleroutine   memory_object_create(
  128                 old_memory_object       : memory_object_t =
  129                                                 MACH_MSG_TYPE_MOVE_SEND
  130                                                 ctype: mach_port_t;
  131 #if     SEQNOS
  132         msgseqno seqno                  : mach_port_seqno_t;
  133 #endif  SEQNOS
  134                 new_memory_object       : memory_object_t =
  135                                                 MACH_MSG_TYPE_MOVE_RECEIVE
  136                                                 ctype: mach_port_t
  137 #if     KERNEL_USER
  138                 /* for compatibility with Mach 2.5 kernels */
  139                                                 , dealloc
  140 #endif  KERNEL_USER
  141                                                 ;
  142                 new_object_size         : vm_size_t;
  143                 new_control_port        : memory_object_control_t =
  144                                                 MACH_MSG_TYPE_MAKE_SEND
  145                                                 ctype: mach_port_t;
  146                 new_name                : memory_object_name_t =
  147                                                 MACH_MSG_TYPE_MAKE_SEND
  148                                                 ctype: mach_port_t;
  149                 new_page_size           : vm_size_t);
  150 
  151 /*
  152  *      Provide initial data contents for this region of
  153  *      the memory object.  If data has already been written
  154  *      to the object, this value must be discarded; otherwise,
  155  *      this call acts identically to memory_object_data_write.
  156  */
  157 simpleroutine   memory_object_data_initialize(
  158                 memory_object           : memory_object_t;
  159 #if     SEQNOS
  160         msgseqno seqno                  : mach_port_seqno_t;
  161 #endif  SEQNOS
  162                 memory_control_port     : memory_object_control_t =
  163                                                 MACH_MSG_TYPE_MAKE_SEND
  164                                                 ctype: mach_port_t;
  165                 offset                  : vm_offset_t;
  166                 data                    : pointer_t);
  167 
  168 #if     0
  169 /*
  170  *      Indicate that the specified range of data in this memory object
  171  *      will not be requested again until it is reinitialized with
  172  *      memory_object_data_write or memory_object_data_initialize.
  173  */
  174 simpleroutine   memory_object_data_terminate(
  175                 memory_object           : memory_object_t;
  176 #if     SEQNOS
  177         msgseqno seqno                  : mach_port_seqno_t;
  178 #endif  SEQNOS
  179                 memory_control_port     : memory_object_control_t =
  180                                                 MACH_MSG_TYPE_MAKE_SEND
  181                                                 ctype: mach_port_t;
  182                 offset                  : vm_offset_t;
  183                 size                    : vm_size_t);
  184 #else   0
  185 skip;   /* memory_object_data_terminate */
  186 #endif  0

Cache object: 52e436800f6e7e7bfdc4a815e6a8ad67


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