Print this page
6153 use NULL pagelock segop as a shorthand for ENOTSUP

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/vm/seg_kpm.c
          +++ new/usr/src/uts/common/vm/seg_kpm.c
↓ open down ↓ 95 lines elided ↑ open up ↑
  96   96  int kpm_enable = 1;
  97   97  int kpm_smallpages = 0;
  98   98  int segmap_kpm = 1;
  99   99  
 100  100  /*
 101  101   * Private seg op routines.
 102  102   */
 103  103  faultcode_t segkpm_fault(struct hat *hat, struct seg *seg, caddr_t addr,
 104  104                          size_t len, enum fault_type type, enum seg_rw rw);
 105  105  static void     segkpm_badop(void);
 106      -static int      segkpm_notsup(void);
 107  106  
 108  107  #define SEGKPM_BADOP(t) (t(*)())segkpm_badop
 109      -#define SEGKPM_NOTSUP   (int(*)())segkpm_notsup
 110  108  
 111  109  static struct seg_ops segkpm_ops = {
 112  110          .dup            = SEGKPM_BADOP(int),
 113  111          .unmap          = SEGKPM_BADOP(int),
 114  112          .free           = SEGKPM_BADOP(void),
 115  113          .fault          = segkpm_fault,
 116  114          .faulta         = SEGKPM_BADOP(int),
 117  115          .setprot        = SEGKPM_BADOP(int),
 118  116          .checkprot      = SEGKPM_BADOP(int),
 119  117          .kluster        = SEGKPM_BADOP(int),
 120  118          .swapout        = SEGKPM_BADOP(size_t),
 121  119          .sync           = SEGKPM_BADOP(int),
 122  120          .incore         = SEGKPM_BADOP(size_t),
 123  121          .lockop         = SEGKPM_BADOP(int),
 124  122          .getprot        = SEGKPM_BADOP(int),
 125  123          .getoffset      = SEGKPM_BADOP(u_offset_t),
 126  124          .gettype        = SEGKPM_BADOP(int),
 127  125          .getvp          = SEGKPM_BADOP(int),
 128  126          .advise         = SEGKPM_BADOP(int),
 129      -        .pagelock       = SEGKPM_NOTSUP,
 130  127          .setpagesize    = SEGKPM_BADOP(int),
 131  128          .getmemid       = SEGKPM_BADOP(int),
 132  129          .getpolicy      = SEGKPM_BADOP(lgrp_mem_policy_info_t *),
 133  130  };
 134  131  
 135  132  /*
 136  133   * kpm_pgsz and kpm_pgshft are set by platform layer.
 137  134   */
 138  135  size_t          kpm_pgsz;       /* kpm page size */
 139  136  uint_t          kpm_pgshft;     /* kpm page shift */
↓ open down ↓ 163 lines elided ↑ open up ↑
 303  300  /* ARGSUSED */
 304  301  caddr_t segkpm_create_va(u_offset_t off) { return (NULL); }
 305  302  
 306  303  /* ARGSUSED */
 307  304  void segkpm_mapout_validkpme(struct kpme *kpme) {}
 308  305  
 309  306  static void
 310  307  segkpm_badop() {}
 311  308  
 312  309  #endif  /* SEGKPM_SUPPORT */
 313      -
 314      -static int
 315      -segkpm_notsup()
 316      -{
 317      -        return (ENOTSUP);
 318      -}
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX