Print this page
6150 use NULL getmemid segop as a shorthand for ENODEV

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 ↓ 70 lines elided ↑ open up ↑
  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   79  static int      segnf_setpagesize(struct seg *seg, caddr_t addr, size_t len,
  80   80                      uint_t szc);
  81      -static int      segnf_getmemid(struct seg *seg, caddr_t addr, memid_t *memidp);
  82   81  
  83   82  
  84   83  struct seg_ops segnf_ops = {
  85   84          .dup            = segnf_dup,
  86   85          .unmap          = segnf_unmap,
  87   86          .free           = segnf_free,
  88   87          .fault          = (faultcode_t (*)(struct hat *, struct seg *, caddr_t,
  89   88              size_t, enum fault_type, enum seg_rw))segnf_nomap,
  90   89          .faulta         = (faultcode_t (*)(struct seg *, caddr_t)) segnf_nomap,
  91   90          .setprot        = segnf_setprot,
↓ open down ↓ 7 lines elided ↑ open up ↑
  99   98              ulong_t *, size_t))segnf_nop,
 100   99          .getprot        = segnf_getprot,
 101  100          .getoffset      = segnf_getoffset,
 102  101          .gettype        = segnf_gettype,
 103  102          .getvp          = segnf_getvp,
 104  103          .advise         = (int (*)(struct seg *, caddr_t, size_t, uint_t))
 105  104                  segnf_nop,
 106  105          .dump           = segnf_dump,
 107  106          .pagelock       = segnf_pagelock,
 108  107          .setpagesize    = segnf_setpagesize,
 109      -        .getmemid       = segnf_getmemid,
 110  108  };
 111  109  
 112  110  /*
 113  111   * vnode and page for the page of zeros we use for the nf mappings.
 114  112   */
 115  113  static kmutex_t segnf_lock;
 116  114  static struct vnode nfvp;
 117  115  static struct page **nfpp;
 118  116  
 119  117  #define addr_to_vcolor(addr)                                            \
↓ open down ↓ 346 lines elided ↑ open up ↑
 466  464  {
 467  465          return (ENOTSUP);
 468  466  }
 469  467  
 470  468  /*ARGSUSED*/
 471  469  static int
 472  470  segnf_setpagesize(struct seg *seg, caddr_t addr, size_t len,
 473  471      uint_t szc)
 474  472  {
 475  473          return (ENOTSUP);
 476      -}
 477      -
 478      -/*ARGSUSED*/
 479      -static int
 480      -segnf_getmemid(struct seg *seg, caddr_t addr, memid_t *memidp)
 481      -{
 482      -        return (ENODEV);
 483  474  }
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX