Print this page
6152 use NULL dump segop as a shorthand for no-op

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/vm/seg_dev.c
          +++ new/usr/src/uts/common/vm/seg_dev.c
↓ open down ↓ 170 lines elided ↑ open up ↑
 171  171  static void     segdev_badop(void);
 172  172  static int      segdev_sync(struct seg *, caddr_t, size_t, int, uint_t);
 173  173  static size_t   segdev_incore(struct seg *, caddr_t, size_t, char *);
 174  174  static int      segdev_lockop(struct seg *, caddr_t, size_t, int, int,
 175  175                      ulong_t *, size_t);
 176  176  static int      segdev_getprot(struct seg *, caddr_t, size_t, uint_t *);
 177  177  static u_offset_t       segdev_getoffset(struct seg *, caddr_t);
 178  178  static int      segdev_gettype(struct seg *, caddr_t);
 179  179  static int      segdev_getvp(struct seg *, caddr_t, struct vnode **);
 180  180  static int      segdev_advise(struct seg *, caddr_t, size_t, uint_t);
 181      -static void     segdev_dump(struct seg *);
 182  181  static int      segdev_pagelock(struct seg *, caddr_t, size_t,
 183  182                      struct page ***, enum lock_type, enum seg_rw);
 184  183  static int      segdev_getmemid(struct seg *, caddr_t, memid_t *);
 185  184  
 186  185  /*
 187  186   * XXX  this struct is used by rootnex_map_fault to identify
 188  187   *      the segment it has been passed. So if you make it
 189  188   *      "static" you'll need to fix rootnex_map_fault.
 190  189   */
 191  190  struct seg_ops segdev_ops = {
↓ open down ↓ 6 lines elided ↑ open up ↑
 198  197          .checkprot      = segdev_checkprot,
 199  198          .kluster        = (int (*)())segdev_badop,
 200  199          .sync           = segdev_sync,
 201  200          .incore         = segdev_incore,
 202  201          .lockop         = segdev_lockop,
 203  202          .getprot        = segdev_getprot,
 204  203          .getoffset      = segdev_getoffset,
 205  204          .gettype        = segdev_gettype,
 206  205          .getvp          = segdev_getvp,
 207  206          .advise         = segdev_advise,
 208      -        .dump           = segdev_dump,
 209  207          .pagelock       = segdev_pagelock,
 210  208          .getmemid       = segdev_getmemid,
 211  209  };
 212  210  
 213  211  /*
 214  212   * Private segdev support routines
 215  213   */
 216  214  static struct segdev_data *sdp_alloc(void);
 217  215  
 218  216  static void segdev_softunlock(struct hat *, struct seg *, caddr_t,
↓ open down ↓ 2145 lines elided ↑ open up ↑
2364 2362  /*ARGSUSED*/
2365 2363  static int
2366 2364  segdev_advise(struct seg *seg, caddr_t addr, size_t len, uint_t behav)
2367 2365  {
2368 2366          TRACE_0(TR_FAC_DEVMAP, TR_DEVMAP_ADVISE, "segdev_advise:start");
2369 2367  
2370 2368          ASSERT(seg->s_as && AS_LOCK_HELD(seg->s_as, &seg->s_as->a_lock));
2371 2369  
2372 2370          return (0);
2373 2371  }
2374      -
2375      -/*
2376      - * segdev pages are not dumped, so we just return
2377      - */
2378      -/*ARGSUSED*/
2379      -static void
2380      -segdev_dump(struct seg *seg)
2381      -{}
2382 2372  
2383 2373  /*
2384 2374   * ddi_segmap_setup:    Used by drivers who wish specify mapping attributes
2385 2375   *                      for a segment.  Called from a drivers segmap(9E)
2386 2376   *                      routine.
2387 2377   */
2388 2378  /*ARGSUSED*/
2389 2379  int
2390 2380  ddi_segmap_setup(dev_t dev, off_t offset, struct as *as, caddr_t *addrp,
2391 2381      off_t len, uint_t prot, uint_t maxprot, uint_t flags, cred_t *cred,
↓ open down ↓ 1681 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX