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/man/memory_object_lock_request.man

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 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_lock_request.man,v $
   29 .\" Revision 2.5  93/05/10  19:34:00  rvb
   30 .\"     updated
   31 .\"     [93/04/21  16:08:49  lli]
   32 .\" 
   33 .\" Revision 2.4  91/05/14  17:10:17  mrt
   34 .\"     Correcting copyright
   35 .\" 
   36 .\" Revision 2.3  91/02/14  14:13:22  mrt
   37 .\"     Changed to new Mach copyright
   38 .\"     [91/02/12  18:14:07  mrt]
   39 .\" 
   40 .\" Revision 2.2  90/08/07  18:41:26  rpd
   41 .\"     Created.
   42 .\" 
   43 .TH memory_object_lock_request 2 12/19/89
   44 .CM 4
   45 .SH NAME
   46 .nf
   47 memory_object_lock_request  \-  request consistency control actions
   48 .SH SYNOPSIS
   49 .nf
   50 .ft B
   51 #include <mach.h>
   52 
   53 .nf
   54 .ft B
   55 kern_return_t   memory_object_lock_request(memory_control,
   56                                 offset, size, should_clean
   57                                 should_flush, lock_value, reply_to)
   58         mach_port_t
   59                         memory_control;
   60         vm_offset_t     offset;
   61         vm_size_t       size;
   62         memory_object_return_t  should_clean;
   63         boolean_t       should_flush;
   64         vm_prot_t       lock_value;
   65         mach_port_t             reply_to;
   66 
   67 
   68 .fi
   69 .ft P
   70 .SH DESCRIPTION
   71 
   72 .B memory_object_lock_request
   73 allows a memory manager to make cache
   74 management requests.
   75 As specified in arguments to the call, the kernel will:
   76 clean (i.e., write back using 
   77 .B memory_object_data_write
   78 )
   79 any cached data which
   80 has been modified since the last time it was written;
   81 flush (i.e., remove any uses of) that data from memory;
   82 lock (i.e., prohibit the specified uses of) the cached data.
   83 Locks applied to cached data are not cumulative; new lock values override
   84 previous ones.  Thus, data may also be unlocked using this primitive.
   85 The lock values must be one or more of the following values:
   86 .B VM_PROT_NONE, VM_PROT_READ, VM_PROT_WRITE, VM_PROT_EXECUTE
   87 and
   88 .B VM_PROT_ALL
   89 as defined in 
   90 .B <mach/vm_prot.h>
   91 . 
   92 
   93 Only data which is cached at the time of this call is affected.
   94 When a running thread requires a prohibited
   95 access to cached data, the will issue a 
   96 .B memory_object_data_unlock
   97 call specifying the forms of access
   98 required.
   99 Once all of the actions requested by this call have been completed,
  100 the on the specified reply port.
  101 
  102 .SH ARGUMENTS
  103 .TP 15
  104 .B
  105 memory_control
  106 The port, provided by the kernel 
  107 in a 
  108 .B memory_object_init
  109 call, to which cache management requests may be issued.
  110 .TP 15
  111 .B
  112 offset
  113 An offset within a memory object, in bytes.  This must be
  114 page aligned.
  115 .TP 15
  116 .B
  117 size
  118 The amount of cached data (starting at 
  119 .B offset
  120 ) to be handled, must
  121 be an integral multiple of the memory object page size.
  122 .TP 15
  123 .B
  124 should_clean
  125 If set, modified data should be written back to the memory manager.
  126 .TP 15
  127 .B
  128 should_flush
  129 If set, the specified cached data should be invalidated, and all
  130 uses of that data should be revoked.
  131 .TP 15
  132 .B
  133 lock_value
  134 A protection value indicating those forms of access that should
  135 .B not
  136 be permitted to the specified cached data.
  137 .TP 15
  138 .B
  139 reply_to
  140 A port on which a 
  141 .B memory_object_lock_completed
  142 call should be issued,
  143 or 
  144 .B PORT_NULL
  145 if no acknowledgement is desired.
  146 
  147 .SH DIAGNOSTICS
  148 .TP 25
  149 KERN_SUCCESS
  150 This routine does not receive a reply message (and consequently
  151 has no return value), so only message transmission errors apply.
  152 
  153 .SH SEE ALSO
  154 .B memory_object_lock_completed, memory_object_data_unlock
  155 

Cache object: 72c4bc8e0ee6a99a62b70f2cdc9d484c


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