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

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/sparc/v9/vm/seg_nf.c
          +++ new/usr/src/uts/sparc/v9/vm/seg_nf.c
↓ open down ↓ 68 lines elided ↑ open up ↑
  69   69  static void     segnf_badop(void);
  70   70  static int      segnf_nop(void);
  71   71  static int      segnf_getprot(struct seg *seg, caddr_t addr,
  72   72                      size_t len, uint_t *protv);
  73   73  static u_offset_t segnf_getoffset(struct seg *seg, caddr_t addr);
  74   74  static int      segnf_gettype(struct seg *seg, caddr_t addr);
  75   75  static int      segnf_getvp(struct seg *seg, caddr_t addr, struct vnode **vpp);
  76   76  static void     segnf_dump(struct seg *seg);
  77   77  static int      segnf_pagelock(struct seg *seg, caddr_t addr, size_t len,
  78   78                      struct page ***ppp, enum lock_type type, enum seg_rw rw);
  79      -static int      segnf_setpagesize(struct seg *seg, caddr_t addr, size_t len,
  80      -                    uint_t szc);
  81   79  
  82   80  
  83   81  struct seg_ops segnf_ops = {
  84   82          .dup            = segnf_dup,
  85   83          .unmap          = segnf_unmap,
  86   84          .free           = segnf_free,
  87   85          .fault          = (faultcode_t (*)(struct hat *, struct seg *, caddr_t,
  88   86              size_t, enum fault_type, enum seg_rw))segnf_nomap,
  89   87          .faulta         = (faultcode_t (*)(struct seg *, caddr_t)) segnf_nomap,
  90   88          .setprot        = segnf_setprot,
↓ open down ↓ 6 lines elided ↑ open up ↑
  97   95          .lockop         = (int (*)(struct seg *, caddr_t, size_t, int, int,
  98   96              ulong_t *, size_t))segnf_nop,
  99   97          .getprot        = segnf_getprot,
 100   98          .getoffset      = segnf_getoffset,
 101   99          .gettype        = segnf_gettype,
 102  100          .getvp          = segnf_getvp,
 103  101          .advise         = (int (*)(struct seg *, caddr_t, size_t, uint_t))
 104  102                  segnf_nop,
 105  103          .dump           = segnf_dump,
 106  104          .pagelock       = segnf_pagelock,
 107      -        .setpagesize    = segnf_setpagesize,
 108  105  };
 109  106  
 110  107  /*
 111  108   * vnode and page for the page of zeros we use for the nf mappings.
 112  109   */
 113  110  static kmutex_t segnf_lock;
 114  111  static struct vnode nfvp;
 115  112  static struct page **nfpp;
 116  113  
 117  114  #define addr_to_vcolor(addr)                                            \
↓ open down ↓ 336 lines elided ↑ open up ↑
 454  451   */
 455  452  /* ARGSUSED */
 456  453  static void
 457  454  segnf_dump(struct seg *seg)
 458  455  {}
 459  456  
 460  457  /*ARGSUSED*/
 461  458  static int
 462  459  segnf_pagelock(struct seg *seg, caddr_t addr, size_t len,
 463  460      struct page ***ppp, enum lock_type type, enum seg_rw rw)
 464      -{
 465      -        return (ENOTSUP);
 466      -}
 467      -
 468      -/*ARGSUSED*/
 469      -static int
 470      -segnf_setpagesize(struct seg *seg, caddr_t addr, size_t len,
 471      -    uint_t szc)
 472  461  {
 473  462          return (ENOTSUP);
 474  463  }
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX