Print this page
use C99 initializers in segment ops structures

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 ↓ 76 lines elided ↑ open up ↑
  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   81  static int      segnf_getmemid(struct seg *seg, caddr_t addr, memid_t *memidp);
  82   82  static lgrp_mem_policy_info_t   *segnf_getpolicy(struct seg *seg,
  83   83      caddr_t addr);
  84   84  
  85   85  
  86   86  struct seg_ops segnf_ops = {
  87      -        segnf_dup,
  88      -        segnf_unmap,
  89      -        segnf_free,
  90      -        (faultcode_t (*)(struct hat *, struct seg *, caddr_t, size_t,
  91      -            enum fault_type, enum seg_rw))
  92      -                segnf_nomap,            /* fault */
  93      -        (faultcode_t (*)(struct seg *, caddr_t))
  94      -                segnf_nomap,            /* faulta */
  95      -        segnf_setprot,
  96      -        segnf_checkprot,
  97      -        (int (*)())segnf_badop,         /* kluster */
  98      -        (int (*)(struct seg *, caddr_t, size_t, int, uint_t))
  99      -                segnf_nop,              /* sync */
 100      -        (size_t (*)(struct seg *, caddr_t, size_t, char *))
 101      -                segnf_nop,              /* incore */
 102      -        (int (*)(struct seg *, caddr_t, size_t, int, int, ulong_t *, size_t))
 103      -                segnf_nop,              /* lockop */
 104      -        segnf_getprot,
 105      -        segnf_getoffset,
 106      -        segnf_gettype,
 107      -        segnf_getvp,
 108      -        (int (*)(struct seg *, caddr_t, size_t, uint_t))
 109      -                segnf_nop,              /* advise */
 110      -        segnf_dump,
 111      -        segnf_pagelock,
 112      -        segnf_setpagesize,
 113      -        segnf_getmemid,
 114      -        segnf_getpolicy,
       87 +        .dup            = segnf_dup,
       88 +        .unmap          = segnf_unmap,
       89 +        .free           = segnf_free,
       90 +        .fault          = (faultcode_t (*)(struct hat *, struct seg *, caddr_t,
       91 +            size_t, enum fault_type, enum seg_rw))segnf_nomap,
       92 +        .faulta         = (faultcode_t (*)(struct seg *, caddr_t)) segnf_nomap,
       93 +        .setprot        = segnf_setprot,
       94 +        .checkprot      = segnf_checkprot,
       95 +        .kluster        = (int (*)())segnf_badop,
       96 +        .sync           = (int (*)(struct seg *, caddr_t, size_t, int, uint_t))
       97 +                segnf_nop,
       98 +        .incore         = (size_t (*)(struct seg *, caddr_t, size_t, char *))
       99 +                segnf_nop,
      100 +        .lockop         = (int (*)(struct seg *, caddr_t, size_t, int, int,
      101 +            ulong_t *, size_t))segnf_nop,
      102 +        .getprot        = segnf_getprot,
      103 +        .getoffset      = segnf_getoffset,
      104 +        .gettype        = segnf_gettype,
      105 +        .getvp          = segnf_getvp,
      106 +        .advise         = (int (*)(struct seg *, caddr_t, size_t, uint_t))
      107 +                segnf_nop,
      108 +        .dump           = segnf_dump,
      109 +        .pagelock       = segnf_pagelock,
      110 +        .setpagesize    = segnf_setpagesize,
      111 +        .getmemid       = segnf_getmemid,
      112 +        .getpolicy      = segnf_getpolicy,
 115  113  };
 116  114  
 117  115  /*
 118  116   * vnode and page for the page of zeros we use for the nf mappings.
 119  117   */
 120  118  static kmutex_t segnf_lock;
 121  119  static struct vnode nfvp;
 122  120  static struct page **nfpp;
 123  121  
 124  122  #define addr_to_vcolor(addr)                                            \
↓ open down ↓ 371 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX