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_spt.c
          +++ new/usr/src/uts/common/vm/seg_spt.c
↓ open down ↓ 131 lines elided ↑ open up ↑
 132  132  static int segspt_shmgetprot(struct seg *seg, caddr_t addr, size_t len,
 133  133                          uint_t *protv);
 134  134  static u_offset_t segspt_shmgetoffset(struct seg *seg, caddr_t addr);
 135  135  static int segspt_shmgettype(struct seg *seg, caddr_t addr);
 136  136  static int segspt_shmgetvp(struct seg *seg, caddr_t addr, struct vnode **vpp);
 137  137  static int segspt_shmadvise(struct seg *seg, caddr_t addr, size_t len,
 138  138                          uint_t behav);
 139  139  static void segspt_shmdump(struct seg *seg);
 140  140  static int segspt_shmpagelock(struct seg *, caddr_t, size_t,
 141  141                          struct page ***, enum lock_type, enum seg_rw);
 142      -static int segspt_shmsetpgsz(struct seg *, caddr_t, size_t, uint_t);
 143  142  static int segspt_shmgetmemid(struct seg *, caddr_t, memid_t *);
 144  143  static lgrp_mem_policy_info_t *segspt_shmgetpolicy(struct seg *, caddr_t);
 145  144  
 146  145  struct seg_ops segspt_shmops = {
 147  146          .dup            = segspt_shmdup,
 148  147          .unmap          = segspt_shmunmap,
 149  148          .free           = segspt_shmfree,
 150  149          .fault          = segspt_shmfault,
 151  150          .faulta         = segspt_shmfaulta,
 152  151          .setprot        = segspt_shmsetprot,
↓ open down ↓ 3 lines elided ↑ open up ↑
 156  155          .sync           = segspt_shmsync,
 157  156          .incore         = segspt_shmincore,
 158  157          .lockop         = segspt_shmlockop,
 159  158          .getprot        = segspt_shmgetprot,
 160  159          .getoffset      = segspt_shmgetoffset,
 161  160          .gettype        = segspt_shmgettype,
 162  161          .getvp          = segspt_shmgetvp,
 163  162          .advise         = segspt_shmadvise,
 164  163          .dump           = segspt_shmdump,
 165  164          .pagelock       = segspt_shmpagelock,
 166      -        .setpagesize    = segspt_shmsetpgsz,
 167  165          .getmemid       = segspt_shmgetmemid,
 168  166          .getpolicy      = segspt_shmgetpolicy,
 169  167  };
 170  168  
 171  169  static void segspt_purge(struct seg *seg);
 172  170  static int segspt_reclaim(void *, caddr_t, size_t, struct page **,
 173  171                  enum seg_rw, int);
 174  172  static int spt_anon_getpages(struct seg *seg, caddr_t addr, size_t len,
 175  173                  page_t **ppa);
 176  174  
↓ open down ↓ 2831 lines elided ↑ open up ↑
3008 3006          }
3009 3007  
3010 3008          return (0);
3011 3009  }
3012 3010  
3013 3011  /*ARGSUSED*/
3014 3012  void
3015 3013  segspt_shmdump(struct seg *seg)
3016 3014  {
3017 3015          /* no-op for ISM segment */
3018      -}
3019      -
3020      -/*ARGSUSED*/
3021      -static faultcode_t
3022      -segspt_shmsetpgsz(struct seg *seg, caddr_t addr, size_t len, uint_t szc)
3023      -{
3024      -        return (ENOTSUP);
3025 3016  }
3026 3017  
3027 3018  /*
3028 3019   * get a memory ID for an addr in a given segment
3029 3020   */
3030 3021  static int
3031 3022  segspt_shmgetmemid(struct seg *seg, caddr_t addr, memid_t *memidp)
3032 3023  {
3033 3024          struct shm_data *shmd = (struct shm_data *)seg->s_data;
3034 3025          struct anon     *ap;
↓ open down ↓ 72 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX