Print this page
6149 use NULL capable segop as a shorthand for no-capabilities

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 ↓ 97 lines elided ↑ open up ↑
  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_dump(struct seg *);
 106  106  static void     segkpm_badop(void);
 107  107  static int      segkpm_notsup(void);
 108      -static int      segkpm_capable(struct seg *, segcapability_t);
 109  108  
 110  109  #define SEGKPM_BADOP(t) (t(*)())segkpm_badop
 111  110  #define SEGKPM_NOTSUP   (int(*)())segkpm_notsup
 112  111  
 113  112  static struct seg_ops segkpm_ops = {
 114  113          .dup            = SEGKPM_BADOP(int),
 115  114          .unmap          = SEGKPM_BADOP(int),
 116  115          .free           = SEGKPM_BADOP(void),
 117  116          .fault          = segkpm_fault,
 118  117          .faulta         = SEGKPM_BADOP(int),
↓ open down ↓ 7 lines elided ↑ open up ↑
 126  125          .getprot        = SEGKPM_BADOP(int),
 127  126          .getoffset      = SEGKPM_BADOP(u_offset_t),
 128  127          .gettype        = SEGKPM_BADOP(int),
 129  128          .getvp          = SEGKPM_BADOP(int),
 130  129          .advise         = SEGKPM_BADOP(int),
 131  130          .dump           = segkpm_dump,
 132  131          .pagelock       = SEGKPM_NOTSUP,
 133  132          .setpagesize    = SEGKPM_BADOP(int),
 134  133          .getmemid       = SEGKPM_BADOP(int),
 135  134          .getpolicy      = SEGKPM_BADOP(lgrp_mem_policy_info_t *),
 136      -        .capable        = segkpm_capable,
 137  135  };
 138  136  
 139  137  /*
 140  138   * kpm_pgsz and kpm_pgshft are set by platform layer.
 141  139   */
 142  140  size_t          kpm_pgsz;       /* kpm page size */
 143  141  uint_t          kpm_pgshft;     /* kpm page shift */
 144  142  u_offset_t      kpm_pgoff;      /* kpm page offset mask */
 145  143  uint_t          kpmp2pshft;     /* kpm page to page shift */
 146  144  pgcnt_t         kpmpnpgs;       /* how many pages per kpm page */
↓ open down ↓ 174 lines elided ↑ open up ↑
 321  319          return (ENOTSUP);
 322  320  }
 323  321  
 324  322  /*
 325  323   * segkpm pages are not dumped, so we just return
 326  324   */
 327  325  /*ARGSUSED*/
 328  326  static void
 329  327  segkpm_dump(struct seg *seg)
 330  328  {}
 331      -
 332      -/*
 333      - * We claim to have no special capabilities.
 334      - */
 335      -/*ARGSUSED*/
 336      -static int
 337      -segkpm_capable(struct seg *seg, segcapability_t capability)
 338      -{
 339      -        return (0);
 340      -}
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX