171 static void segdev_badop(void);
172 static int segdev_sync(struct seg *, caddr_t, size_t, int, uint_t);
173 static size_t segdev_incore(struct seg *, caddr_t, size_t, char *);
174 static int segdev_lockop(struct seg *, caddr_t, size_t, int, int,
175 ulong_t *, size_t);
176 static int segdev_getprot(struct seg *, caddr_t, size_t, uint_t *);
177 static u_offset_t segdev_getoffset(struct seg *, caddr_t);
178 static int segdev_gettype(struct seg *, caddr_t);
179 static int segdev_getvp(struct seg *, caddr_t, struct vnode **);
180 static int segdev_advise(struct seg *, caddr_t, size_t, uint_t);
181 static void segdev_dump(struct seg *);
182 static int segdev_pagelock(struct seg *, caddr_t, size_t,
183 struct page ***, enum lock_type, enum seg_rw);
184 static int segdev_getmemid(struct seg *, caddr_t, memid_t *);
185
186 /*
187 * XXX this struct is used by rootnex_map_fault to identify
188 * the segment it has been passed. So if you make it
189 * "static" you'll need to fix rootnex_map_fault.
190 */
191 struct seg_ops segdev_ops = {
192 .dup = segdev_dup,
193 .unmap = segdev_unmap,
194 .free = segdev_free,
195 .fault = segdev_fault,
196 .faulta = segdev_faulta,
197 .setprot = segdev_setprot,
198 .checkprot = segdev_checkprot,
199 .kluster = (int (*)())segdev_badop,
200 .sync = segdev_sync,
201 .incore = segdev_incore,
202 .lockop = segdev_lockop,
203 .getprot = segdev_getprot,
204 .getoffset = segdev_getoffset,
205 .gettype = segdev_gettype,
206 .getvp = segdev_getvp,
207 .advise = segdev_advise,
208 .dump = segdev_dump,
209 .pagelock = segdev_pagelock,
210 .getmemid = segdev_getmemid,
211 };
|
171 static void segdev_badop(void);
172 static int segdev_sync(struct seg *, caddr_t, size_t, int, uint_t);
173 static size_t segdev_incore(struct seg *, caddr_t, size_t, char *);
174 static int segdev_lockop(struct seg *, caddr_t, size_t, int, int,
175 ulong_t *, size_t);
176 static int segdev_getprot(struct seg *, caddr_t, size_t, uint_t *);
177 static u_offset_t segdev_getoffset(struct seg *, caddr_t);
178 static int segdev_gettype(struct seg *, caddr_t);
179 static int segdev_getvp(struct seg *, caddr_t, struct vnode **);
180 static int segdev_advise(struct seg *, caddr_t, size_t, uint_t);
181 static void segdev_dump(struct seg *);
182 static int segdev_pagelock(struct seg *, caddr_t, size_t,
183 struct page ***, enum lock_type, enum seg_rw);
184 static int segdev_getmemid(struct seg *, caddr_t, memid_t *);
185
186 /*
187 * XXX this struct is used by rootnex_map_fault to identify
188 * the segment it has been passed. So if you make it
189 * "static" you'll need to fix rootnex_map_fault.
190 */
191 const struct seg_ops segdev_ops = {
192 .dup = segdev_dup,
193 .unmap = segdev_unmap,
194 .free = segdev_free,
195 .fault = segdev_fault,
196 .faulta = segdev_faulta,
197 .setprot = segdev_setprot,
198 .checkprot = segdev_checkprot,
199 .kluster = (int (*)())segdev_badop,
200 .sync = segdev_sync,
201 .incore = segdev_incore,
202 .lockop = segdev_lockop,
203 .getprot = segdev_getprot,
204 .getoffset = segdev_getoffset,
205 .gettype = segdev_gettype,
206 .getvp = segdev_getvp,
207 .advise = segdev_advise,
208 .dump = segdev_dump,
209 .pagelock = segdev_pagelock,
210 .getmemid = segdev_getmemid,
211 };
|