Print this page
6151 use NULL setpagesize segop as a shorthand for ENOTSUP

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 ↓ 173 lines elided ↑ open up ↑
 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  181  static void     segdev_dump(struct seg *);
 182  182  static int      segdev_pagelock(struct seg *, caddr_t, size_t,
 183  183                      struct page ***, enum lock_type, enum seg_rw);
 184      -static int      segdev_setpagesize(struct seg *, caddr_t, size_t, uint_t);
 185  184  static int      segdev_getmemid(struct seg *, caddr_t, memid_t *);
 186  185  
 187  186  /*
 188  187   * XXX  this struct is used by rootnex_map_fault to identify
 189  188   *      the segment it has been passed. So if you make it
 190  189   *      "static" you'll need to fix rootnex_map_fault.
 191  190   */
 192  191  struct seg_ops segdev_ops = {
 193  192          .dup            = segdev_dup,
 194  193          .unmap          = segdev_unmap,
↓ open down ↓ 6 lines elided ↑ open up ↑
 201  200          .sync           = segdev_sync,
 202  201          .incore         = segdev_incore,
 203  202          .lockop         = segdev_lockop,
 204  203          .getprot        = segdev_getprot,
 205  204          .getoffset      = segdev_getoffset,
 206  205          .gettype        = segdev_gettype,
 207  206          .getvp          = segdev_getvp,
 208  207          .advise         = segdev_advise,
 209  208          .dump           = segdev_dump,
 210  209          .pagelock       = segdev_pagelock,
 211      -        .setpagesize    = segdev_setpagesize,
 212  210          .getmemid       = segdev_getmemid,
 213  211  };
 214  212  
 215  213  /*
 216  214   * Private segdev support routines
 217  215   */
 218  216  static struct segdev_data *sdp_alloc(void);
 219  217  
 220  218  static void segdev_softunlock(struct hat *, struct seg *, caddr_t,
 221  219      size_t, enum seg_rw);
↓ open down ↓ 2242 lines elided ↑ open up ↑
2464 2462  
2465 2463  }
2466 2464  
2467 2465  /*ARGSUSED*/
2468 2466  static int
2469 2467  segdev_pagelock(struct seg *seg, caddr_t addr, size_t len,
2470 2468      struct page ***ppp, enum lock_type type, enum seg_rw rw)
2471 2469  {
2472 2470          TRACE_0(TR_FAC_DEVMAP, TR_DEVMAP_PAGELOCK,
2473 2471              "segdev_pagelock:start");
2474      -        return (ENOTSUP);
2475      -}
2476      -
2477      -/*ARGSUSED*/
2478      -static int
2479      -segdev_setpagesize(struct seg *seg, caddr_t addr, size_t len,
2480      -    uint_t szc)
2481      -{
2482 2472          return (ENOTSUP);
2483 2473  }
2484 2474  
2485 2475  /*
2486 2476   * devmap_device: Used by devmap framework to establish mapping
2487 2477   *                called by devmap_seup(9F) during map setup time.
2488 2478   */
2489 2479  /*ARGSUSED*/
2490 2480  static int
2491 2481  devmap_device(devmap_handle_t *dhp, struct as *as, caddr_t *addr,
↓ open down ↓ 1591 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX