1 <h2>memory_object_data_request
</h2>
4 <strong>Server Interface
</strong> - Request that memory manager page-in specified data.
7 <strong>kern_return_t memory_object_data_request
</strong>
8 <strong>(memory_object_t
</strong> <var>memory_object
</var>,
9 <strong>memory_object_control_t
</strong> <var>memory_control
</var>,
10 <strong>vm_offset_t
</strong> <var>offset
</var>,
11 <strong>vm_size_t
</strong> <var>length
</var>,
12 <strong>vm_prot_t
</strong> <var>desired_access
</var><strong>);
</strong>
15 <strong>kern_return_t seqnos_memory_object_data_request
</strong>
16 <strong>(memory_object_t
</strong> <var>memory_object
</var>,
17 <strong>mach_port_seqno_t
</strong> <var>seqno
</var>,
18 <strong>memory_object_control_t
</strong> <var>memory_control
</var>,
19 <strong>vm_offset_t
</strong> <var>offset
</var>,
20 <strong>vm_size_t
</strong> <var>length
</var>,
21 <strong>vm_prot_t
</strong> <var>desired_access
</var><strong>);
</strong>
26 <dt> <var>memory_object
</var>
28 [in abstract-memory-object (receive) right]
30 object port that represents the memory object data.
35 The sequence number of this message relative to the abstract
38 <dt> <var>memory_control
</var>
40 [in memory-cache-control send right]
41 The memory cache control port
42 to be used for a response by the memory manager. If the memory
43 object has been supplied to more than one kernel, this parameter
44 identifies the kernel that is making the call.
46 <dt> <var>offset
</var>
49 The offset within the memory object.
51 <dt> <var>length
</var>
54 The number of bytes requested, starting at
<var>offset
</var>. The
55 number converts to an integral number of virtual pages.
57 <dt> <var>desired_access
</var>
60 The memory access modes to be allowed for the cached
61 data. Possible values are obtained by or'ing together the following
65 <dt> <strong>VM_PROT_READ
</strong>
69 <dt> <strong>VM_PROT_WRITE
</strong>
73 <dt> <strong>VM_PROT_EXECUTE
</strong>
75 Allows execute access.
80 A
<strong>memory_object_data_request
</strong> function is called as
81 the result of a kernel
82 message requesting data from the specified memory object, for at least the
85 The kernel issues this call after a cache miss (that is, a page
87 kernel does not have the data). The kernel requests only amounts
89 multiples of the page size included in the
90 <strong>memory_object_init
</strong> or
<strong>memory_object_create
</strong> call.
92 The memory manager is expected to use
<strong>memory_object_data_supply
</strong> to
93 return at least the specified data, with as much access as it
95 memory manager cannot provide the data (for example, because
97 it can use the
<strong>memory_object_data_error
</strong> call. The
98 memory manager can also
99 use
<strong>memory_object_data_unavailable
</strong> to tell the kernel
100 to supply zero-filled
101 memory for the region.
102 <h3>RETURN VALUES
</h3>
104 Only generic errors apply.
105 <h3>RELATED INFORMATION
</h3>
108 <a href=
"memory_object_data_error.html"><strong>memory_object_data_error
</strong></a>,
109 <a href=
"memory_object_data_supply.html"><strong>memory_object_data_supply
</strong></a>,
110 <a href=
"MO_data_unavailable.html"><strong>memory_object_data_unavailable
</strong></a>,
111 <a href=
"memory_object_server.html"><strong>memory_object_server
</strong></a>,
112 <a href=
"SMO_server.html"><strong>seqnos_memory_object_server
</strong></a>.