Print this page
7127  remove -Wno-missing-braces from Makefile.uts


  11  * See the License for the specific language governing permissions
  12  * and limitations under the License.
  13  *
  14  * When distributing Covered Code, include this CDDL HEADER in each
  15  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  16  * If applicable, add the following below this CDDL HEADER, with the
  17  * fields enclosed by brackets "[]" replaced with your own identifying
  18  * information: Portions Copyright [yyyy] [name of copyright owner]
  19  *
  20  * CDDL HEADER END
  21  */
  22 /*
  23  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
  24  * Use is subject to license terms.
  25  */
  26 
  27 /*      Copyright (c) 1990, 1991 UNIX System Laboratories, Inc. */
  28 /*      Copyright (c) 1984, 1986, 1987, 1988, 1989, 1990 AT&T       */
  29 /*        All Rights Reserved   */
  30 
  31 #pragma ident   "%Z%%M% %I%     %E% SMI"
  32 
  33 #include <sys/proc.h>
  34 #include <sys/priocntl.h>
  35 #include <sys/class.h>
  36 #include <sys/disp.h>
  37 #include <sys/ts.h>
  38 #include <sys/tspriocntl.h>
  39 #include <sys/modctl.h>
  40 
  41 /*
  42  * The purpose of this file is to allow a user to make their own
  43  * ts_dptbl. The contents of this file should be included in the
  44  * ts_dptbl(4) man page with proper instructions for making
  45  * and replacing the TS_DPTBL.kmod in modules/sched. This was the
  46  * only way to provide functionality equivalent to the mkboot/cunix
  47  * method in SVr4 without having the utilities mkboot/cunix in
  48  * SunOS/Svr4.
  49  * It is recommended that the system calls be used to change the time
  50  * quantums instead of re-building the module.
  51  * There are also other tunable time sharing parameters in here also
  52  * that used to be in param.c
  53  */
  54 
  55 extern int ts_dispatch_extended;
  56 
  57 static struct modlmisc modlmisc = {
  58         &mod_miscops, "Time sharing dispatch table"
  59 };
  60 
  61 static struct modlinkage modlinkage = {
  62         MODREV_1, &modlmisc, 0
  63 };
  64 
  65 int
  66 _init()
  67 {
  68         return (mod_install(&modlinkage));
  69 }
  70 
  71 int
  72 _info(struct modinfo *modinfop)
  73 {
  74         return (mod_info(&modlinkage, modinfop));
  75 }
  76 
  77 #define TSGPUP0 0       /* Global priority for TS user priority 0 */
  78 #define TSGPKP0 60      /* Global priority for TS kernel priority 0 */
  79 
  80 /*
  81  * array of global priorities used by ts procs sleeping or
  82  * running in kernel mode after sleep
  83  */
  84 
  85 pri_t config_ts_kmdpris[] = {
  86         TSGPKP0,    TSGPKP0+1,  TSGPKP0+2,  TSGPKP0+3,
  87         TSGPKP0+4,  TSGPKP0+5,  TSGPKP0+6,  TSGPKP0+7,
  88         TSGPKP0+8,  TSGPKP0+9,  TSGPKP0+10, TSGPKP0+11,
  89         TSGPKP0+12, TSGPKP0+13, TSGPKP0+14, TSGPKP0+15,
  90         TSGPKP0+16, TSGPKP0+17, TSGPKP0+18, TSGPKP0+19,
  91         TSGPKP0+20, TSGPKP0+21, TSGPKP0+22, TSGPKP0+23,
  92         TSGPKP0+24, TSGPKP0+25, TSGPKP0+26, TSGPKP0+27,
  93         TSGPKP0+28, TSGPKP0+29, TSGPKP0+30, TSGPKP0+31,
  94         TSGPKP0+32, TSGPKP0+33, TSGPKP0+34, TSGPKP0+35,
  95         TSGPKP0+36, TSGPKP0+37, TSGPKP0+38, TSGPKP0+39
  96 };
  97 
  98 tsdpent_t       config_ts_dptbl[] = {
  99 
 100 /*      glbpri          qntm    tqexp   slprt   mxwt    lwt */
 101 
 102         TSGPUP0+0,      20,      0,     50,         0,  50,
 103         TSGPUP0+1,      20,      0,     50,         0,  50,
 104         TSGPUP0+2,      20,      0,     50,         0,  50,
 105         TSGPUP0+3,      20,      0,     50,         0,  50,
 106         TSGPUP0+4,      20,      0,     50,         0,  50,
 107         TSGPUP0+5,      20,      0,     50,         0,  50,
 108         TSGPUP0+6,      20,      0,     50,         0,  50,
 109         TSGPUP0+7,      20,      0,     50,         0,  50,
 110         TSGPUP0+8,      20,      0,     50,         0,  50,
 111         TSGPUP0+9,      20,      0,     50,         0,  50,
 112         TSGPUP0+10,     16,      0,     51,         0,  51,
 113         TSGPUP0+11,     16,      1,     51,         0,  51,
 114         TSGPUP0+12,     16,      2,     51,         0,  51,
 115         TSGPUP0+13,     16,      3,     51,         0,  51,
 116         TSGPUP0+14,     16,      4,     51,         0,  51,
 117         TSGPUP0+15,     16,      5,     51,         0,  51,
 118         TSGPUP0+16,     16,      6,     51,         0,  51,
 119         TSGPUP0+17,     16,      7,     51,         0,  51,
 120         TSGPUP0+18,     16,      8,     51,         0,  51,
 121         TSGPUP0+19,     16,      9,     51,         0,  51,
 122         TSGPUP0+20,     12,     10,     52,         0,  52,
 123         TSGPUP0+21,     12,     11,     52,         0,  52,
 124         TSGPUP0+22,     12,     12,     52,         0,  52,
 125         TSGPUP0+23,     12,     13,     52,         0,  52,
 126         TSGPUP0+24,     12,     14,     52,         0,  52,
 127         TSGPUP0+25,     12,     15,     52,         0,  52,
 128         TSGPUP0+26,     12,     16,     52,         0,  52,
 129         TSGPUP0+27,     12,     17,     52,         0,  52,
 130         TSGPUP0+28,     12,     18,     52,         0,  52,
 131         TSGPUP0+29,     12,     19,     52,         0,  52,
 132         TSGPUP0+30,      8,     20,     53,         0,  53,
 133         TSGPUP0+31,      8,     21,     53,         0,  53,
 134         TSGPUP0+32,      8,     22,     53,         0,  53,
 135         TSGPUP0+33,      8,     23,     53,         0,  53,
 136         TSGPUP0+34,      8,     24,     53,         0,  53,
 137         TSGPUP0+35,      8,     25,     54,         0,  54,
 138         TSGPUP0+36,      8,     26,     54,         0,  54,
 139         TSGPUP0+37,      8,     27,     54,         0,  54,
 140         TSGPUP0+38,      8,     28,     54,         0,  54,
 141         TSGPUP0+39,      8,     29,     54,         0,  54,
 142         TSGPUP0+40,      4,     30,     55,         0,  55,
 143         TSGPUP0+41,      4,     31,     55,         0,  55,
 144         TSGPUP0+42,      4,     32,     55,         0,  55,
 145         TSGPUP0+43,      4,     33,     55,         0,  55,
 146         TSGPUP0+44,      4,     34,     55,         0,  55,
 147         TSGPUP0+45,      4,     35,     56,         0,  56,
 148         TSGPUP0+46,      4,     36,     57,         0,  57,
 149         TSGPUP0+47,      4,     37,     58,         0,  58,
 150         TSGPUP0+48,      4,     38,     58,         0,  58,
 151         TSGPUP0+49,      4,     39,     58,         0,  59,
 152         TSGPUP0+50,      4,     40,     58,         0,  59,
 153         TSGPUP0+51,      4,     41,     58,         0,  59,
 154         TSGPUP0+52,      4,     42,     58,         0,  59,
 155         TSGPUP0+53,      4,     43,     58,         0,  59,
 156         TSGPUP0+54,      4,     44,     58,         0,  59,
 157         TSGPUP0+55,      4,     45,     58,         0,  59,
 158         TSGPUP0+56,      4,     46,     58,         0,  59,
 159         TSGPUP0+57,      4,     47,     58,         0,  59,
 160         TSGPUP0+58,      4,     48,     58,         0,  59,
 161         TSGPUP0+59,      2,     49,     59,     32000,  59
 162 };
 163 
 164 /*
 165  * config_ts_dptbl_server[] is an alternate dispatch table that may
 166  * deliver better performance on large server configurations.
 167  * This table must be the same size as the default table, config_ts_dptbl.
 168  */
 169 tsdpent_t       config_ts_dptbl_server[] = {
 170 
 171 /*      glbpri          qntm    tqexp   slprt   mxwt    lwt */
 172 
 173         TSGPUP0+0,      40,      0,      1,         2,  40,
 174         TSGPUP0+1,      38,      0,      2,         2,  40,
 175         TSGPUP0+2,      38,      1,      3,         2,  40,
 176         TSGPUP0+3,      38,      1,      4,         2,  40,
 177         TSGPUP0+4,      38,      2,      5,         2,  40,
 178         TSGPUP0+5,      38,      2,      6,         2,  40,
 179         TSGPUP0+6,      38,      3,      7,         2,  40,
 180         TSGPUP0+7,      38,      3,      8,         2,  40,
 181         TSGPUP0+8,      38,      4,      9,         2,  40,
 182         TSGPUP0+9,      38,      4,     10,         2,  40,
 183         TSGPUP0+10,     38,      5,     11,         2,  40,
 184         TSGPUP0+11,     38,      5,     12,         2,  40,
 185         TSGPUP0+12,     38,      6,     13,         2,  40,
 186         TSGPUP0+13,     38,      6,     14,         2,  40,
 187         TSGPUP0+14,     38,      7,     15,         2,  40,
 188         TSGPUP0+15,     38,      7,     16,         2,  40,
 189         TSGPUP0+16,     38,      8,     17,         2,  40,
 190         TSGPUP0+17,     38,      8,     18,         2,  40,
 191         TSGPUP0+18,     38,      9,     19,         2,  40,
 192         TSGPUP0+19,     38,      9,     20,         2,  40,
 193         TSGPUP0+20,     36,     10,     21,         2,  40,
 194         TSGPUP0+21,     36,     11,     22,         2,  40,
 195         TSGPUP0+22,     36,     12,     23,         2,  40,
 196         TSGPUP0+23,     36,     13,     24,         2,  40,
 197         TSGPUP0+24,     36,     14,     25,         2,  40,
 198         TSGPUP0+25,     36,     15,     26,         2,  40,
 199         TSGPUP0+26,     36,     16,     27,         2,  40,
 200         TSGPUP0+27,     36,     17,     28,         2,  40,
 201         TSGPUP0+28,     36,     18,     29,         2,  40,
 202         TSGPUP0+29,     36,     19,     30,         2,  40,
 203         TSGPUP0+30,     36,     20,     31,         2,  40,
 204         TSGPUP0+31,     36,     21,     32,         2,  40,
 205         TSGPUP0+32,     36,     22,     33,         2,  40,
 206         TSGPUP0+33,     36,     23,     34,         2,  40,
 207         TSGPUP0+34,     36,     24,     35,         2,  40,
 208         TSGPUP0+35,     36,     25,     36,         2,  40,
 209         TSGPUP0+36,     36,     26,     37,         2,  40,
 210         TSGPUP0+37,     36,     27,     38,         2,  40,
 211         TSGPUP0+38,     36,     28,     39,         2,  40,
 212         TSGPUP0+39,     36,     29,     40,         2,  40,
 213         TSGPUP0+40,     36,     30,     41,         2,  41,
 214         TSGPUP0+41,     34,     31,     42,         2,  42,
 215         TSGPUP0+42,     34,     32,     43,         2,  43,
 216         TSGPUP0+43,     34,     33,     44,         2,  44,
 217         TSGPUP0+44,     34,     34,     45,         2,  45,
 218         TSGPUP0+45,     34,     35,     46,         2,  46,
 219         TSGPUP0+46,     34,     36,     47,         2,  47,
 220         TSGPUP0+47,     34,     37,     48,         2,  48,
 221         TSGPUP0+48,     34,     38,     49,         2,  49,
 222         TSGPUP0+49,     34,     39,     50,         2,  50,
 223         TSGPUP0+50,     34,     40,     51,         2,  51,
 224         TSGPUP0+51,     34,     41,     52,         2,  52,
 225         TSGPUP0+52,     34,     42,     53,         2,  53,
 226         TSGPUP0+53,     34,     43,     54,         2,  54,
 227         TSGPUP0+54,     34,     44,     55,         2,  55,
 228         TSGPUP0+55,     34,     45,     56,         2,  56,
 229         TSGPUP0+56,     34,     46,     57,         2,  57,
 230         TSGPUP0+57,     34,     47,     58,         2,  58,
 231         TSGPUP0+58,     34,     48,     59,         2,  59,
 232         TSGPUP0+59,     34,     49,     59,         2,  59
 233 };
 234 
 235 
 236 
 237 pri_t config_ts_maxumdpri = sizeof (config_ts_dptbl) / sizeof (tsdpent_t) - 1;
 238 
 239 /*
 240  * Return the address of config_ts_dptbl
 241  */
 242 tsdpent_t *
 243 ts_getdptbl()
 244 {
 245         /*
 246          * If ts_dispatch_extended is -1, set it to 0x0
 247          * to choose the default TS table.
 248          */
 249         if (ts_dispatch_extended == -1)
 250                 ts_dispatch_extended = 0;
 251 
 252         /*




  11  * See the License for the specific language governing permissions
  12  * and limitations under the License.
  13  *
  14  * When distributing Covered Code, include this CDDL HEADER in each
  15  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  16  * If applicable, add the following below this CDDL HEADER, with the
  17  * fields enclosed by brackets "[]" replaced with your own identifying
  18  * information: Portions Copyright [yyyy] [name of copyright owner]
  19  *
  20  * CDDL HEADER END
  21  */
  22 /*
  23  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
  24  * Use is subject to license terms.
  25  */
  26 
  27 /*      Copyright (c) 1990, 1991 UNIX System Laboratories, Inc. */
  28 /*      Copyright (c) 1984, 1986, 1987, 1988, 1989, 1990 AT&T       */
  29 /*        All Rights Reserved   */
  30 


  31 #include <sys/proc.h>
  32 #include <sys/priocntl.h>
  33 #include <sys/class.h>
  34 #include <sys/disp.h>
  35 #include <sys/ts.h>
  36 #include <sys/tspriocntl.h>
  37 #include <sys/modctl.h>
  38 
  39 /*
  40  * The purpose of this file is to allow a user to make their own
  41  * ts_dptbl. The contents of this file should be included in the
  42  * ts_dptbl(4) man page with proper instructions for making
  43  * and replacing the TS_DPTBL.kmod in modules/sched. This was the
  44  * only way to provide functionality equivalent to the mkboot/cunix
  45  * method in SVr4 without having the utilities mkboot/cunix in
  46  * SunOS/Svr4.
  47  * It is recommended that the system calls be used to change the time
  48  * quantums instead of re-building the module.
  49  * There are also other tunable time sharing parameters in here also
  50  * that used to be in param.c
  51  */
  52 
  53 extern int ts_dispatch_extended;
  54 
  55 static struct modlmisc modlmisc = {
  56         &mod_miscops, "Time sharing dispatch table"
  57 };
  58 
  59 static struct modlinkage modlinkage = {
  60         MODREV_1, { &modlmisc, NULL }
  61 };
  62 
  63 int
  64 _init()
  65 {
  66         return (mod_install(&modlinkage));
  67 }
  68 
  69 int
  70 _info(struct modinfo *modinfop)
  71 {
  72         return (mod_info(&modlinkage, modinfop));
  73 }
  74 
  75 #define TSGPUP0 0       /* Global priority for TS user priority 0 */
  76 #define TSGPKP0 60      /* Global priority for TS kernel priority 0 */
  77 
  78 /*
  79  * array of global priorities used by ts procs sleeping or
  80  * running in kernel mode after sleep
  81  */
  82 
  83 pri_t config_ts_kmdpris[] = {
  84         TSGPKP0,    TSGPKP0+1,  TSGPKP0+2,  TSGPKP0+3,
  85         TSGPKP0+4,  TSGPKP0+5,  TSGPKP0+6,  TSGPKP0+7,
  86         TSGPKP0+8,  TSGPKP0+9,  TSGPKP0+10, TSGPKP0+11,
  87         TSGPKP0+12, TSGPKP0+13, TSGPKP0+14, TSGPKP0+15,
  88         TSGPKP0+16, TSGPKP0+17, TSGPKP0+18, TSGPKP0+19,
  89         TSGPKP0+20, TSGPKP0+21, TSGPKP0+22, TSGPKP0+23,
  90         TSGPKP0+24, TSGPKP0+25, TSGPKP0+26, TSGPKP0+27,
  91         TSGPKP0+28, TSGPKP0+29, TSGPKP0+30, TSGPKP0+31,
  92         TSGPKP0+32, TSGPKP0+33, TSGPKP0+34, TSGPKP0+35,
  93         TSGPKP0+36, TSGPKP0+37, TSGPKP0+38, TSGPKP0+39
  94 };
  95 
  96 tsdpent_t       config_ts_dptbl[] = {
  97 
  98 /*      glbpri          qntm    tqexp   slprt   mxwt    lwt */
  99 
 100         { TSGPUP0+0,    20,      0,     50,         0,  50 },
 101         { TSGPUP0+1,    20,      0,     50,         0,  50 },
 102         { TSGPUP0+2,    20,      0,     50,         0,  50 },
 103         { TSGPUP0+3,    20,      0,     50,         0,  50 },
 104         { TSGPUP0+4,    20,      0,     50,         0,  50 },
 105         { TSGPUP0+5,    20,      0,     50,         0,  50 },
 106         { TSGPUP0+6,    20,      0,     50,         0,  50 },
 107         { TSGPUP0+7,    20,      0,     50,         0,  50 },
 108         { TSGPUP0+8,    20,      0,     50,         0,  50 },
 109         { TSGPUP0+9,    20,      0,     50,         0,  50 },
 110         { TSGPUP0+10,   16,      0,     51,         0,  51 },
 111         { TSGPUP0+11,   16,      1,     51,         0,  51 },
 112         { TSGPUP0+12,   16,      2,     51,         0,  51 },
 113         { TSGPUP0+13,   16,      3,     51,         0,  51 },
 114         { TSGPUP0+14,   16,      4,     51,         0,  51 },
 115         { TSGPUP0+15,   16,      5,     51,         0,  51 },
 116         { TSGPUP0+16,   16,      6,     51,         0,  51 },
 117         { TSGPUP0+17,   16,      7,     51,         0,  51 },
 118         { TSGPUP0+18,   16,      8,     51,         0,  51 },
 119         { TSGPUP0+19,   16,      9,     51,         0,  51 },
 120         { TSGPUP0+20,   12,     10,     52,         0,  52 },
 121         { TSGPUP0+21,   12,     11,     52,         0,  52 },
 122         { TSGPUP0+22,   12,     12,     52,         0,  52 },
 123         { TSGPUP0+23,   12,     13,     52,         0,  52 },
 124         { TSGPUP0+24,   12,     14,     52,         0,  52 },
 125         { TSGPUP0+25,   12,     15,     52,         0,  52 },
 126         { TSGPUP0+26,   12,     16,     52,         0,  52 },
 127         { TSGPUP0+27,   12,     17,     52,         0,  52 },
 128         { TSGPUP0+28,   12,     18,     52,         0,  52 },
 129         { TSGPUP0+29,   12,     19,     52,         0,  52 },
 130         { TSGPUP0+30,    8,     20,     53,         0,  53 },
 131         { TSGPUP0+31,    8,     21,     53,         0,  53 },
 132         { TSGPUP0+32,    8,     22,     53,         0,  53 },
 133         { TSGPUP0+33,    8,     23,     53,         0,  53 },
 134         { TSGPUP0+34,    8,     24,     53,         0,  53 },
 135         { TSGPUP0+35,    8,     25,     54,         0,  54 },
 136         { TSGPUP0+36,    8,     26,     54,         0,  54 },
 137         { TSGPUP0+37,    8,     27,     54,         0,  54 },
 138         { TSGPUP0+38,    8,     28,     54,         0,  54 },
 139         { TSGPUP0+39,    8,     29,     54,         0,  54 },
 140         { TSGPUP0+40,    4,     30,     55,         0,  55 },
 141         { TSGPUP0+41,    4,     31,     55,         0,  55 },
 142         { TSGPUP0+42,    4,     32,     55,         0,  55 },
 143         { TSGPUP0+43,    4,     33,     55,         0,  55 },
 144         { TSGPUP0+44,    4,     34,     55,         0,  55 },
 145         { TSGPUP0+45,    4,     35,     56,         0,  56 },
 146         { TSGPUP0+46,    4,     36,     57,         0,  57 },
 147         { TSGPUP0+47,    4,     37,     58,         0,  58 },
 148         { TSGPUP0+48,    4,     38,     58,         0,  58 },
 149         { TSGPUP0+49,    4,     39,     58,         0,  59 },
 150         { TSGPUP0+50,    4,     40,     58,         0,  59 },
 151         { TSGPUP0+51,    4,     41,     58,         0,  59 },
 152         { TSGPUP0+52,    4,     42,     58,         0,  59 },
 153         { TSGPUP0+53,    4,     43,     58,         0,  59 },
 154         { TSGPUP0+54,    4,     44,     58,         0,  59 },
 155         { TSGPUP0+55,    4,     45,     58,         0,  59 },
 156         { TSGPUP0+56,    4,     46,     58,         0,  59 },
 157         { TSGPUP0+57,    4,     47,     58,         0,  59 },
 158         { TSGPUP0+58,    4,     48,     58,         0,  59 },
 159         { TSGPUP0+59,    2,     49,     59,     32000,  59 }
 160 };
 161 
 162 /*
 163  * config_ts_dptbl_server[] is an alternate dispatch table that may
 164  * deliver better performance on large server configurations.
 165  * This table must be the same size as the default table, config_ts_dptbl.
 166  */
 167 tsdpent_t       config_ts_dptbl_server[] = {
 168 
 169 /*      glbpri          qntm    tqexp   slprt   mxwt    lwt */
 170 
 171         { TSGPUP0+0,    40,      0,      1,         2,  40 },
 172         { TSGPUP0+1,    38,      0,      2,         2,  40 },
 173         { TSGPUP0+2,    38,      1,      3,         2,  40 },
 174         { TSGPUP0+3,    38,      1,      4,         2,  40 },
 175         { TSGPUP0+4,    38,      2,      5,         2,  40 },
 176         { TSGPUP0+5,    38,      2,      6,         2,  40 },
 177         { TSGPUP0+6,    38,      3,      7,         2,  40 },
 178         { TSGPUP0+7,    38,      3,      8,         2,  40 },
 179         { TSGPUP0+8,    38,      4,      9,         2,  40 },
 180         { TSGPUP0+9,    38,      4,     10,         2,  40 },
 181         { TSGPUP0+10,   38,      5,     11,         2,  40 },
 182         { TSGPUP0+11,   38,      5,     12,         2,  40 },
 183         { TSGPUP0+12,   38,      6,     13,         2,  40 },
 184         { TSGPUP0+13,   38,      6,     14,         2,  40 },
 185         { TSGPUP0+14,   38,      7,     15,         2,  40 },
 186         { TSGPUP0+15,   38,      7,     16,         2,  40 },
 187         { TSGPUP0+16,   38,      8,     17,         2,  40 },
 188         { TSGPUP0+17,   38,      8,     18,         2,  40 },
 189         { TSGPUP0+18,   38,      9,     19,         2,  40 },
 190         { TSGPUP0+19,   38,      9,     20,         2,  40 },
 191         { TSGPUP0+20,   36,     10,     21,         2,  40 },
 192         { TSGPUP0+21,   36,     11,     22,         2,  40 },
 193         { TSGPUP0+22,   36,     12,     23,         2,  40 },
 194         { TSGPUP0+23,   36,     13,     24,         2,  40 },
 195         { TSGPUP0+24,   36,     14,     25,         2,  40 },
 196         { TSGPUP0+25,   36,     15,     26,         2,  40 },
 197         { TSGPUP0+26,   36,     16,     27,         2,  40 },
 198         { TSGPUP0+27,   36,     17,     28,         2,  40 },
 199         { TSGPUP0+28,   36,     18,     29,         2,  40 },
 200         { TSGPUP0+29,   36,     19,     30,         2,  40 },
 201         { TSGPUP0+30,   36,     20,     31,         2,  40 },
 202         { TSGPUP0+31,   36,     21,     32,         2,  40 },
 203         { TSGPUP0+32,   36,     22,     33,         2,  40 },
 204         { TSGPUP0+33,   36,     23,     34,         2,  40 },
 205         { TSGPUP0+34,   36,     24,     35,         2,  40 },
 206         { TSGPUP0+35,   36,     25,     36,         2,  40 },
 207         { TSGPUP0+36,   36,     26,     37,         2,  40 },
 208         { TSGPUP0+37,   36,     27,     38,         2,  40 },
 209         { TSGPUP0+38,   36,     28,     39,         2,  40 },
 210         { TSGPUP0+39,   36,     29,     40,         2,  40 },
 211         { TSGPUP0+40,   36,     30,     41,         2,  41 },
 212         { TSGPUP0+41,   34,     31,     42,         2,  42 },
 213         { TSGPUP0+42,   34,     32,     43,         2,  43 },
 214         { TSGPUP0+43,   34,     33,     44,         2,  44 },
 215         { TSGPUP0+44,   34,     34,     45,         2,  45 },
 216         { TSGPUP0+45,   34,     35,     46,         2,  46 },
 217         { TSGPUP0+46,   34,     36,     47,         2,  47 },
 218         { TSGPUP0+47,   34,     37,     48,         2,  48 },
 219         { TSGPUP0+48,   34,     38,     49,         2,  49 },
 220         { TSGPUP0+49,   34,     39,     50,         2,  50 },
 221         { TSGPUP0+50,   34,     40,     51,         2,  51 },
 222         { TSGPUP0+51,   34,     41,     52,         2,  52 },
 223         { TSGPUP0+52,   34,     42,     53,         2,  53 },
 224         { TSGPUP0+53,   34,     43,     54,         2,  54 },
 225         { TSGPUP0+54,   34,     44,     55,         2,  55 },
 226         { TSGPUP0+55,   34,     45,     56,         2,  56 },
 227         { TSGPUP0+56,   34,     46,     57,         2,  57 },
 228         { TSGPUP0+57,   34,     47,     58,         2,  58 },
 229         { TSGPUP0+58,   34,     48,     59,         2,  59 },
 230         { TSGPUP0+59,   34,     49,     59,         2,  59 }
 231 };
 232 
 233 
 234 
 235 pri_t config_ts_maxumdpri = sizeof (config_ts_dptbl) / sizeof (tsdpent_t) - 1;
 236 
 237 /*
 238  * Return the address of config_ts_dptbl
 239  */
 240 tsdpent_t *
 241 ts_getdptbl()
 242 {
 243         /*
 244          * If ts_dispatch_extended is -1, set it to 0x0
 245          * to choose the default TS table.
 246          */
 247         if (ts_dispatch_extended == -1)
 248                 ts_dispatch_extended = 0;
 249 
 250         /*