Print this page
use NULL dump segop as a shorthand for no-op
Instead of forcing every segment driver to implement a dummy function that
does nothing, handle NULL dump segop function pointer as a no-op shorthand.

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 ↓ 94 lines elided ↑ open up ↑
  95   95   */
  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      -static void     segkpm_dump(struct seg *);
 106  105  static int      segkpm_pagelock(struct seg *seg, caddr_t addr, size_t len,
 107  106                          struct page ***page, enum lock_type type,
 108  107                          enum seg_rw rw);
 109  108  
 110  109  static const struct seg_ops segkpm_ops = {
 111  110          .fault          = segkpm_fault,
 112      -        .dump           = segkpm_dump,
 113  111          .pagelock       = segkpm_pagelock,
 114  112  //#ifndef SEGKPM_SUPPORT
 115  113  #if 0
 116  114  #error FIXME: define nop
 117  115          .dup            = nop,
 118  116          .unmap          = nop,
 119  117          .free           = nop,
 120  118          .faulta         = nop,
 121  119          .setprot        = nop,
 122  120          .checkprot      = nop,
↓ open down ↓ 187 lines elided ↑ open up ↑
 310  308  }
 311  309  
 312  310  #endif  /* SEGKPM_SUPPORT */
 313  311  
 314  312  /* ARGSUSED */
 315  313  static int
 316  314  segkpm_pagelock(struct seg *seg, caddr_t addr, size_t len,
 317  315          struct page ***page, enum lock_type type, enum seg_rw rw)
 318  316  {
 319  317          return (ENOTSUP);
 320      -}
 321      -
 322      -/*
 323      - * segkpm pages are not dumped, so we just return
 324      - */
 325      -/*ARGSUSED*/
 326      -static void
 327      -segkpm_dump(struct seg *seg)
 328      -{
 329  318  }
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX