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_init.man,v $
29 .\" Revision 2.5 93/05/10 19:33:55 rvb
30 .\" updated
31 .\" [93/04/21 16:08:43 lli]
32 .\"
33 .\" Revision 2.4 91/05/14 17:09:57 mrt
34 .\" Correcting copyright
35 .\"
36 .\" Revision 2.3 91/02/14 14:13:15 mrt
37 .\" Changed to new Mach copyright
38 .\" [91/02/12 18:13:58 mrt]
39 .\"
40 .\" Revision 2.2 90/08/07 18:41:11 rpd
41 .\" Created.
42 .\"
43 .TH memory_object_init 2 12/19/89
44 .CM 4
45 .SH NAME
46 .nf
47 memory_object_init \- initialize paging object
48 .SH SYNOPSIS
49 .nf
50 .ft B
51 #include <mach.h>
52
53 .nf
54 .ft B
55 kern_return_t memory_object_init(memory_object, memory_control,
56 memory_object_name, memory_object_page_size)
57 mach_port_t memory_object;
58 mach_port_t
59 memory_control;
60 mach_port_t
61 memory_object_name;
62 vm_size_t memory_object_page_size;
63
64
65 .fi
66 .ft P
67 .SH DESCRIPTION
68
69 .B memory_object_init
70 serves as a notification that a has been asked to map the given memory object into a task's virtual
71 address space. Additionally, it provides a port on which the memory manager
72 may issue cache management requests, and a port which the kernel
73 will use to name this data region. In the event that different
74 each will perform a
75 .B memory_object_init
76 call with new request and name ports.
77 The virtual page size that is used by the calling kernel is included
78 for planning purposes.
79
80 When the memory manager is prepared to accept requests for data for
81 this object, it should call
82 .B memory_object_set_attribute
83 with the
84 attribute
85 .B ready
86 set. Othewise the kernel will not process requests
87 on this object.
88
89 .SH ARGUMENTS
90 .TP 15
91 .B
92 .B memory_object
93 The port that represents the memory object data, as
94 supplied to the kernel in a
95 .B vm_map
96 call.
97 .TP 15
98 .B
99 .B memory_control
100 The request port to which a response is
101 requested. [In the event that a memory object has been supplied
102 to more than one the kernel that has made the request.]
103 .TP 15
104 .B
105 .B memory_object_name
106 A port used by the kernel to refer to the
107 memory object data in reponse to
108 .B vm_region
109 calls.
110 .TP 15
111 .B
112 .B memory_object_page_size
113 The page size to be used by this kernel.
114 All data sizes in calls involving this kernel must be an integral multiple
115 of the page size. [Note that different kernels, indicated by different
116 .B memory_control
117 s may have different page sizes.]
118
119 .SH DIAGNOSTICS
120 .TP 25
121 .B KERN_SUCCESS
122 Since this routine is called by the kernel, which does not
123 wait for a reply message, this value is ignored.
124
125 .SH SEE ALSO
126 .B memory_object_set_attributes
127
Cache object: 60b53ba1869fc98993327645b6c15f84
|