COMPILATION LISTING OF SEGMENT stat_mpc_ Compiled by: Multics PL/I Compiler, Release 28e, of February 14, 1985 Compiled at: Honeywell Multics Op. - System M Compiled on: 04/02/85 1042.7 mst Tue Options: optimize map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 4* * * 5* * Copyright (c) 1972 by Massachusetts Institute of * 6* * Technology and Honeywell Information Systems, Inc. * 7* * * 8* *********************************************************** */ 9 10 11 /* STAT_MPC_ - Gather MPC and Device Statistics for MPC's. 12* coded 7/8/75 by Noel I. Morris */ 13 /* Major rewrite March 1980 by Larry Johnson to print more detailed info. */ 14 /* Modified 10/80 by Rich Coppola to fix bug in tape port determination 15* develop tape and disk drive model numbers from data retained in mpc mem. 16* Also added code to capture and display statistics for the mpc itself. */ 17 /* Modified 12/80 by Rich Coppola to remove the display routine and make 18* it a subroutine so it could be used to display data from dump_mpc or 19* mpc data placed in the syserr_log by poll_mpc. */ 20 /* Modified Aug 1981 by Rich Coppola to add recognition of MTP611 and DSC611/612 21* to the code. */ 22 /* Modified May 1982 by Rich Coppola to add support for the EURC */ 23 /* Modified October by C. Hornig for new PRPH TAP card format. */ 24 /* Modified Oct 1982 by Rich Coppola to correct display of EURC up-time ctr */ 25 /* Modified Apr 1983 by Paul Farley to correct a problem with the short_sw 26* parm interacting with the arg_eurc_sw parm (TR phx15060). */ 27 /* Modified June 1983 by Paul Farley to correct a problem with printing 28* zero TAPE statistics. 29* Modified June 1984 by Paul Farley for DAU support and to use a pointer 30* parameter to reference the MPC memory image. 31* Modified March 1985 by Paul Farley to double DAU config area, for 64 devices (PBF). 32**/ 33 34 /* format: style4,delnl,insnl,ifthenstmt,indnoniterend */ 35 stat_mpc_: 36 proc (image_ptr, sw, mpc_datap, arg_short_sw); 37 38 /* Arguments */ 39 40 dcl image_ptr ptr parameter; 41 dcl image (0:4095) bit (16) unal based (image_ptr); /* MPC memory image */ 42 dcl dau_data (0:759) bit (16) unal based (image_ptr); /* DAU config and statistic data */ 43 dcl sw ptr, /* IOX_ switch for output */ 44 arg_short_sw bit (1); /* To display 80 char line */ 45 46 dcl arg_code fixed bin (35); 47 dcl arg_poll_mpc_datap ptr; 48 dcl arg_eurc_sw bit (1); 49 50 /* Automatic */ 51 52 dcl p ptr, /* Pointer to trace word */ 53 (i, j, k) fixed bin; /* Iteration variables */ 54 dcl eurc_image (1:168) bit (8) unal based (image_ptr); 55 dcl ndev fixed bin; 56 dcl code fixed bin (35); 57 dcl (dau_dev_number, dau_port, pair_idx) fixed bin; 58 dcl model_num char (4); 59 dcl (dau_config_ptr, dau_stats_ptr) ptr; 60 dcl disk_dev_tablep ptr; 61 dcl cross_barred bit (1); 62 dcl dual_personality bit (1); 63 dcl device_namep ptr; 64 dcl ca_port_tablep ptr; 65 dcl device_modelp ptr; 66 dcl device_drivenop ptr; 67 dcl err_int_ptr ptr; 68 dcl err_data_ptr ptr; 69 dcl mpc_stat_addrp ptr; 70 dcl return_info bit (1); 71 dcl n_pad_words fixed bin; 72 dcl tape_dev_tablep ptr; 73 dcl mpc_only bit (1) init ("0"b); 74 dcl tape_sw bit (1); 75 dcl short_sw bit (1); 76 dcl statx fixed bin; 77 dcl found fixed bin; 78 dcl (urp_sw, eurc_sw, dau_sw) bit (1) init ("0"b); 79 dcl LC (0:3) char (4) init ((4) ("")); 80 dcl eurc_lc_model (0:3) fixed bin; 81 dcl 1 auto_mpc_stat_info like mpc_stat_info aligned automatic; 82 83 /* Constants */ 84 85 dcl tape_model (8) char (6) static options (constant) 86 init (" 610", "", " 600", " 500", " 410", " P30", " 630", ""); 87 88 dcl ddev_model (0:223) char (6) static options (constant) 89 init ((84) (""), " 190A", (52) (""), " 190B", " 401", " 190B", (14) (""), " 451", (31) (""), " 402", 90 (13) (""), " 500", " 501", " 500", " 501", " 500", " 501", " 500", " 501", (9) (""), " 509", 91 "", " 509", "", " 509", "", " 509"); 92 93 94 /* based */ 95 96 dcl 1 tstat (16) based (p) unal, /* Tape statistics */ 97 2 stat (8) fixed bin (16) uns unal; /* Statistics for device */ 98 99 dcl 1 dstat (64) based (p) unal, 100 2 stat (16) fixed bin (16) uns; 101 102 dcl eurc_stat (60) fixed bin (16) uns based (p) unal; /* RAW Stats for EURC devs */ 103 104 dcl 1 estat (4), /* matricised properly */ 105 2 stat (15) fixed bin (16) uns; 106 107 dcl 1 d451_dev_table aligned based (disk_dev_tablep), 108 2 per_dev (32) unal, 109 3 opi bit (1) unal, 110 3 pad1 bit (2) unal, 111 3 ca fixed bin (1) uns unal, 112 3 port fixed bin (4) uns unal, 113 3 pad bit (24) unal; 114 115 dcl 1 d601_dev_table aligned based (disk_dev_tablep), 116 2 per_dev (64) unal, 117 3 opi bit (1) unal, 118 3 pad1 bit (2) unal, 119 3 ca fixed bin (1) uns unal, 120 3 port fixed bin (4) uns unal, 121 3 pad bit (8) unal; 122 123 dcl 1 dau_char based (dau_config_ptr) unaligned, /* Config data */ 124 2 type bit (8), /* = 12 HEX */ 125 2 hw_rev bit (8) unal, /* DAU rev */ 126 2 fw_maj_rev bit (8) unal, /* firmware rev letter */ 127 2 fw_sub_rev fixed bin (8) uns unal, /* firmware rev number */ 128 2 dev (64), /* seq'ed by dev# */ 129 /* all 4 bytes zero, if device NEVER configured */ 130 3 type fixed bin (8) uns unal, /* device type */ 131 3 number fixed bin (8) uns unal, /* device number, =FF if not configured */ 132 3 summary_status bit (8) unal, /* device SS reg */ 133 3 port_number fixed bin (8) uns unal; /* device DAU port */ 134 135 dcl 1 dau_stats based (dau_stats_ptr) unaligned, /* Status data */ 136 2 port_data (0:15, 2) unal, /* posibly two logical devices per port */ 137 3 number fixed bin (8) uns unal, /* device number */ 138 3 type fixed bin (8) uns unal, /* device type */ 139 3 pad bit (16) unal, /* MBZ */ 140 3 stat (16) fixed bin (16) uns unal, /* device counters */ 141 2 dau_type fixed bin (8) uns unal, /* HEX 12 */ 142 2 fw_maj_rev bit (8) unal, /* firmware rev letter */ 143 2 fw_sub_rev bit (8) unal, /* firmware rev number */ 144 2 dau_flags unal, 145 3 ci_0_online bit (1) unal, /* channel interface */ 146 3 ci_1_online bit (1) unal, 147 3 mbz bit (2) unal, 148 3 psi0_2trip bit (1) unal, /* ci-0 port-0 */ 149 3 psi1_2trip bit (1) unal, /* ci-0 port-1 */ 150 3 psi2_2trip bit (1) unal, /* ci-1 port-0 */ 151 3 psi3_2trip bit (1) unal, /* ci-1 port-1 */ 152 2 special_dau_cmds fixed bin (16) uns unal, /* controller commands cntr */ 153 2 sus_rlse_cmds fixed bin (16) uns unal, /* suspend/release commands cntr */ 154 2 write_spc fixed bin (16) uns unal, /* write type special controller commands */ 155 2 read_spc fixed bin (16) uns unal, /* read type special controller commands */ 156 2 psi_cntr (20) fixed bin (8) uns unal, /* all PSI counters */ 157 2 err_interrupts fixed bin (16) uns unal, /* dau error counter */ 158 2 pad bit (16) unal, /* MBZ */ 159 2 ext_dau_info (72) bit (8) unal; /* extended DAU info */ 160 161 dcl 1 t600_dev_table aligned based (tape_dev_tablep), 162 2 per_dev (16) unal, 163 3 opi bit (1), 164 3 pad bit (9), 165 3 tm bit (4), 166 3 port fixed bin (2) uns, 167 3 pad1 bit (16), 168 3 tape_models bit (8), 169 3 pad2 bit (8), 170 3 pad_words (5) bit (16); 171 172 173 dcl 1 t500_dev_table aligned based (tape_dev_tablep), 174 2 per_dev (16) unal, 175 3 opi bit (1), 176 3 pad bit (11), 177 3 port fixed bin (4) uns, 178 3 pad_words (n_pad_words) bit (16); 179 180 dcl 1 ca_port_table (0:31) based (ca_port_tablep) unal, 181 2 ddev_type fixed bin (8) uns, 182 2 ddev_table_ptr bit (8); 183 184 dcl device_name (64) char (4) based (device_namep); 185 dcl device_model (64) fixed bin based (device_modelp); 186 dcl device_driveno (64) fixed bin based (device_drivenop); 187 188 dcl t500_err_int_ctr fixed bin (16) uns based (err_int_ptr); 189 dcl 1 t500_err_data based (err_data_ptr) unal, 190 2 reg bit (16), 191 2 intar bit (16), 192 2 pad bit (16); 193 194 195 dcl 1 t600_err_data based (err_int_ptr) unal, 196 2 pad bit (8), 197 2 int_ctr fixed bin (8) uns, 198 2 reg bit (16), 199 2 intar bit (16), 200 2 pad1 bit (16); 201 202 dcl 1 dsk_err_data based (err_int_ptr) unal, 203 2 pad bit (8), 204 2 int_ctr fixed bin (8) uns, 205 2 reg bit (16), 206 2 auxar bit (16), 207 2 intar bit (16); 208 209 210 dcl 1 urp_err_data based (err_int_ptr) unal, 211 2 pad bit (8), 212 2 err_int_ctr fixed bin (8) uns, 213 2 err_data_reg bit (16), 214 2 err_data_intar bit (16), 215 2 pad1 bit (16); 216 217 dcl 1 mpc_err_stat based (mpc_stat_addrp) unal, 218 2 ctrs (12) fixed bin (8) uns; 219 220 221 /* Static */ 222 223 dcl nmpcs fixed bin int static init (0); 224 dcl mpc_names (16) char (4) int static; 225 dcl mpc_device_names (16) ptr int static; 226 dcl mpc_device_models (16) ptr int static; 227 dcl mpc_device_drivenos (16) ptr int static; 228 229 230 /* External */ 231 232 dcl ioa_$ioa_switch entry options (variable); 233 dcl get_temp_segment_ entry (char (*), ptr, fixed bin (35)); 234 dcl release_temp_segment_ entry (char (*), ptr, fixed bin (35)); 235 dcl config_$find_2 entry (char (4) aligned, char (4) aligned, ptr); 236 dcl find_config_card_$prph_for_channel entry (fixed bin (3), fixed bin (6), ptr); 237 dcl display_mpc_data_ entry (ptr, ptr, bit (1)); 238 dcl display_mpc_data_$display_mpc_ entry (ptr, ptr, bit (1)); 239 dcl error_table_$incorrect_device_type ext fixed bin (35); 240 241 dcl (addr, bin, char, hbound, ltrim, rtrim, mod, null, size, substr) builtin; 242 243 start: 244 short_sw = arg_short_sw; /* save switch */ 245 return_info = "0"b; 246 247 join: 248 mpc_stat_infop = addr (auto_mpc_stat_info); 249 err_int_ptr = addr (image (mpc_data.mpc_err_int_ctr_addr)); 250 err_data_ptr = addr (image (mpc_data.mpc_err_data_reg_addr)); 251 mpc_stat_addrp = addr (image (mpc_data.mpc_stat_addr)); 252 mpc_stat_info.mpc_name = substr (mpc_data.name, 1, 4); 253 254 if mpc_data.type = "urp" then urp_sw = "1"b; 255 256 if eurc_sw then do; /* If it is an EURC */ 257 call decode_eurc_config; 258 ndev, mpc_stat_info.ndev = 0; 259 mpc_stat_info.stat_counters (*) = 0; 260 mpc_stat_info.int_counter = 0; 261 mpc_stat_info.register = "0"b; 262 mpc_stat_info.auxar = "0"b; 263 mpc_stat_info.intar = "0"b; 264 p = image_ptr; /* starts at 0 */ 265 do i = 1 to 4; /* fill the stat matrice from raw data */ 266 k = 0; 267 do j = i to 60 by 4; 268 k = k + 1; 269 estat.stat (i, k) = eurc_stat (j); 270 end; 271 end; 272 273 do i = 1 to 4; 274 if LC (i - 1) ^= "" then go to use_eurc_dev; 275 do j = 1 to 15; 276 if estat.stat (i, j) ^= 0 then go to use_eurc_dev; 277 end; 278 go to next_eurc_dev; 279 use_eurc_dev: 280 ndev, mpc_stat_info.ndev = ndev + 1; 281 found = 0; 282 dev_stat_infop = addr (mpc_stat_info.dev_info (ndev)); 283 dev_stat_info.subsystem = LC (i - 1); 284 dev_stat_info.driveno = i - 1; /* equate to log chan */ 285 dev_stat_info.model = ltrim (rtrim (char (eurc_lc_model (i - 1)))); 286 dev_stat_info.opi = "0"b; 287 dev_stat_info.port, dev_stat_info.ca = 0; 288 do j = 1 to 15; 289 dev_stat_info.stat (j) = estat.stat (i, j); 290 end; 291 dev_stat_info.stat (16) = 0; 292 next_eurc_dev: 293 end; 294 295 mpc_stat_info.uptime_clock = 296 bin (eurc_image (123) || eurc_image (124) || eurc_image (121) || eurc_image (122), 32); 297 mpc_stat_info.prom_revision.core = eurc_image (129); 298 mpc_stat_info.prom_revision.iom = eurc_image (130); 299 mpc_stat_info.prom_revision.special_controller = eurc_image (131); 300 mpc_stat_info.prom_revision.link_edit = eurc_image (132); 301 mpc_stat_info.prom_revision.pdsi_application = eurc_image (133); 302 mpc_stat_info.prom_revision.self_test = eurc_image (134); 303 mpc_stat_info.prom_revision.dai_application = eurc_image (135); 304 305 end; 306 307 else if dau_sw then do; /* If its a DAU */ 308 dau_config_ptr = image_ptr; /* config area */ 309 dau_stats_ptr = addr (dau_data (130)); /* statistics area */ 310 ndev, mpc_stat_info.ndev = 0; 311 if mpc_only then go to fill_poll_mpc; 312 dual_personality, cross_barred = "0"b; /* not used on dau */ 313 call decode_disk_config; 314 do i = 1 to 64; /* process attached device list */ 315 if dau_char.dev (i).type = 0 then goto next_dau_dev; 316 317 dau_port = dau_char.dev (i).port_number; 318 if dau_char.dev (i).number = 255 then do; 319 /* FF hex */ 320 dau_dev_number = i; 321 model_num = ltrim (ddev_model (dau_char.dev (i).type)); 322 if model_num = "500" | model_num = "501" | model_num = "509" then do; 323 if mod (dau_dev_number, 2) ^= 0 324 then pair_idx = 1; /* device was ODD# */ 325 else pair_idx = 2; /* Device was EVEN# */ 326 end; 327 else pair_idx = 1; /* All others get first port slot */ 328 do j = 1 to 16; 329 if dau_stats.port_data (dau_port, pair_idx).stat (j) ^= 0 then go to use_the_data; 330 end; 331 goto next_dau_dev; 332 end; 333 else do; 334 dau_dev_number = dau_char.dev (i).number; 335 if dau_dev_number = dau_stats.port_data (dau_port, 1).number then pair_idx = 1; 336 else if dau_dev_number = dau_stats.port_data (dau_port, 2).number then pair_idx = 2; 337 else goto next_dau_dev; 338 end; 339 340 if device_name (dau_dev_number) ^= "" 341 then do j = 1 to 16; 342 if dau_stats.port_data (dau_port, pair_idx).stat (j) ^= 0 then go to use_the_data; 343 end; 344 345 go to next_dau_dev; 346 347 use_the_data: 348 ndev, mpc_stat_info.ndev = ndev + 1; 349 dev_stat_infop = addr (mpc_stat_info.dev_info (ndev)); 350 dev_stat_info.driveno = device_driveno (dau_dev_number); 351 dev_stat_info.subsystem = device_name (dau_dev_number); 352 dev_stat_info.port = dau_port; 353 dev_stat_info.ca = 0; /* always zero */ 354 355 dev_stat_info.model = ddev_model (dau_char.dev (i).type); 356 dev_stat_info.opi = (dau_char.dev (i).number ^= 255); 357 /* FF hex */ 358 do j = 1 to 16; 359 dev_stat_info.stat (j) = dau_stats.port_data (dau_port, pair_idx).stat (j); 360 end; 361 next_dau_dev: 362 end; 363 364 end; 365 366 else if mpc_data.type = "mtp" then do; /* If tape controller ... */ 367 tape_sw = "1"b; 368 p = addr (image (mpc_data.dev_stat_addr)); /* Get pointer to statistics block. */ 369 370 call decode_tape_config; 371 ndev, mpc_stat_info.ndev = 0; 372 tape_dev_tablep = addr (image (10000000b)); 373 mpc_stat_info.stat_counters (*) = 0; 374 if (mpc_data.model > 502) & (mpc_data.model < 610) 375 then n_pad_words = 7; 376 else n_pad_words = 1; 377 378 do i = 1 to 8; /* gather the mpc stat counters */ 379 mpc_stat_info.stat_counters (i) = mpc_err_stat.ctrs (i); 380 end; 381 382 if mpc_data.model < 601 then do; 383 mpc_stat_info.error_data.int_counter = t500_err_int_ctr; 384 mpc_stat_info.error_data.register = t500_err_data.reg; 385 mpc_stat_info.error_data.auxar = "0"b; 386 mpc_stat_info.error_data.intar = t500_err_data.intar; 387 end; 388 389 else do; 390 t600_err_data.pad = "0"b; 391 mpc_stat_info.error_data = t600_err_data; 392 mpc_stat_info.error_data.intar = mpc_stat_info.error_data.auxar; 393 mpc_stat_info.error_data.auxar = "0"b; 394 end; 395 396 if mpc_only then go to fill_poll_mpc; 397 398 do i = 1 to 16; 399 if device_name (i) ^= "" 400 then do j = 1 to 8; 401 if tstat.stat (i, j) ^= 0 then go to use_tape; 402 end; 403 go to next_tape; 404 use_tape: 405 ndev, mpc_stat_info.ndev = ndev + 1; 406 found = 0; 407 dev_stat_infop = addr (mpc_stat_info.dev_info (ndev)); 408 dev_stat_info.driveno = device_driveno (i); 409 dev_stat_info.subsystem = device_name (i); 410 411 if mpc_data.model < 610 then do; 412 dev_stat_info.model = ltrim (char (mpc_data.model)); 413 dev_stat_info.port = t500_dev_table.port (dev_stat_info.driveno); 414 dev_stat_info.opi = t500_dev_table.opi (dev_stat_info.driveno); 415 end; 416 417 else if mpc_data.model = 610 | mpc_data.model = 611 then do; 418 dev_stat_info.port = t600_dev_table.port (dev_stat_info.driveno); 419 dev_stat_info.opi = t600_dev_table.opi (dev_stat_info.driveno); 420 if dev_stat_info.opi 421 then do j = 1 to 7 while (found = 0); 422 if j = 2 then j = 3; /* bypass the GCR bit */ 423 if substr (t600_dev_table.tape_models (dev_stat_info.driveno), j, 1) = "1"b then do; 424 dev_stat_info.model = tape_model (j); 425 found = 1; 426 end; 427 end; 428 429 else dev_stat_info.model = ""; 430 431 found = 0; 432 433 do j = 1 to 4 while (found = 0); 434 if substr (t600_dev_table.tm (dev_stat_info.driveno), j, 1) = "1"b then do; 435 dev_stat_info.ca = j - 1; 436 found = 1; 437 end; 438 end; 439 end; 440 441 else go to bad_dev; 442 443 do j = 1 to 8; 444 dev_stat_info.stat (j) = tstat.stat (i, j); 445 end; 446 do j = 9 to 16; 447 dev_stat_info.stat (j) = 0; 448 end; 449 next_tape: 450 end; 451 end; 452 453 else if mpc_data.type = "msp" & ^dau_sw then do; 454 tape_sw = "0"b; 455 p = addr (image (mpc_data.dev_stat_addr)); 456 ndev, mpc_stat_info.ndev = 0; 457 458 mpc_stat_info.stat_counters = mpc_err_stat.ctrs; 459 /* gather mpc stat counters */ 460 mpc_stat_info.error_data = dsk_err_data; /* and the error data reg */ 461 if mpc_only then go to fill_poll_mpc; 462 463 464 if mpc_data.model < 600 then do; 465 cross_barred = substr (mpc_data.config_sw, 11, 1); 466 dual_personality = substr (mpc_data.config_sw, 9, 1); 467 call decode_disk_config; 468 ca_port_tablep = addr (image (100100000b)); 469 disk_dev_tablep = addr (image (10000000b)); 470 do i = 1 to 32; 471 472 if ^d451_dev_table.opi (i) then do;/* If not powered on, see if any stats */ 473 do j = 1 to 16; 474 if dstat.stat (i, j) ^= 0 then go to use_d451; 475 end; 476 end; 477 478 if device_name (i) ^= "" 479 then do j = 1 to 16; 480 if dstat.stat (i, j) ^= 0 then go to use_d451; 481 end; 482 483 go to next_disk1; 484 485 use_d451: 486 ndev, mpc_stat_info.ndev = ndev + 1; 487 dev_stat_infop = addr (mpc_stat_info.dev_info (ndev)); 488 dev_stat_info.driveno = device_driveno (i); 489 dev_stat_info.subsystem = device_name (i); 490 dev_stat_info.port = d451_dev_table.port (i); 491 dev_stat_info.ca = d451_dev_table.ca (i); 492 if dev_stat_info.ca = 0 493 then k = 0; 494 else k = 16; 495 496 dev_stat_info.model = ddev_model (ca_port_table.ddev_type (dev_stat_info.port + k)); 497 dev_stat_info.opi = d451_dev_table.opi (i); 498 do j = 1 to 16; 499 dev_stat_info.stat (j) = dstat.stat (i, j); 500 end; 501 next_disk1: 502 end; 503 end; 504 else if mpc_data.model >= 600 then do; 505 dual_personality, cross_barred = "0"b; /* not used on this mpc */ 506 call decode_disk_config; 507 ca_port_tablep = addr (image (101000000b)); 508 disk_dev_tablep = addr (image (10000000b)); 509 do i = 1 to 64; 510 511 if ^d601_dev_table.opi (i) then do;/* If not powered on, see if any stats */ 512 do j = 1 to 16; 513 if dstat.stat (i, j) ^= 0 then go to use_d601; 514 end; 515 end; 516 517 if device_name (i) ^= "" 518 then do j = 1 to 16; 519 if dstat.stat (i, j) ^= 0 then go to use_d601; 520 end; 521 522 go to next_disk2; 523 524 use_d601: 525 ndev, mpc_stat_info.ndev = ndev + 1; 526 dev_stat_infop = addr (mpc_stat_info.dev_info (ndev)); 527 dev_stat_info.driveno = device_driveno (i); 528 dev_stat_info.subsystem = device_name (i); 529 dev_stat_info.port = d601_dev_table.port (i); 530 dev_stat_info.ca = d601_dev_table.ca (i); 531 if dev_stat_info.ca = 0 532 then k = 0; 533 else k = 16; 534 535 dev_stat_info.model = ddev_model (ca_port_table.ddev_type (dev_stat_info.port + k)); 536 dev_stat_info.opi = d601_dev_table.opi (i); 537 do j = 1 to 16; 538 dev_stat_info.stat (j) = dstat.stat (i, j); 539 end; 540 next_disk2: 541 end; 542 end; 543 else go to bad_dev; 544 end; 545 546 547 else if (mpc_data.type = "urp" & ^eurc_sw) then do; 548 mpc_stat_info.error_data = urp_err_data; 549 mpc_stat_info.error_data.intar = mpc_stat_info.error_data.auxar; 550 mpc_stat_info.error_data.auxar = "0"b; 551 mpc_stat_info.ndev = 0; 552 end; 553 554 555 else do; 556 bad_dev: 557 if return_info then do; 558 arg_code = error_table_$incorrect_device_type; 559 return; 560 end; 561 else call ioa_$ioa_switch (sw, "^5/^2-How to decode statistics for mpc ^a model ^d not known.", 562 mpc_data.name, mpc_data.model); 563 return; 564 end; 565 566 567 /* ******************************************************************* 568* * Now fill the poll_mpc_data structure so it can be displayed * 569* ******************************************************************* */ 570 571 fill_poll_mpc: 572 poll_mpc_data_n_devices = mpc_stat_info.ndev; 573 poll_mpc_data_n_stats = 0; 574 do i = 1 to mpc_stat_info.ndev; 575 dev_stat_infop = addr (mpc_stat_info.dev_info (i)); 576 do j = 1 to hbound (dev_stat_info.stat, 1); 577 if dev_stat_info.stat (j) ^= 0 then poll_mpc_data_n_stats = poll_mpc_data_n_stats + 1; 578 end; 579 end; 580 if ^return_info then call get_temp_segment_ ("stat_mpc_", poll_mpc_datap, code); 581 poll_mpc_specp = addr (poll_mpc_data.specific); 582 poll_mpc_data.version = poll_mpc_data_version_2; 583 poll_mpc_data.name = mpc_stat_info.mpc_name; 584 poll_mpc_data.model = mpc_data.model; 585 if eurc_sw then do; /* EURC? */ 586 poll_eurc_data.uptime_clock = mpc_stat_info.uptime_clock; 587 poll_eurc_data.core = mpc_stat_info.core; 588 poll_eurc_data.iom = mpc_stat_info.iom; 589 poll_eurc_data.special_controller = mpc_stat_info.special_controller; 590 poll_eurc_data.link_edit = mpc_stat_info.link_edit; 591 poll_eurc_data.pdsi_application = mpc_stat_info.pdsi_application; 592 poll_eurc_data.self_test = mpc_stat_info.self_test; 593 poll_eurc_data.dai_application = mpc_stat_info.dai_application; 594 poll_mpc_data.n_words = size (poll_eurc_data) + 4; 595 end; 596 else if dau_sw then do; /* DAU? (msp800) */ 597 poll_dau_data.n_devices = poll_mpc_data_n_devices; 598 poll_dau_data.n_stats = poll_mpc_data_n_stats; 599 poll_dau_data.fw_rev = mpc_data.fw_rev; 600 poll_dau_data.hw_rev = mpc_data.dau_rev; 601 poll_dau_data.ci_0_online = dau_stats.ci_0_online; 602 poll_dau_data.ci_1_online = dau_stats.ci_1_online; 603 poll_dau_data.psi0_2trip = dau_stats.psi0_2trip; 604 poll_dau_data.psi1_2trip = dau_stats.psi1_2trip; 605 poll_dau_data.psi2_2trip = dau_stats.psi2_2trip; 606 poll_dau_data.psi3_2trip = dau_stats.psi3_2trip; 607 poll_dau_data.err_interrupts = dau_stats.err_interrupts; 608 poll_dau_data.psi_cntr (*) = dau_stats.psi_cntr (*); 609 if dau_stats.err_interrupts > 0 then do; 610 poll_dau_data.ext_size = 72; 611 poll_dau_data.err_info (*) = dau_stats.ext_dau_info (*); 612 end; 613 else poll_dau_data.ext_size = 0; 614 poll_mpc_data.n_words = size (poll_dau_data) + 4; 615 end; 616 else if (mpc_data.type = "urp" & ^eurc_sw) then do; 617 /* old URP */ 618 poll_urp_data.interrupt_counter = mpc_stat_info.error_data.int_counter; 619 poll_urp_data.register = mpc_stat_info.error_data.register; 620 poll_urp_data.INTAR = mpc_stat_info.error_data.intar; 621 poll_mpc_data.n_words = size (poll_urp_data) + 4; 622 end; 623 else do; /* old disk & tape */ 624 poll_mtp_data.config_sw = mpc_data.config_sw; 625 poll_mtp_data.pad = "0"b; 626 poll_mtp_data.firmware_rev = mpc_data.fw_rev; 627 poll_mtp_data.n_devices = poll_mpc_data_n_devices; 628 poll_mtp_data.n_stats = poll_mpc_data_n_stats; 629 poll_mtp_data.polled_stat_counters = mpc_stat_info.stat_counters; 630 poll_mtp_data.polled_error_data = mpc_stat_info.error_data; 631 poll_mpc_data.n_words = size (poll_mtp_data) + 4; 632 end; 633 634 if mpc_only then go to display_mpc; 635 636 statx = 1; 637 do i = 1 to mpc_stat_info.ndev; 638 dev_stat_infop = addr (mpc_stat_info.dev_info (i)); 639 if eurc_sw then do; 640 poll_eurc_data.subsystem (i) = substr (dev_stat_info.subsystem, 4, 1); 641 poll_eurc_data.driveno (i) = dev_stat_info.driveno; 642 poll_eurc_data.opi (i) = dev_stat_info.opi; 643 poll_eurc_data.ca (i) = dev_stat_info.ca; 644 poll_eurc_data.port (i) = dev_stat_info.port; 645 poll_eurc_data.dev_model (i) = dev_stat_info.model; 646 poll_eurc_data.dev_name (i) = dev_stat_info.subsystem; 647 do j = 1 to 16; 648 if dev_stat_info.stat (j) ^= 0 then do; 649 poll_eurc_data.dev_index (statx) = i; 650 poll_eurc_data.stat_index (statx) = j; 651 poll_eurc_data.value (statx) = dev_stat_info.stat (j); 652 statx = statx + 1; 653 end; 654 end; 655 poll_mpc_data.n_words = size (poll_eurc_data) + 4; 656 end; 657 else if dau_sw then do; 658 poll_dau_data.subsystem (i) = substr (dev_stat_info.subsystem, 4, 1); 659 poll_dau_data.driveno (i) = dev_stat_info.driveno; 660 poll_dau_data.opi (i) = dev_stat_info.opi; 661 poll_dau_data.ca (i) = 0; 662 poll_dau_data.port (i) = dev_stat_info.port; 663 poll_dau_data.dev_model (i) = dev_stat_info.model; 664 poll_dau_data.dev_name (i) = dev_stat_info.subsystem; 665 do j = 1 to 16; 666 if dev_stat_info.stat (j) ^= 0 then do; 667 poll_dau_data.dev_index (statx) = i; 668 poll_dau_data.stat_index (statx) = j; 669 poll_dau_data.value (statx) = dev_stat_info.stat (j); 670 statx = statx + 1; 671 end; 672 end; 673 poll_mpc_data.n_words = size (poll_dau_data) + 4; 674 end; 675 else if mpc_data.type = "msp" | /* old style */ 676 mpc_data.type = "mtp" then do; /* disk or tape */ 677 poll_mtp_data.subsystem (i) = substr (dev_stat_info.subsystem, 4, 1); 678 poll_mtp_data.driveno (i) = dev_stat_info.driveno; 679 poll_mtp_data.opi (i) = dev_stat_info.opi; 680 poll_mtp_data.ca (i) = dev_stat_info.ca; 681 poll_mtp_data.port (i) = dev_stat_info.port; 682 poll_mtp_data.dev_model (i) = dev_stat_info.model; 683 poll_mtp_data.dev_name (i) = ""; 684 do j = 1 to 16; 685 if dev_stat_info.stat (j) ^= 0 then do; 686 poll_mtp_data.dev_index (statx) = i; 687 poll_mtp_data.stat_index (statx) = j; 688 poll_mtp_data.value (statx) = dev_stat_info.stat (j); 689 statx = statx + 1; 690 end; 691 end; 692 poll_mpc_data.n_words = size (poll_mtp_data) + 4; 693 end; 694 end; 695 696 if return_info then do; /* return data */ 697 arg_code = 0; 698 return; 699 end; 700 701 702 /* **************************************************** 703* * Now go display the data or place it in a seg * 704* **************************************************** */ 705 706 707 call display_mpc_data_ (poll_mpc_datap, sw, short_sw); 708 poll_mpc_specp = null (); 709 call release_temp_segment_ ("stat_mpc_", poll_mpc_datap, code); 710 return; 711 712 display_mpc: 713 call display_mpc_data_$display_mpc_ (poll_mpc_datap, sw, short_sw); 714 poll_mpc_specp = null (); 715 call release_temp_segment_ ("stat_mpc_", poll_mpc_datap, code); 716 return; 717 718 719 return_mpc_data: 720 entry (image_ptr, arg_poll_mpc_datap, mpc_datap, arg_eurc_sw, arg_code); 721 722 return_info = "1"b; 723 poll_mpc_datap = arg_poll_mpc_datap; 724 short_sw = "0"b; 725 eurc_sw = arg_eurc_sw; 726 go to join; 727 728 mpc_stats_: 729 entry (image_ptr, sw, mpc_datap, arg_short_sw); 730 731 mpc_only = "1"b; 732 go to start; 733 734 eurc: 735 entry (image_ptr, sw, mpc_datap, arg_short_sw); 736 737 eurc_sw = "1"b; 738 go to start; 739 740 dau_stats_: 741 entry (image_ptr, sw, mpc_datap, arg_short_sw); 742 743 mpc_only = "1"b; 744 dau_sw = "1"b; 745 go to start; 746 747 dau: 748 entry (image_ptr, sw, mpc_datap, arg_short_sw); 749 750 dau_sw = "1"b; 751 go to start; 752 753 return_dau_data: 754 entry (image_ptr, arg_poll_mpc_datap, mpc_datap, arg_code); 755 756 return_info = "1"b; 757 poll_mpc_datap = arg_poll_mpc_datap; 758 short_sw = "0"b; 759 dau_sw = "1"b; 760 go to join; 761 762 763 /* Procedure to figure out which devices are configured on a EURC and relate 764* them to a logical channel on the EURC */ 765 766 decode_eurc_config: 767 proc; 768 769 dcl la fixed bin; 770 dcl chan fixed bin (6); 771 772 call config_$find_2 ("mpc", substr (mpc_data.name, 1, 4), mpc_cardp); 773 if mpc_cardp = null () then return; 774 la = 0; 775 eurc_lc_model (*) = 0; 776 do chan = mpc_card.chan (1) to (mpc_card.chan (1) + mpc_card.nchan (1) - 1); 777 call find_config_card_$prph_for_channel ((mpc_card.iom (1)), chan, prph_cardp); 778 if prph_cardp ^= null () then do; 779 LC (la) = prph_card.name; 780 eurc_lc_model (la) = prph_card.model; 781 end; 782 la = la + 1; 783 end; 784 return; 785 786 end decode_eurc_config; 787 788 789 790 791 /* Procedure to figure out what disks are connected to a disk mpc */ 792 793 decode_disk_config: 794 proc; 795 796 dcl la fixed bin; 797 dcl drive fixed bin; 798 dcl chan fixed bin (6); 799 dcl (i, j) fixed bin; 800 801 if processed_mpc () then return; 802 do i = 1 to 64; 803 if dual_personality | cross_barred 804 then device_driveno (i) = mod (i - 1, 16) + 1; 805 else device_driveno (i) = i; 806 end; 807 808 call config_$find_2 ("mpc", substr (mpc_data.name, 1, 4), mpc_cardp); 809 if mpc_cardp = null () then return; 810 do la = 1 to 2 while (mpc_card.iom (la) ^= -1); /* Chase channels on each la */ 811 do chan = mpc_card.chan (la) to (mpc_card.chan (la) + mpc_card.nchan (la) - 1); 812 call find_config_card_$prph_for_channel ((mpc_card.iom (la)), chan, prph_dsk_cardp); 813 if prph_dsk_cardp = null () then go to next_channel; 814 if substr (prph_dsk_card.name, 1, 3) ^= "dsk" then go to next_channel; 815 drive = 1; 816 do i = 1 to hbound (prph_dsk_card.group, 1) while (prph_dsk_card.model (i) ^= -1); 817 do j = 1 to prph_dsk_card.ndrives (i); 818 if prph_dsk_card.model (i) ^= 0 then do; 819 if cross_barred then do; 820 device_name (drive), device_name (drive + 16) = prph_dsk_card.name; 821 end; 822 else if dual_personality then do; 823 device_name (16 * (la - 1) + drive) = prph_dsk_card.name; 824 end; 825 else do; 826 device_name (drive) = prph_dsk_card.name; 827 end; 828 end; 829 drive = drive + 1; 830 end; 831 end; 832 next_channel: 833 end; 834 end; 835 return; 836 837 end decode_disk_config; 838 839 decode_tape_config: 840 proc; 841 842 dcl la fixed bin; 843 dcl drive fixed bin; 844 dcl chan fixed bin (6); 845 dcl (i, j) fixed bin; 846 847 if processed_mpc () then return; 848 call config_$find_2 ("mpc", substr (mpc_data.name, 1, 4), mpc_cardp); 849 if mpc_cardp = null () then return; 850 do la = 1 to 2 while (mpc_card.iom (la) ^= -1); 851 do chan = mpc_card.chan (la) to (mpc_card.chan (la) + mpc_card.nchan (la) - 1); 852 call find_config_card_$prph_for_channel ((mpc_card.iom (la)), chan, prph_tap_cardp); 853 if prph_tap_cardp = null () then go to next_channel; 854 if substr (prph_tap_card.name, 1, 3) ^= "tap" then go to next_channel; 855 drive = 1; 856 do i = 1 to hbound (prph_tap_card.group, 1) while (prph_tap_card.model (i) ^= -1); 857 do j = 1 to prph_tap_card.ndrives (i); 858 if prph_tap_card.model (i) ^= 0 then do; 859 device_name (drive) = prph_tap_card.name; 860 device_driveno (drive) = drive; 861 end; 862 drive = drive + 1; 863 end; 864 end; 865 next_channel: 866 end; 867 end; 868 return; 869 870 end decode_tape_config; 871 872 processed_mpc: 873 proc returns (bit (1)); 874 875 dcl i fixed bin; 876 877 do i = 1 to nmpcs; /* See if already analyzed */ 878 if mpc_data.name = mpc_names (i) then do; 879 device_namep = mpc_device_names (i); 880 device_modelp = mpc_device_models (i); 881 device_drivenop = mpc_device_drivenos (i); 882 return ("1"b); 883 end; 884 end; 885 allocate device_name; 886 allocate device_model; 887 allocate device_driveno; 888 if nmpcs < hbound (mpc_names, 1) then do; 889 nmpcs = nmpcs + 1; 890 mpc_names (nmpcs) = substr (mpc_data.name, 1, 4); 891 mpc_device_names (nmpcs) = device_namep; 892 mpc_device_models (nmpcs) = device_modelp; 893 mpc_device_drivenos (nmpcs) = device_drivenop; 894 end; 895 896 device_name (*) = ""; 897 device_model (*) = 0; 898 device_driveno (*) = 0; 899 return ("0"b); 900 901 end processed_mpc; 902 1 1 /* BEGIN INCLUDE FILE ... config_mpc_card.incl.pl1 ... 11/27/80 W. Olin Sibert */ 1 2 1 3 dcl mpc_cardp ptr; /* Pointer to an MPC card. */ 1 4 1 5 dcl 1 mpc_card aligned based (mpc_cardp), 1 6 2 word char (4), /* "mpc" */ 1 7 2 name char (4), /* Name of this MPC - e.g., "mspa" */ 1 8 2 model fixed bin, /* Model of this MPC - e.g., 601. */ 1 9 2 port (4), /* Per port information. 12 fields total */ 1 10 3 iom fixed bin (3), /* IOM number */ 1 11 3 chan fixed bin (8), /* Channel number. */ 1 12 3 nchan fixed bin, /* Number of logical channels on this channel. */ 1 13 1 14 2 type_word aligned, 1 15 3 field_type (14) bit (2) unaligned, /* type of each field; see config_deck.incl.pl1 */ 1 16 3 pad1 bit (4) unaligned, 1 17 3 n_fields fixed bin (4) unsigned unaligned; /* number of fields used on card */ 1 18 1 19 dcl 1 mpc_card_array aligned based (mpc_cardp), /* Overlay for MPC port array */ 1 20 2 pad1 (3) bit (36) aligned, 1 21 2 port (divide (max (0, (mpc_card.n_fields - 2)), 3, 17, 0)), 1 22 3 iom fixed bin (3), /* IOM number */ 1 23 3 chan fixed bin (8), /* Channel number. */ 1 24 3 nchan fixed bin; /* Number of logical channels on this channel. */ 1 25 1 26 dcl MPC_CARD_WORD char (4) aligned internal static options (constant) init ("mpc"); 1 27 1 28 /* END INCLUDE FILE ... config_mpc_card.incl.pl1 */ 903 904 2 1 /* BEGIN INCLUDE FILE ... config_prph_card.incl.pl1 ... 11/27/80 W. Olin Sibert */ 2 2 2 3 dcl prph_cardp ptr; /* Pointer to a PRPH card. */ 2 4 2 5 dcl 1 prph_card based (prph_cardp) aligned, /* PRPH card declaration */ 2 6 2 word char (4), /* "prph" */ 2 7 2 name char (4), /* subsystem name */ 2 8 2 iom fixed bin (3), /* IOM number */ 2 9 2 chan fixed bin (8), /* channel number */ 2 10 2 model fixed bin, /* model number */ 2 11 2 state char (4), /* ON/OFF state */ 2 12 2 pad (9) bit (36) aligned, /* pad to 15 fields */ 2 13 2 14 2 type_word aligned, 2 15 3 field_type (14) bit (2) unaligned, /* type of each field; see config_deck.incl.pl1 */ 2 16 3 pad1 bit (4) unaligned, 2 17 3 n_fields fixed bin (4) unsigned unaligned; /* number of fields used on card */ 2 18 2 19 dcl PRPH_CARD_WORD char (4) aligned internal static options (constant) init ("prph"); 2 20 2 21 /* END INCLUDE FILE ... config_prph_card.incl.pl1 */ 905 906 3 1 /* BEGIN INCLUDE FILE ... config_prph_dsk_card.incl.pl1 ... 11/27/80 W. Olin Sibert */ 3 2 3 3 dcl prph_dsk_cardp ptr; /* Pointer to a PRPH DSKx card. */ 3 4 3 5 dcl 1 prph_dsk_card based (prph_dsk_cardp) aligned, /* PRPH DSKx card declaration */ 3 6 2 word char (4), /* "prph" */ 3 7 2 name char (4), /* "dskX" */ 3 8 2 iom fixed bin (3), /* IOM number */ 3 9 2 chan fixed bin (8), /* channel number */ 3 10 2 nchan fixed bin, /* number of channels */ 3 11 3 12 2 group (5), 3 13 3 model fixed bin, /* model number */ 3 14 3 ndrives fixed bin, /* number of drives */ 3 15 3 16 2 type_word aligned, 3 17 3 field_type (14) bit (2) unaligned, /* type of each field; see config_deck.incl.pl1 */ 3 18 3 pad1 bit (4) unaligned, 3 19 3 n_fields fixed bin (4) unsigned unaligned; /* number of fields used on card */ 3 20 3 21 dcl 1 prph_dsk_card_array aligned based (prph_dsk_cardp), /* Overlay for drive group array */ 3 22 2 pad1 (5) bit (36) aligned, 3 23 2 group (divide (max (0, (prph_dsk_card.n_fields - 4)), 2, 17, 0)), 3 24 3 model fixed bin, /* model number */ 3 25 3 ndrives fixed bin; /* number of drives */ 3 26 3 27 /* END INCLUDE FILE ... config_prph_dsk_card.incl.pl1 */ 907 908 4 1 /* BEGIN INCLUDE FILE ... config_prph_tap_card.incl.pl1 */ 4 2 4 3 dcl prph_tap_cardp ptr; /* Pointer to a PRPH TAPx card. */ 4 4 4 5 dcl 1 prph_tap_card based (prph_tap_cardp) aligned, /* PRPH TAPx card declaration */ 4 6 2 word char (4), /* "prph" */ 4 7 2 name char (4), /* "tapX" */ 4 8 2 iom fixed bin (3), /* IOM number */ 4 9 2 chan fixed bin (8), /* channel number */ 4 10 2 nchan fixed bin, /* number of channels */ 4 11 4 12 2 group (5), 4 13 3 model fixed bin, /* model number */ 4 14 3 ndrives fixed bin, /* number of drives */ 4 15 4 16 2 type_word aligned, 4 17 3 field_type (14) bit (2) unaligned, /* type of each field; see config_deck.incl.pl1 */ 4 18 3 pad1 bit (4) unaligned, 4 19 3 n_fields fixed bin (4) unsigned unaligned; /* number of fields used on card */ 4 20 4 21 dcl 1 prph_tap_card_array aligned based (prph_tap_cardp), /* Overlay for drive group array */ 4 22 2 pad1 (5) bit (36) aligned, 4 23 2 group (divide (max (0, (prph_tap_card.n_fields - 4)), 2, 17, 0)), 4 24 3 model fixed bin, /* model number */ 4 25 3 ndrives fixed bin; /* number of drives */ 4 26 4 27 /* END INCLUDE FILE ... config_prph_tap_card.incl.pl1 */ 909 910 5 1 /* Begin include file ..... dump_mpc_data.incl.pl1 */ 5 2 5 3 /* Structure of data used by the dump_mpc command */ 5 4 5 5 /* Written March 1977 by Larry Johnson */ 5 6 /* Modified Jan 1981 by Rich Coppola to add additional info about mpc's */ 5 7 /* Modified May 1982 by Rich Coppola to add structure for EURC statistics */ 5 8 /* 5 9* Modified June 1984 by Paul Farley to add MSP800(DAU) support. 5 10**/ 5 11 5 12 dcl mpc_datap ptr; 5 13 5 14 dcl 1 mpc_data aligned based (mpc_datap), 5 15 2 type char (4), /* Type of mpc: tape, disk, or urc */ 5 16 2 name char (32), /* Name of device, suitable for headings */ 5 17 2 model fixed bin, /* Model of device, from rcp_ */ 5 18 2 fw_rev char (2), /* Revision level of current firmware */ 5 19 2 trace_start fixed bin, /* Address of first trace table entry */ 5 20 2 trace_size fixed bin, /* Total number of mpc words in trace table */ 5 21 2 trace_cur fixed bin, /* Address of next available trace entry */ 5 22 2 mpc_stat_addr fixed bin, /* Address of mpc error counters */ 5 23 2 mpc_err_int_ctr_addr fixed bin, /* Address of the err int ctr */ 5 24 2 mpc_err_data_reg_addr fixed bin, /* Address of error data register */ 5 25 2 dev_stat_addr fixed bin, /* Address of device statistics table */ 5 26 2 config_sw bit (16), /* Settings of switches on maintaince panel */ 5 27 2 dau_rev bit (8); /* Revision of DAU hardware */ 5 28 5 29 5 30 /* structure of data collected on mpc statistics */ 5 31 5 32 dcl mpc_stat_infop ptr; 5 33 5 34 dcl 1 mpc_stat_info aligned based (mpc_stat_infop), 5 35 2 mpc_name char (4), 5 36 2 stat_counters (12) fixed bin, 5 37 2 error_data, 5 38 3 pad bit (8), 5 39 3 int_counter fixed bin (8) uns, 5 40 3 register bit (16), 5 41 3 auxar bit (16), 5 42 3 intar bit (16), 5 43 2 eurc_data, 5 44 3 uptime_clock fixed bin (32) uns, 5 45 3 prom_revision, 5 46 4 core bit (8), 5 47 4 iom bit (8), 5 48 4 special_controller bit (8), 5 49 4 link_edit bit (8), 5 50 4 pdsi_application bit (8), 5 51 4 self_test bit (8), 5 52 4 dai_application bit (8), 5 53 2 ndev fixed bin, 5 54 2 dev_info (64) like dev_stat_info; 5 55 5 56 dcl dev_stat_infop ptr; 5 57 5 58 dcl 1 dev_stat_info aligned based (dev_stat_infop), 5 59 2 subsystem char (4), 5 60 2 model char (6), 5 61 2 driveno fixed bin, 5 62 2 opi bit (1), 5 63 2 port fixed bin, 5 64 2 ca fixed bin, 5 65 2 stat (16) fixed bin (16) uns; 5 66 5 67 dcl mpc_stat_analp ptr; 5 68 5 69 dcl 1 mpc_stat_anal based (mpc_stat_analp), 5 70 2 num_interps fixed bin, 5 71 2 interpretation (16), 5 72 3 message char (43) var, 5 73 3 HINT char (21) var, 5 74 2 auxar bit (16), 5 75 2 intar bit (16), 5 76 2 err_ctr fixed bin, 5 77 2 mpc_stat_ctrs, 5 78 3 num_ctr_interps fixed bin, 5 79 3 interp_stat_ctrs (20) char (20) var, 5 80 3 stat_cntr_cnt (20) fixed bin; 5 81 5 82 /* End include file ..... dump_mpc_data.incl.pl1 */ 911 912 6 1 /* Begin include file . . . . . poll_mpc_data.incl.pl1 */ 6 2 6 3 /* Describes format of syserr binary data logged with mpc polling */ 6 4 /* Prepared April 1980 by Larry Johnson */ 6 5 /* Modified November 1980 by Rich Coppola to add MPC error registers */ 6 6 /* Modified May 1982 by Rich Coppola to add info about EURC */ 6 7 /* Modified June 1983 by Paul Farley to add dev_name to dev_stat structure. 6 8* Modified June 1984 by Paul Farley to add MSP800(DAU) support. 6 9* Also changed structures to version_2, which separates unique data into 6 10* individual definitions. 6 11**/ 6 12 6 13 dcl poll_mpc_datap ptr; 6 14 dcl poll_mpc_specp ptr; /* addr(poll_mpc_data.specific) */ 6 15 dcl poll_mpc_data_version_2 fixed bin int static options (constant) init (2); 6 16 dcl poll_mpc_data_n_devices fixed bin; 6 17 dcl poll_mpc_data_n_stats fixed bin; 6 18 6 19 dcl 1 poll_mpc_data aligned based (poll_mpc_datap), 6 20 2 version fixed bin, 6 21 2 name char (4), /* Name of MPC */ 6 22 2 model fixed bin, /* Model number */ 6 23 2 n_words fixed bin, /* used to get size */ 6 24 2 specific /* Unique data, depending on */ 6 25 (0 refer (poll_mpc_data.n_words)) fixed bin (35); /* MPC model number */ 6 26 6 27 dcl 1 poll_mtp_data aligned based (poll_mpc_specp), 6 28 2 firmware_rev char (2) unal, /* Firmware revision */ 6 29 2 config_sw bit (16) unal, /* Configuration switches */ 6 30 2 pad bit (2) unal, 6 31 2 polled_stat_counters (12) fixed bin, /* LA-PSI error counters */ 6 32 2 polled_error_data, 6 33 3 pad1 bit (8), 6 34 3 interrupt_counter fixed bin (8) uns, /* the error interrupt counter */ 6 35 3 register bit (16), /* the MPC's error data register */ 6 36 3 AUXAR bit (16), /* the auxilliary mpc addr at time of last error */ 6 37 3 INTAR bit (16), /* the addr at which the error occurred */ 6 38 2 n_devices fixed bin, /* Number of devices with statistics */ 6 39 2 n_stats fixed bin, /* Number of non-zero statistics actually logged */ 6 40 2 dev_info (poll_mpc_data_n_devices refer (poll_mtp_data.n_devices)) like dev_info, 6 41 2 stat_info (poll_mpc_data_n_stats refer (poll_mtp_data.n_stats)) like stat_info; 6 42 6 43 dcl 1 poll_msp_data aligned like poll_mtp_data based (poll_mpc_specp); 6 44 6 45 dcl 1 poll_urp_data aligned based (poll_mpc_specp), 6 46 2 interrupt_counter fixed bin (8) uns, /* the error interrupt counter */ 6 47 2 register bit (16), /* the MPC's error data register */ 6 48 2 INTAR bit (16); /* thar addr at which the error occurred */ 6 49 6 50 dcl 1 poll_eurc_data aligned based (poll_mpc_specp), 6 51 2 uptime_clock fixed bin (32) uns, 6 52 2 prom_revision unal, 6 53 3 core bit (8), 6 54 3 iom bit (8), 6 55 3 special_controller bit (8), 6 56 3 link_edit bit (8), 6 57 3 pdsi_application bit (8), 6 58 3 self_test bit (8), 6 59 3 dai_application bit (8), 6 60 2 n_devices fixed bin, /* Number of devices with statistics */ 6 61 2 n_stats fixed bin, /* Number of non-zero statistics actually logged */ 6 62 2 dev_info (poll_mpc_data_n_devices refer (poll_eurc_data.n_devices)) like dev_info, 6 63 2 stat_info (poll_mpc_data_n_stats refer (poll_eurc_data.n_stats)) like stat_info; 6 64 6 65 dcl 1 poll_dau_data aligned based (poll_mpc_specp), 6 66 2 fw_rev char (2) unal, /* Firmware revision */ 6 67 2 hw_rev bit (8) unal, /* DAU Revision */ 6 68 2 config unal, 6 69 3 ci_0_online bit (1), 6 70 3 ci_1_online bit (1), 6 71 3 psi0_2trip bit (1), /* 0= 4trip, 1= 2trip */ 6 72 3 psi1_2trip bit (1), 6 73 3 psi2_2trip bit (1), 6 74 3 psi3_2trip bit (1), 6 75 2 pad bit (4) unal, 6 76 2 err_interrupts fixed bin (12) uns unal, 6 77 2 psi_cntr (20) fixed bin (8) unal, 6 78 2 ext_size fixed bin, /* Size of DAU extention info, */ 6 79 /* 0=none, 72=err_int>0 */ 6 80 2 n_devices fixed bin, /* Number of devices with statistics */ 6 81 2 n_stats fixed bin, /* Number of non-zero statistics actually logged */ 6 82 2 err_info (0 refer (poll_dau_data.ext_size)) bit (8) unal, 6 83 2 dev_info (poll_mpc_data_n_devices refer (poll_dau_data.n_devices)) like dev_info, 6 84 2 stat_info (poll_mpc_data_n_stats refer (poll_dau_data.n_stats)) like stat_info; 6 85 6 86 dcl dev_info_ptr ptr; 6 87 6 88 dcl 1 dev_info based (dev_info_ptr), 6 89 2 subsystem char (1) unal, /* X from tapX */ 6 90 2 driveno fixed bin (6) uns unal, /* Drive number */ 6 91 2 opi bit (1) unal, /* Powered on Bit */ 6 92 2 ca fixed bin (2) uns unal, /* CA or TCA number */ 6 93 2 port fixed bin (4) uns unal, /* Port number */ 6 94 2 dev_model char (6) unal, /* Model number */ 6 95 2 dev_name char (7) unal; /* Name of the dev */ 6 96 6 97 dcl stat_info_ptr ptr; 6 98 6 99 dcl 1 stat_info based (stat_info_ptr), 6 100 2 dev_index fixed bin (9) uns unal, /* Index in dev_info, above */ 6 101 2 stat_index fixed bin (9) uns unal, /* Which statistic for that device (1 to 16) */ 6 102 2 pad bit (2) unal, 6 103 2 value fixed bin (16) uns unal; /* Actual value of that stat */ 6 104 6 105 6 106 /* Start of MPC Summary Declarations */ 6 107 6 108 dcl mpc_data_summaryp ptr; 6 109 dcl mpc_data_specp ptr; /* addr(mpc_data_summary.specific) */ 6 110 dcl mpc_data_summary_version_2 fixed bin int static options (constant) init (2); 6 111 dcl mpc_summary_n_devices fixed bin; 6 112 6 113 dcl 1 mpc_data_summary aligned based (mpc_data_summaryp), 6 114 2 version fixed bin, 6 115 2 name char (4), /* Name of MPC */ 6 116 2 model fixed bin, 6 117 2 firmware_rev char (2), /* Firmware revision */ 6 118 6 119 /* *old* MSP, MTP and URP specific data */ 6 120 6 121 2 config_sw bit (16), /* Configuration switches */ 6 122 2 polled_stat_counters (12) fixed bin, /* LA-PSI error counters */ 6 123 2 interrupt_counter fixed bin (35), /* the error interrupt counter */ 6 124 2 register bit (16), /* the MPC's error data register */ 6 125 2 AUXAR bit (16), /* the auxilliary mpc addr at time of last error */ 6 126 2 INTAR bit (16), /* thar addr at which the error occurred */ 6 127 6 128 /* EURC Specific data */ 6 129 6 130 2 eurc_specifics, 6 131 3 uptime_clock fixed bin (32) uns, 6 132 3 prom_revision, 6 133 4 core bit (8), 6 134 4 iom bit (8), 6 135 4 special_controller bit (8), 6 136 4 link_edit bit (8), 6 137 4 pdsi_application bit (8), 6 138 4 self_test bit (8), 6 139 4 dai_application bit (8), 6 140 6 141 /* DAU specific data */ 6 142 6 143 2 hw_rev bit (8) unal, /* DAU Revision */ 6 144 2 config unal, 6 145 3 ci_0_online bit (1), 6 146 3 ci_1_online bit (1), 6 147 3 psi0_2trip bit (1), /* 0= 4trip, 1= 2trip */ 6 148 3 psi1_2trip bit (1), 6 149 3 psi2_2trip bit (1), 6 150 3 psi3_2trip bit (1), 6 151 2 err_interrupts fixed bin (35), 6 152 2 err_info (72) bit (8) unal, 6 153 2 psi_cntr (20) fixed bin (35), 6 154 6 155 /* Device statistical data */ 6 156 6 157 2 n_devices fixed bin, /* Number of devices with statistics */ 6 158 2 dev_stat (mpc_summary_n_devices refer (mpc_data_summary.n_devices)) like dev_stat; 6 159 6 160 dcl dev_stat_ptr ptr; 6 161 6 162 dcl 1 dev_stat based (dev_stat_ptr), 6 163 2 subsystem char (1) unal, /* X from tapX */ 6 164 2 driveno fixed bin (6) uns unal, /* Drive number */ 6 165 2 opi bit (1) unal, /* Powered on Bit */ 6 166 2 ca fixed bin (2) uns unal, /* CA or TCA number */ 6 167 2 port fixed bin (4) uns unal, /* Port number */ 6 168 2 pad bit (5) unal, 6 169 2 dev_model char (6) unal, /* Model number */ 6 170 2 prev_driveno fixed bin (6) uns unal, 6 171 2 pad1 bit (3) unal, 6 172 2 dev_name char (6) unal, /* Name of the dev */ 6 173 2 value (16) fixed bin (35); /* Actual value of that stat */ 6 174 6 175 dcl dev_sum_ptr ptr; 6 176 6 177 dcl 1 dev_sum like dev_stat based (dev_sum_ptr); 6 178 6 179 6 180 /* Note: except for the MPC registers only non-zero statistics are logged. 6 181* An entry is made in the stat_info array for each non-zero statistics noting 6 182* which device, and which of the counters was non-zero */ 6 183 6 184 /* End include file . . . . . poll_mpc_data.incl.pl1 */ 913 914 915 end stat_mpc_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 04/02/85 1035.4 stat_mpc_.pl1 >spec>on>6953_pbf-04/02/85>stat_mpc_.pl1 903 1 05/08/81 1853.6 config_mpc_card.incl.pl1 >ldd>include>config_mpc_card.incl.pl1 905 2 10/31/84 1315.5 config_prph_card.incl.pl1 >ldd>include>config_prph_card.incl.pl1 907 3 05/08/81 1853.7 config_prph_dsk_card.incl.pl1 >ldd>include>config_prph_dsk_card.incl.pl1 909 4 11/08/82 1005.8 config_prph_tap_card.incl.pl1 >ldd>include>config_prph_tap_card.incl.pl1 911 5 10/08/84 1326.0 dump_mpc_data.incl.pl1 >ldd>include>dump_mpc_data.incl.pl1 913 6 04/02/85 1035.5 poll_mpc_data.incl.pl1 >spec>on>6953_pbf-04/02/85>poll_mpc_data.incl.pl1 NAMES DECLARED IN THIS COMPILATION. IDENTIFIER OFFSET LOC STORAGE CLASS DATA TYPE ATTRIBUTES AND REFERENCES (* indicates a set context) NAMES DECLARED BY DECLARE STATEMENT. INTAR 2 based bit(16) level 2 dcl 6-45 set ref 620* LC 000156 automatic char(4) initial array unaligned dcl 79 set ref 79* 274 283 779* addr builtin function dcl 241 ref 247 249 250 251 282 309 349 368 372 407 455 468 469 487 507 508 526 575 581 638 arg_code parameter fixed bin(35,0) dcl 46 set ref 558* 697* 719 753 arg_eurc_sw parameter bit(1) unaligned dcl 48 ref 719 725 arg_poll_mpc_datap parameter pointer dcl 47 ref 719 723 753 757 arg_short_sw parameter bit(1) unaligned dcl 43 ref 35 243 728 734 740 747 auto_mpc_stat_info 000166 automatic structure level 1 dcl 81 set ref 247 auxar 20 based bit(16) level 3 dcl 5-34 set ref 262* 385* 392 393* 549 550* bin builtin function dcl 241 ref 295 ca 0(03) based fixed bin(1,0) array level 3 in structure "d601_dev_table" packed unsigned unaligned dcl 115 in procedure "stat_mpc_" ref 530 ca 0(03) based fixed bin(1,0) array level 3 in structure "d451_dev_table" packed unsigned unaligned dcl 107 in procedure "stat_mpc_" ref 491 ca 6 based fixed bin(17,0) level 2 in structure "dev_stat_info" dcl 5-58 in procedure "stat_mpc_" set ref 287* 353* 435* 491* 492 530* 531 643 680 ca 24(16) based fixed bin(2,0) array level 3 in structure "poll_mtp_data" packed unsigned unaligned dcl 6-27 in procedure "stat_mpc_" set ref 680* ca 5(16) based fixed bin(2,0) array level 3 in structure "poll_eurc_data" packed unsigned unaligned dcl 6-50 in procedure "stat_mpc_" set ref 643* ca based fixed bin(2,0) array level 3 in structure "poll_dau_data" packed unsigned unaligned dcl 6-65 in procedure "stat_mpc_" set ref 661* ca_port_table based structure array level 1 packed unaligned dcl 180 ca_port_tablep 000126 automatic pointer dcl 64 set ref 468* 496 507* 535 chan 003257 automatic fixed bin(6,0) dcl 770 in procedure "decode_eurc_config" set ref 776* 777* chan 003310 automatic fixed bin(6,0) dcl 844 in procedure "decode_tape_config" set ref 851* 852* chan 003272 automatic fixed bin(6,0) dcl 798 in procedure "decode_disk_config" set ref 811* 812* chan 4 based fixed bin(8,0) array level 3 in structure "mpc_card" dcl 1-5 in procedure "stat_mpc_" ref 776 776 811 811 851 851 char builtin function dcl 241 ref 285 412 ci_0_online 400(24) based bit(1) level 3 in structure "dau_stats" packed unaligned dcl 135 in procedure "stat_mpc_" ref 601 ci_0_online 0(26) based bit(1) level 3 in structure "poll_dau_data" packed unaligned dcl 6-65 in procedure "stat_mpc_" set ref 601* ci_1_online 400(25) based bit(1) level 3 in structure "dau_stats" packed unaligned dcl 135 in procedure "stat_mpc_" ref 602 ci_1_online 0(27) based bit(1) level 3 in structure "poll_dau_data" packed unaligned dcl 6-65 in procedure "stat_mpc_" set ref 602* code 000106 automatic fixed bin(35,0) dcl 56 set ref 580* 709* 715* config 0(26) based structure level 2 packed unaligned dcl 6-65 config_$find_2 000200 constant entry external dcl 235 ref 772 808 848 config_sw 22 based bit(16) level 2 in structure "mpc_data" dcl 5-14 in procedure "stat_mpc_" ref 465 466 624 config_sw 0(18) based bit(16) level 2 in structure "poll_mtp_data" packed unaligned dcl 6-27 in procedure "stat_mpc_" set ref 624* core 1 based bit(8) level 3 in structure "poll_eurc_data" packed unaligned dcl 6-50 in procedure "stat_mpc_" set ref 587* core 23 based bit(8) level 4 in structure "mpc_stat_info" dcl 5-34 in procedure "stat_mpc_" set ref 297* 587 cross_barred 000122 automatic bit(1) unaligned dcl 61 set ref 312* 465* 505* 803 819 ctrs based fixed bin(8,0) array level 2 packed unsigned unaligned dcl 217 ref 379 458 d451_dev_table based structure level 1 dcl 107 d601_dev_table based structure level 1 dcl 115 dai_application 31 based bit(8) level 4 in structure "mpc_stat_info" dcl 5-34 in procedure "stat_mpc_" set ref 303* 593 dai_application 2(12) based bit(8) level 3 in structure "poll_eurc_data" packed unaligned dcl 6-50 in procedure "stat_mpc_" set ref 593* dau_char based structure level 1 packed unaligned dcl 123 dau_config_ptr 000114 automatic pointer dcl 59 set ref 308* 315 317 318 321 334 355 356 dau_data based bit(16) array unaligned dcl 42 set ref 309 dau_dev_number 000107 automatic fixed bin(17,0) dcl 57 set ref 320* 323 334* 335 336 340 350 351 dau_flags 400(24) based structure level 2 packed unaligned dcl 135 dau_port 000110 automatic fixed bin(17,0) dcl 57 set ref 317* 329 335 336 342 352 359 dau_rev 23 based bit(8) level 2 dcl 5-14 ref 600 dau_stats based structure level 1 packed unaligned dcl 135 dau_stats_ptr 000116 automatic pointer dcl 59 set ref 309* 329 335 336 342 359 601 602 603 604 605 606 607 608 609 611 dau_sw 000155 automatic bit(1) initial unaligned dcl 78 set ref 78* 307 453 596 657 744* 750* 759* ddev_model 000000 constant char(6) initial array unaligned dcl 88 ref 321 355 496 535 ddev_type based fixed bin(8,0) array level 2 packed unsigned unaligned dcl 180 ref 496 535 dev 0(32) based structure array level 2 packed unaligned dcl 123 dev_index based fixed bin(9,0) array level 3 in structure "poll_mtp_data" packed unsigned unaligned dcl 6-27 in procedure "stat_mpc_" set ref 686* dev_index based fixed bin(9,0) array level 3 in structure "poll_dau_data" packed unsigned unaligned dcl 6-65 in procedure "stat_mpc_" set ref 667* dev_index based fixed bin(9,0) array level 3 in structure "poll_eurc_data" packed unsigned unaligned dcl 6-50 in procedure "stat_mpc_" set ref 649* dev_info 24 based structure array level 2 in structure "poll_mtp_data" dcl 6-27 in procedure "stat_mpc_" dev_info based structure array level 2 in structure "poll_dau_data" dcl 6-65 in procedure "stat_mpc_" dev_info 33 based structure array level 2 in structure "mpc_stat_info" dcl 5-34 in procedure "stat_mpc_" set ref 282 349 407 487 526 575 638 dev_info based structure level 1 packed unaligned dcl 6-88 in procedure "stat_mpc_" dev_info 5 based structure array level 2 in structure "poll_eurc_data" dcl 6-50 in procedure "stat_mpc_" dev_model 5(27) based char(6) array level 3 in structure "poll_eurc_data" packed unaligned dcl 6-50 in procedure "stat_mpc_" set ref 645* dev_model 24(27) based char(6) array level 3 in structure "poll_mtp_data" packed unaligned dcl 6-27 in procedure "stat_mpc_" set ref 682* dev_model based char(6) array level 3 in structure "poll_dau_data" packed unaligned dcl 6-65 in procedure "stat_mpc_" set ref 663* dev_name 26(09) based char(7) array level 3 in structure "poll_mtp_data" packed unaligned dcl 6-27 in procedure "stat_mpc_" set ref 683* dev_name 7(09) based char(7) array level 3 in structure "poll_eurc_data" packed unaligned dcl 6-50 in procedure "stat_mpc_" set ref 646* dev_name based char(7) array level 3 in structure "poll_dau_data" packed unaligned dcl 6-65 in procedure "stat_mpc_" set ref 664* dev_stat based structure level 1 unaligned dcl 6-162 dev_stat_addr 21 based fixed bin(17,0) level 2 dcl 5-14 ref 368 455 dev_stat_info based structure level 1 dcl 5-58 dev_stat_infop 003230 automatic pointer dcl 5-56 set ref 282* 283 284 285 286 287 287 289 291 349* 350 351 352 353 355 356 359 407* 408 409 412 413 413 414 414 418 418 419 419 420 423 424 429 434 435 444 447 487* 488 489 490 491 492 496 496 497 499 526* 527 528 529 530 531 535 535 536 538 575* 576 577 638* 640 641 642 643 644 645 646 648 651 658 659 660 662 663 664 666 669 677 678 679 680 681 682 685 688 device_driveno based fixed bin(17,0) array dcl 186 set ref 350 408 488 527 803* 805* 860* 887 898* device_drivenop 000132 automatic pointer dcl 66 set ref 350 408 488 527 803 805 860 881* 887* 893 898 device_model based fixed bin(17,0) array dcl 185 set ref 886 897* device_modelp 000130 automatic pointer dcl 65 set ref 880* 886* 892 897 device_name based char(4) array unaligned dcl 184 set ref 340 351 399 409 478 489 517 528 820* 820* 823* 826* 859* 885 896* device_namep 000124 automatic pointer dcl 63 set ref 340 351 399 409 478 489 517 528 820 820 823 826 859 879* 885* 891 896 disk_dev_tablep 000120 automatic pointer dcl 60 set ref 469* 472 490 491 497 508* 511 529 530 536 display_mpc_data_ 000204 constant entry external dcl 237 ref 707 display_mpc_data_$display_mpc_ 000206 constant entry external dcl 238 ref 712 drive 003307 automatic fixed bin(17,0) dcl 843 in procedure "decode_tape_config" set ref 855* 859 860 860 862* 862 drive 003271 automatic fixed bin(17,0) dcl 797 in procedure "decode_disk_config" set ref 815* 820 820 823 826 829* 829 driveno 5(09) based fixed bin(6,0) array level 3 in structure "poll_eurc_data" packed unsigned unaligned dcl 6-50 in procedure "stat_mpc_" set ref 641* driveno 3 based fixed bin(17,0) level 2 in structure "dev_stat_info" dcl 5-58 in procedure "stat_mpc_" set ref 284* 350* 408* 413 414 418 419 423 434 488* 527* 641 659 678 driveno based fixed bin(6,0) array level 3 in structure "poll_dau_data" packed unsigned unaligned dcl 6-65 in procedure "stat_mpc_" set ref 659* driveno 24(09) based fixed bin(6,0) array level 3 in structure "poll_mtp_data" packed unsigned unaligned dcl 6-27 in procedure "stat_mpc_" set ref 678* dsk_err_data based structure level 1 packed unaligned dcl 202 ref 460 dstat based structure array level 1 packed unaligned dcl 99 dual_personality 000123 automatic bit(1) unaligned dcl 62 set ref 312* 466* 505* 803 822 err_data_ptr 000136 automatic pointer dcl 68 set ref 250* 384 386 err_info 12 based bit(8) array level 2 packed unaligned dcl 6-65 set ref 611* err_int_ptr 000134 automatic pointer dcl 67 set ref 249* 383 390 391 460 548 err_interrupts 407(04) based fixed bin(16,0) level 2 in structure "dau_stats" packed unsigned unaligned dcl 135 in procedure "stat_mpc_" ref 607 609 err_interrupts 1 based fixed bin(12,0) level 2 in structure "poll_dau_data" packed unsigned unaligned dcl 6-65 in procedure "stat_mpc_" set ref 607* error_data 15 based structure level 2 dcl 5-34 set ref 391* 460* 548* 630 error_table_$incorrect_device_type 000210 external static fixed bin(35,0) dcl 239 ref 558 estat 003121 automatic structure array level 1 unaligned dcl 104 eurc_data 22 based structure level 2 dcl 5-34 eurc_image based bit(8) array unaligned dcl 54 ref 295 295 295 295 297 298 299 300 301 302 303 eurc_lc_model 000162 automatic fixed bin(17,0) array dcl 80 set ref 285 775* 780* eurc_stat based fixed bin(16,0) array unsigned unaligned dcl 102 ref 269 eurc_sw 000154 automatic bit(1) initial unaligned dcl 78 set ref 78* 256 547 585 616 639 725* 737* ext_dau_info 410 based bit(8) array level 2 packed unaligned dcl 135 ref 611 ext_size 7 based fixed bin(17,0) level 2 dcl 6-65 set ref 610* 611 613* 658 659 660 661 662 663 664 667 668 669 find_config_card_$prph_for_channel 000202 constant entry external dcl 236 ref 777 812 852 firmware_rev based char(2) level 2 packed unaligned dcl 6-27 set ref 626* found 000152 automatic fixed bin(17,0) dcl 77 set ref 281* 406* 420 425* 431* 433 436* fw_rev based char(2) level 2 in structure "poll_dau_data" packed unaligned dcl 6-65 in procedure "stat_mpc_" set ref 599* fw_rev 12 based char(2) level 2 in structure "mpc_data" dcl 5-14 in procedure "stat_mpc_" ref 599 626 get_temp_segment_ 000174 constant entry external dcl 233 ref 580 group 5 based structure array level 2 in structure "prph_dsk_card" dcl 3-5 in procedure "stat_mpc_" ref 816 group 5 based structure array level 2 in structure "prph_tap_card" dcl 4-5 in procedure "stat_mpc_" ref 856 hbound builtin function dcl 241 ref 576 816 856 888 hw_rev 0(18) based bit(8) level 2 packed unaligned dcl 6-65 set ref 600* i 003311 automatic fixed bin(17,0) dcl 845 in procedure "decode_tape_config" set ref 856* 856* 857 858* i 003324 automatic fixed bin(17,0) dcl 875 in procedure "processed_mpc" set ref 877* 878 879 880 881* i 000102 automatic fixed bin(17,0) dcl 52 in procedure "stat_mpc_" set ref 265* 267 269* 273* 274 276 283 284 285 289* 314* 315 317 318 320 321 334 355 356* 378* 379 379* 398* 399 401 408 409 444* 470* 472 474 478 480 488 489 490 491 497 499* 509* 511 513 517 519 527 528 529 530 536 538* 574* 575* 637* 638 640 641 642 643 644 645 646 649 658 659 660 661 662 663 664 667 677 678 679 680 681 682 683 686* i 003273 automatic fixed bin(17,0) dcl 799 in procedure "decode_disk_config" set ref 802* 803 803 805 805* 816* 816* 817 818* image based bit(16) array unaligned dcl 41 set ref 249 250 251 368 372 455 468 469 507 508 image_ptr parameter pointer dcl 40 ref 35 249 250 251 264 295 295 295 295 297 298 299 300 301 302 303 308 309 368 372 455 468 469 507 508 719 728 734 740 747 753 int_counter 16 based fixed bin(8,0) level 3 unsigned dcl 5-34 set ref 260* 383* 618 intar 21 based bit(16) level 3 in structure "mpc_stat_info" dcl 5-34 in procedure "stat_mpc_" set ref 263* 386* 392* 549* 620 intar 0(16) based bit(16) level 2 in structure "t500_err_data" packed unaligned dcl 189 in procedure "stat_mpc_" ref 386 interrupt_counter based fixed bin(8,0) level 2 unsigned dcl 6-45 set ref 618* ioa_$ioa_switch 000172 constant entry external dcl 232 ref 561 iom 3 based fixed bin(3,0) array level 3 in structure "mpc_card" dcl 1-5 in procedure "stat_mpc_" ref 777 810 812 850 852 iom 1(08) based bit(8) level 3 in structure "poll_eurc_data" packed unaligned dcl 6-50 in procedure "stat_mpc_" set ref 588* iom 24 based bit(8) level 4 in structure "mpc_stat_info" dcl 5-34 in procedure "stat_mpc_" set ref 298* 588 j 003312 automatic fixed bin(17,0) dcl 845 in procedure "decode_tape_config" set ref 857* j 003274 automatic fixed bin(17,0) dcl 799 in procedure "decode_disk_config" set ref 817* j 000103 automatic fixed bin(17,0) dcl 52 in procedure "stat_mpc_" set ref 267* 269* 275* 276* 288* 289 289* 328* 329* 340* 342* 358* 359 359* 399* 401* 420* 422 422* 423 424* 433* 434 435* 443* 444 444* 446* 447* 473* 474* 478* 480* 498* 499 499* 512* 513* 517* 519* 537* 538 538* 576* 577* 647* 648 650 651* 665* 666 668 669* 684* 685 687 688* k 000104 automatic fixed bin(17,0) dcl 52 set ref 266* 268* 268 269 492* 494* 496 531* 533* 535 la 003306 automatic fixed bin(17,0) dcl 842 in procedure "decode_tape_config" set ref 850* 850* 851 851 851 852* la 003256 automatic fixed bin(17,0) dcl 769 in procedure "decode_eurc_config" set ref 774* 779 780 782* 782 la 003270 automatic fixed bin(17,0) dcl 796 in procedure "decode_disk_config" set ref 810* 810* 811 811 811 812 823* link_edit 1(24) based bit(8) level 3 in structure "poll_eurc_data" packed unaligned dcl 6-50 in procedure "stat_mpc_" set ref 590* link_edit 26 based bit(8) level 4 in structure "mpc_stat_info" dcl 5-34 in procedure "stat_mpc_" set ref 300* 590 ltrim builtin function dcl 241 ref 285 321 412 mod builtin function dcl 241 ref 323 803 model 1 based char(6) level 2 in structure "dev_stat_info" dcl 5-58 in procedure "stat_mpc_" set ref 285* 355* 412* 424* 429* 496* 535* 645 663 682 model 2 based fixed bin(17,0) level 2 in structure "poll_mpc_data" dcl 6-19 in procedure "stat_mpc_" set ref 584* model 11 based fixed bin(17,0) level 2 in structure "mpc_data" dcl 5-14 in procedure "stat_mpc_" set ref 374 374 382 411 412 417 417 464 504 561* 584 model 4 based fixed bin(17,0) level 2 in structure "prph_card" dcl 2-5 in procedure "stat_mpc_" ref 780 model 5 based fixed bin(17,0) array level 3 in structure "prph_dsk_card" dcl 3-5 in procedure "stat_mpc_" ref 816 818 model 5 based fixed bin(17,0) array level 3 in structure "prph_tap_card" dcl 4-5 in procedure "stat_mpc_" ref 856 858 model_num 000112 automatic char(4) unaligned dcl 58 set ref 321* 322 322 322 mpc_card based structure level 1 dcl 1-5 mpc_cardp 003216 automatic pointer dcl 1-3 set ref 772* 773 776 776 776 777 808* 809 810 811 811 811 812 848* 849 850 851 851 851 852 mpc_data based structure level 1 dcl 5-14 mpc_datap parameter pointer dcl 5-12 ref 35 249 250 251 252 254 366 368 374 374 382 411 412 417 417 453 455 464 465 466 504 547 561 561 584 599 600 616 624 626 675 675 719 728 734 740 747 753 772 772 808 808 848 848 878 890 mpc_device_drivenos 000132 internal static pointer array dcl 227 set ref 881 893* mpc_device_models 000072 internal static pointer array dcl 226 set ref 880 892* mpc_device_names 000032 internal static pointer array dcl 225 set ref 879 891* mpc_err_data_reg_addr 20 based fixed bin(17,0) level 2 dcl 5-14 ref 250 mpc_err_int_ctr_addr 17 based fixed bin(17,0) level 2 dcl 5-14 ref 249 mpc_err_stat based structure level 1 packed unaligned dcl 217 mpc_name based char(4) level 2 dcl 5-34 set ref 252* 583 mpc_names 000011 internal static char(4) array unaligned dcl 224 set ref 878 888 890* mpc_only 000146 automatic bit(1) initial unaligned dcl 73 set ref 73* 311 396 461 634 731* 743* mpc_stat_addr 16 based fixed bin(17,0) level 2 dcl 5-14 ref 251 mpc_stat_addrp 000140 automatic pointer dcl 69 set ref 251* 379 458 mpc_stat_info based structure level 1 dcl 5-34 mpc_stat_infop 003226 automatic pointer dcl 5-32 set ref 247* 252 258 259 260 261 262 263 279 282 295 297 298 299 300 301 302 303 310 347 349 371 373 379 383 384 385 386 391 392 392 393 404 407 456 458 460 485 487 524 526 548 549 549 550 551 571 574 575 583 586 587 588 589 590 591 592 593 618 619 620 629 630 637 638 n_devices 22 based fixed bin(17,0) level 2 in structure "poll_mtp_data" dcl 6-27 in procedure "stat_mpc_" set ref 627* 686 687 688 n_devices 10 based fixed bin(17,0) level 2 in structure "poll_dau_data" dcl 6-65 in procedure "stat_mpc_" set ref 597* 667 668 669 n_devices 3 based fixed bin(17,0) level 2 in structure "poll_eurc_data" dcl 6-50 in procedure "stat_mpc_" ref 649 650 651 n_pad_words 000143 automatic fixed bin(17,0) dcl 71 set ref 374* 376* 413 413 414 414 n_stats 11 based fixed bin(17,0) level 2 in structure "poll_dau_data" dcl 6-65 in procedure "stat_mpc_" set ref 598* n_stats 23 based fixed bin(17,0) level 2 in structure "poll_mtp_data" dcl 6-27 in procedure "stat_mpc_" set ref 628* n_words 3 based fixed bin(17,0) level 2 dcl 6-19 set ref 594* 614* 621* 631* 655* 673* 692* name 1 based char(4) level 2 in structure "prph_tap_card" dcl 4-5 in procedure "stat_mpc_" ref 854 859 name 1 based char(4) level 2 in structure "poll_mpc_data" dcl 6-19 in procedure "stat_mpc_" set ref 583* name 1 based char(4) level 2 in structure "prph_dsk_card" dcl 3-5 in procedure "stat_mpc_" ref 814 820 823 826 name 1 based char(4) level 2 in structure "prph_card" dcl 2-5 in procedure "stat_mpc_" ref 779 name 1 based char(32) level 2 in structure "mpc_data" dcl 5-14 in procedure "stat_mpc_" set ref 252 561* 772 772 808 808 848 848 878 890 nchan 5 based fixed bin(17,0) array level 3 dcl 1-5 ref 776 811 851 ndev 000105 automatic fixed bin(17,0) dcl 55 in procedure "stat_mpc_" set ref 258* 279 279* 282 310* 347 347* 349 371* 404 404* 407 456* 485 485* 487 524 524* 526 ndev 32 based fixed bin(17,0) level 2 in structure "mpc_stat_info" dcl 5-34 in procedure "stat_mpc_" set ref 258* 279* 310* 347* 371* 404* 456* 485* 524* 551* 571 574 637 ndrives 6 based fixed bin(17,0) array level 3 in structure "prph_dsk_card" dcl 3-5 in procedure "stat_mpc_" ref 817 ndrives 6 based fixed bin(17,0) array level 3 in structure "prph_tap_card" dcl 4-5 in procedure "stat_mpc_" ref 857 nmpcs 000010 internal static fixed bin(17,0) initial dcl 223 set ref 877 888 889* 889 890 891 892 893 null builtin function dcl 241 ref 708 714 773 778 809 813 849 853 number 1(04) based fixed bin(8,0) array level 3 in structure "dau_char" packed unsigned unaligned dcl 123 in procedure "stat_mpc_" ref 318 334 356 number based fixed bin(8,0) array level 3 in structure "dau_stats" packed unsigned unaligned dcl 135 in procedure "stat_mpc_" ref 335 336 opi based bit(1) array level 3 in structure "d601_dev_table" packed unaligned dcl 115 in procedure "stat_mpc_" ref 511 536 opi 5(15) based bit(1) array level 3 in structure "poll_eurc_data" packed unaligned dcl 6-50 in procedure "stat_mpc_" set ref 642* opi based bit(1) array level 3 in structure "d451_dev_table" packed unaligned dcl 107 in procedure "stat_mpc_" ref 472 497 opi based bit(1) array level 3 in structure "t500_dev_table" packed unaligned dcl 173 in procedure "stat_mpc_" ref 414 opi 24(15) based bit(1) array level 3 in structure "poll_mtp_data" packed unaligned dcl 6-27 in procedure "stat_mpc_" set ref 679* opi based bit(1) array level 3 in structure "poll_dau_data" packed unaligned dcl 6-65 in procedure "stat_mpc_" set ref 660* opi based bit(1) array level 3 in structure "t600_dev_table" packed unaligned dcl 161 in procedure "stat_mpc_" ref 419 opi 4 based bit(1) level 2 in structure "dev_stat_info" dcl 5-58 in procedure "stat_mpc_" set ref 286* 356* 414* 419* 420 497* 536* 642 660 679 p 000100 automatic pointer dcl 52 set ref 264* 269 368* 401 444 455* 474 480 499 513 519 538 pad 0(34) based bit(2) level 2 in structure "poll_mtp_data" packed unaligned dcl 6-27 in procedure "stat_mpc_" set ref 625* pad based bit(8) level 2 in structure "t600_err_data" packed unaligned dcl 195 in procedure "stat_mpc_" set ref 390* pair_idx 000111 automatic fixed bin(17,0) dcl 57 set ref 323* 325* 327* 329 335* 336* 342 359 pdsi_application 27 based bit(8) level 4 in structure "mpc_stat_info" dcl 5-34 in procedure "stat_mpc_" set ref 301* 591 pdsi_application 1(32) based bit(8) level 3 in structure "poll_eurc_data" packed unaligned dcl 6-50 in procedure "stat_mpc_" set ref 591* per_dev based structure array level 2 in structure "d601_dev_table" packed unaligned dcl 115 in procedure "stat_mpc_" per_dev based structure array level 2 in structure "t600_dev_table" packed unaligned dcl 161 in procedure "stat_mpc_" per_dev based structure array level 2 in structure "t500_dev_table" packed unaligned dcl 173 in procedure "stat_mpc_" per_dev based structure array level 2 in structure "d451_dev_table" packed unaligned dcl 107 in procedure "stat_mpc_" poll_dau_data based structure level 1 dcl 6-65 set ref 614 673 poll_eurc_data based structure level 1 dcl 6-50 set ref 594 655 poll_mpc_data based structure level 1 dcl 6-19 poll_mpc_data_n_devices 003236 automatic fixed bin(17,0) dcl 6-16 set ref 571* 594 597 614 627 631 655 673 692 poll_mpc_data_n_stats 003237 automatic fixed bin(17,0) dcl 6-17 set ref 573* 577* 577 594 598 614 628 631 655 673 692 poll_mpc_data_version_2 constant fixed bin(17,0) initial dcl 6-15 ref 582 poll_mpc_datap 003232 automatic pointer dcl 6-13 set ref 580* 581 582 583 584 594 614 621 631 655 673 692 707* 709* 712* 715* 723* 757* poll_mpc_specp 003234 automatic pointer dcl 6-14 set ref 581* 586 587 588 589 590 591 592 593 594 597 598 599 600 601 602 603 604 605 606 607 608 610 611 613 614 618 619 620 621 624 625 626 627 628 629 630 631 640 641 642 643 644 645 646 649 650 651 655 658 659 660 661 662 663 664 667 668 669 673 677 678 679 680 681 682 683 686 687 688 692 708* 714* poll_mtp_data based structure level 1 dcl 6-27 set ref 631 692 poll_urp_data based structure level 1 dcl 6-45 set ref 621 polled_error_data 15 based structure level 2 dcl 6-27 set ref 630* polled_stat_counters 1 based fixed bin(17,0) array level 2 dcl 6-27 set ref 629* port 0(14) based fixed bin(2,0) array level 3 in structure "t600_dev_table" packed unsigned unaligned dcl 161 in procedure "stat_mpc_" ref 418 port 0(04) based fixed bin(4,0) array level 3 in structure "d451_dev_table" packed unsigned unaligned dcl 107 in procedure "stat_mpc_" ref 490 port 3 based structure array level 2 in structure "mpc_card" dcl 1-5 in procedure "stat_mpc_" port 24(18) based fixed bin(4,0) array level 3 in structure "poll_mtp_data" packed unsigned unaligned dcl 6-27 in procedure "stat_mpc_" set ref 681* port based fixed bin(4,0) array level 3 in structure "poll_dau_data" packed unsigned unaligned dcl 6-65 in procedure "stat_mpc_" set ref 662* port 5(18) based fixed bin(4,0) array level 3 in structure "poll_eurc_data" packed unsigned unaligned dcl 6-50 in procedure "stat_mpc_" set ref 644* port 0(12) based fixed bin(4,0) array level 3 in structure "t500_dev_table" packed unsigned unaligned dcl 173 in procedure "stat_mpc_" ref 413 port 5 based fixed bin(17,0) level 2 in structure "dev_stat_info" dcl 5-58 in procedure "stat_mpc_" set ref 287* 352* 413* 418* 490* 496 529* 535 644 662 681 port 0(04) based fixed bin(4,0) array level 3 in structure "d601_dev_table" packed unsigned unaligned dcl 115 in procedure "stat_mpc_" ref 529 port_data based structure array level 2 packed unaligned dcl 135 port_number 1(20) based fixed bin(8,0) array level 3 packed unsigned unaligned dcl 123 ref 317 prom_revision 23 based structure level 3 in structure "mpc_stat_info" dcl 5-34 in procedure "stat_mpc_" prom_revision 1 based structure level 2 in structure "poll_eurc_data" packed unaligned dcl 6-50 in procedure "stat_mpc_" prph_card based structure level 1 dcl 2-5 prph_cardp 003220 automatic pointer dcl 2-3 set ref 777* 778 779 780 prph_dsk_card based structure level 1 dcl 3-5 prph_dsk_cardp 003222 automatic pointer dcl 3-3 set ref 812* 813 814 816 816 817 818 820 823 826 prph_tap_card based structure level 1 dcl 4-5 prph_tap_cardp 003224 automatic pointer dcl 4-3 set ref 852* 853 854 856 856 857 858 859 psi0_2trip 0(28) based bit(1) level 3 in structure "poll_dau_data" packed unaligned dcl 6-65 in procedure "stat_mpc_" set ref 603* psi0_2trip 400(28) based bit(1) level 3 in structure "dau_stats" packed unaligned dcl 135 in procedure "stat_mpc_" ref 603 psi1_2trip 0(29) based bit(1) level 3 in structure "poll_dau_data" packed unaligned dcl 6-65 in procedure "stat_mpc_" set ref 604* psi1_2trip 400(29) based bit(1) level 3 in structure "dau_stats" packed unaligned dcl 135 in procedure "stat_mpc_" ref 604 psi2_2trip 0(30) based bit(1) level 3 in structure "poll_dau_data" packed unaligned dcl 6-65 in procedure "stat_mpc_" set ref 605* psi2_2trip 400(30) based bit(1) level 3 in structure "dau_stats" packed unaligned dcl 135 in procedure "stat_mpc_" ref 605 psi3_2trip 0(31) based bit(1) level 3 in structure "poll_dau_data" packed unaligned dcl 6-65 in procedure "stat_mpc_" set ref 606* psi3_2trip 400(31) based bit(1) level 3 in structure "dau_stats" packed unaligned dcl 135 in procedure "stat_mpc_" ref 606 psi_cntr 1(12) based fixed bin(8,0) array level 2 in structure "poll_dau_data" packed unaligned dcl 6-65 in procedure "stat_mpc_" set ref 608* psi_cntr 402(24) based fixed bin(8,0) array level 2 in structure "dau_stats" packed unsigned unaligned dcl 135 in procedure "stat_mpc_" ref 608 reg based bit(16) level 2 packed unaligned dcl 189 ref 384 register 17 based bit(16) level 3 in structure "mpc_stat_info" dcl 5-34 in procedure "stat_mpc_" set ref 261* 384* 619 register 1 based bit(16) level 2 in structure "poll_urp_data" dcl 6-45 in procedure "stat_mpc_" set ref 619* release_temp_segment_ 000176 constant entry external dcl 234 ref 709 715 return_info 000142 automatic bit(1) unaligned dcl 70 set ref 245* 556 580 696 722* 756* rtrim builtin function dcl 241 ref 285 self_test 30 based bit(8) level 4 in structure "mpc_stat_info" dcl 5-34 in procedure "stat_mpc_" set ref 302* 592 self_test 2(04) based bit(8) level 3 in structure "poll_eurc_data" packed unaligned dcl 6-50 in procedure "stat_mpc_" set ref 592* short_sw 000150 automatic bit(1) unaligned dcl 75 set ref 243* 707* 712* 724* 758* size builtin function dcl 241 ref 594 614 621 631 655 673 692 special_controller 1(16) based bit(8) level 3 in structure "poll_eurc_data" packed unaligned dcl 6-50 in procedure "stat_mpc_" set ref 589* special_controller 25 based bit(8) level 4 in structure "mpc_stat_info" dcl 5-34 in procedure "stat_mpc_" set ref 299* 589 specific 4 based fixed bin(35,0) array level 2 dcl 6-19 set ref 581 stat 0(32) based fixed bin(16,0) array level 3 in structure "dau_stats" packed unsigned unaligned dcl 135 in procedure "stat_mpc_" ref 329 342 359 stat 003121 automatic fixed bin(16,0) array level 2 in structure "estat" unsigned dcl 104 in procedure "stat_mpc_" set ref 269* 276 289 stat based fixed bin(16,0) array level 2 in structure "tstat" packed unsigned unaligned dcl 96 in procedure "stat_mpc_" ref 401 444 stat 7 based fixed bin(16,0) array level 2 in structure "dev_stat_info" unsigned dcl 5-58 in procedure "stat_mpc_" set ref 289* 291* 359* 444* 447* 499* 538* 576 577 648 651 666 669 685 688 stat based fixed bin(16,0) array level 2 in structure "dstat" packed unsigned unaligned dcl 99 in procedure "stat_mpc_" ref 474 480 499 513 519 538 stat_counters 1 based fixed bin(17,0) array level 2 dcl 5-34 set ref 259* 373* 379* 458* 629 stat_index based fixed bin(9,0) array level 3 in structure "poll_mtp_data" packed unsigned unaligned dcl 6-27 in procedure "stat_mpc_" set ref 687* stat_index based fixed bin(9,0) array level 3 in structure "poll_dau_data" packed unsigned unaligned dcl 6-65 in procedure "stat_mpc_" set ref 668* stat_index based fixed bin(9,0) array level 3 in structure "poll_eurc_data" packed unsigned unaligned dcl 6-50 in procedure "stat_mpc_" set ref 650* stat_info based structure array level 2 in structure "poll_eurc_data" dcl 6-50 in procedure "stat_mpc_" stat_info based structure array level 2 in structure "poll_mtp_data" dcl 6-27 in procedure "stat_mpc_" stat_info based structure array level 2 in structure "poll_dau_data" dcl 6-65 in procedure "stat_mpc_" stat_info based structure level 1 packed unaligned dcl 6-99 in procedure "stat_mpc_" statx 000151 automatic fixed bin(17,0) dcl 76 set ref 636* 649 650 651 652* 652 667 668 669 670* 670 686 687 688 689* 689 substr builtin function dcl 241 ref 252 423 434 465 466 640 658 677 772 772 808 808 814 848 848 854 890 subsystem 24 based char(1) array level 3 in structure "poll_mtp_data" packed unaligned dcl 6-27 in procedure "stat_mpc_" set ref 677* subsystem 5 based char(1) array level 3 in structure "poll_eurc_data" packed unaligned dcl 6-50 in procedure "stat_mpc_" set ref 640* subsystem based char(4) level 2 in structure "dev_stat_info" dcl 5-58 in procedure "stat_mpc_" set ref 283* 351* 409* 489* 528* 640 646 658 664 677 subsystem based char(1) array level 3 in structure "poll_dau_data" packed unaligned dcl 6-65 in procedure "stat_mpc_" set ref 658* sw parameter pointer dcl 43 set ref 35 561* 707* 712* 728 734 740 747 t500_dev_table based structure level 1 dcl 173 t500_err_data based structure level 1 packed unaligned dcl 189 t500_err_int_ctr based fixed bin(16,0) unsigned dcl 188 ref 383 t600_dev_table based structure level 1 dcl 161 t600_err_data based structure level 1 packed unaligned dcl 195 set ref 391 tape_dev_tablep 000144 automatic pointer dcl 72 set ref 372* 413 414 418 419 423 434 tape_model 000520 constant char(6) initial array unaligned dcl 85 ref 424 tape_models 0(32) based bit(8) array level 3 packed unaligned dcl 161 ref 423 tape_sw 000147 automatic bit(1) unaligned dcl 74 set ref 367* 454* tm 0(10) based bit(4) array level 3 packed unaligned dcl 161 ref 434 tstat based structure array level 1 packed unaligned dcl 96 type 0(32) based fixed bin(8,0) array level 3 in structure "dau_char" packed unsigned unaligned dcl 123 in procedure "stat_mpc_" ref 315 321 355 type based char(4) level 2 in structure "mpc_data" dcl 5-14 in procedure "stat_mpc_" ref 254 366 453 547 616 675 675 uptime_clock 22 based fixed bin(32,0) level 3 in structure "mpc_stat_info" unsigned dcl 5-34 in procedure "stat_mpc_" set ref 295* 586 uptime_clock based fixed bin(32,0) level 2 in structure "poll_eurc_data" unsigned dcl 6-50 in procedure "stat_mpc_" set ref 586* urp_err_data based structure level 1 packed unaligned dcl 210 ref 548 urp_sw 000153 automatic bit(1) initial unaligned dcl 78 set ref 78* 254* value based fixed bin(16,0) array level 3 in structure "poll_mtp_data" packed unsigned unaligned dcl 6-27 in procedure "stat_mpc_" set ref 688* value based fixed bin(16,0) array level 3 in structure "poll_dau_data" packed unsigned unaligned dcl 6-65 in procedure "stat_mpc_" set ref 669* value based fixed bin(16,0) array level 3 in structure "poll_eurc_data" packed unsigned unaligned dcl 6-50 in procedure "stat_mpc_" set ref 651* version based fixed bin(17,0) level 2 dcl 6-19 set ref 582* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. MPC_CARD_WORD internal static char(4) initial dcl 1-26 PRPH_CARD_WORD internal static char(4) initial dcl 2-19 dev_info_ptr automatic pointer dcl 6-86 dev_stat_ptr automatic pointer dcl 6-160 dev_sum based structure level 1 unaligned dcl 6-177 dev_sum_ptr automatic pointer dcl 6-175 mpc_card_array based structure level 1 dcl 1-19 mpc_data_specp automatic pointer dcl 6-109 mpc_data_summary based structure level 1 dcl 6-113 mpc_data_summary_version_2 internal static fixed bin(17,0) initial dcl 6-110 mpc_data_summaryp automatic pointer dcl 6-108 mpc_stat_anal based structure level 1 unaligned dcl 5-69 mpc_stat_analp automatic pointer dcl 5-67 mpc_summary_n_devices automatic fixed bin(17,0) dcl 6-111 poll_msp_data based structure level 1 dcl 6-43 prph_dsk_card_array based structure level 1 dcl 3-21 prph_tap_card_array based structure level 1 dcl 4-21 stat_info_ptr automatic pointer dcl 6-97 NAMES DECLARED BY EXPLICIT CONTEXT. bad_dev 003200 constant label dcl 556 ref 417 504 dau 004660 constant entry external dcl 747 dau_stats_ 004644 constant entry external dcl 740 decode_disk_config 005033 constant entry internal dcl 793 ref 313 467 506 decode_eurc_config 004722 constant entry internal dcl 766 ref 257 decode_tape_config 005300 constant entry internal dcl 839 ref 370 display_mpc 004514 constant label dcl 712 ref 634 eurc 004631 constant entry external dcl 734 fill_poll_mpc 003242 constant label dcl 571 ref 311 396 461 join 000652 constant label dcl 247 ref 726 760 mpc_stats_ 004616 constant entry external dcl 728 next_channel 005273 constant label dcl 832 in procedure "decode_disk_config" ref 813 814 next_channel 005462 constant label dcl 865 in procedure "decode_tape_config" ref 853 854 next_dau_dev 001616 constant label dcl 361 ref 315 331 336 345 next_disk1 002674 constant label dcl 501 ref 483 next_disk2 003132 constant label dcl 540 ref 522 next_eurc_dev 001132 constant label dcl 292 ref 278 next_tape 002333 constant label dcl 449 ref 403 processed_mpc 005467 constant entry internal dcl 872 ref 801 847 return_dau_data 004676 constant entry external dcl 753 return_mpc_data 004565 constant entry external dcl 719 start 000643 constant label dcl 243 ref 732 738 745 751 stat_mpc_ 000635 constant entry external dcl 35 use_d451 002555 constant label dcl 485 ref 474 480 use_d601 003013 constant label dcl 524 ref 513 519 use_eurc_dev 001027 constant label dcl 279 ref 274 276 use_tape 002043 constant label dcl 404 ref 401 use_the_data 001511 constant label dcl 347 ref 329 342 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 6070 6302 5667 6100 Length 6636 5667 212 320 200 162 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME stat_mpc_ 1826 external procedure is an external procedure. decode_eurc_config internal procedure shares stack frame of external procedure stat_mpc_. decode_disk_config internal procedure shares stack frame of external procedure stat_mpc_. decode_tape_config internal procedure shares stack frame of external procedure stat_mpc_. processed_mpc internal procedure shares stack frame of external procedure stat_mpc_. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 nmpcs stat_mpc_ 000011 mpc_names stat_mpc_ 000032 mpc_device_names stat_mpc_ 000072 mpc_device_models stat_mpc_ 000132 mpc_device_drivenos stat_mpc_ STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME stat_mpc_ 000100 p stat_mpc_ 000102 i stat_mpc_ 000103 j stat_mpc_ 000104 k stat_mpc_ 000105 ndev stat_mpc_ 000106 code stat_mpc_ 000107 dau_dev_number stat_mpc_ 000110 dau_port stat_mpc_ 000111 pair_idx stat_mpc_ 000112 model_num stat_mpc_ 000114 dau_config_ptr stat_mpc_ 000116 dau_stats_ptr stat_mpc_ 000120 disk_dev_tablep stat_mpc_ 000122 cross_barred stat_mpc_ 000123 dual_personality stat_mpc_ 000124 device_namep stat_mpc_ 000126 ca_port_tablep stat_mpc_ 000130 device_modelp stat_mpc_ 000132 device_drivenop stat_mpc_ 000134 err_int_ptr stat_mpc_ 000136 err_data_ptr stat_mpc_ 000140 mpc_stat_addrp stat_mpc_ 000142 return_info stat_mpc_ 000143 n_pad_words stat_mpc_ 000144 tape_dev_tablep stat_mpc_ 000146 mpc_only stat_mpc_ 000147 tape_sw stat_mpc_ 000150 short_sw stat_mpc_ 000151 statx stat_mpc_ 000152 found stat_mpc_ 000153 urp_sw stat_mpc_ 000154 eurc_sw stat_mpc_ 000155 dau_sw stat_mpc_ 000156 LC stat_mpc_ 000162 eurc_lc_model stat_mpc_ 000166 auto_mpc_stat_info stat_mpc_ 003121 estat stat_mpc_ 003216 mpc_cardp stat_mpc_ 003220 prph_cardp stat_mpc_ 003222 prph_dsk_cardp stat_mpc_ 003224 prph_tap_cardp stat_mpc_ 003226 mpc_stat_infop stat_mpc_ 003230 dev_stat_infop stat_mpc_ 003232 poll_mpc_datap stat_mpc_ 003234 poll_mpc_specp stat_mpc_ 003236 poll_mpc_data_n_devices stat_mpc_ 003237 poll_mpc_data_n_stats stat_mpc_ 003256 la decode_eurc_config 003257 chan decode_eurc_config 003270 la decode_disk_config 003271 drive decode_disk_config 003272 chan decode_disk_config 003273 i decode_disk_config 003274 j decode_disk_config 003306 la decode_tape_config 003307 drive decode_tape_config 003310 chan decode_tape_config 003311 i decode_tape_config 003312 j decode_tape_config 003324 i processed_mpc THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_ne_as call_ext_out_desc call_ext_out return bound_check_signal mod_fx1 ext_entry alloc_based_storage THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. config_$find_2 display_mpc_data_ display_mpc_data_$display_mpc_ find_config_card_$prph_for_channel get_temp_segment_ ioa_$ioa_switch release_temp_segment_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$incorrect_device_type LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 73 000606 78 000607 79 000612 35 000630 243 000643 245 000651 247 000652 249 000654 250 000665 251 000672 252 000677 254 000701 256 000710 257 000712 258 000713 259 000716 260 000726 261 000730 262 000731 263 000732 264 000733 265 000737 266 000745 267 000746 268 000753 269 000754 270 000771 271 000774 273 000776 274 001003 275 001011 276 001017 277 001024 278 001026 279 001027 281 001034 282 001035 283 001040 284 001043 285 001046 286 001106 287 001107 288 001111 289 001117 290 001126 291 001130 292 001132 295 001134 297 001171 298 001175 299 001201 300 001205 301 001211 302 001215 303 001221 305 001225 307 001226 308 001230 309 001232 310 001236 311 001241 312 001243 313 001245 314 001246 315 001253 317 001264 318 001274 320 001304 321 001306 322 001331 323 001350 325 001357 326 001361 327 001362 328 001364 329 001371 330 001412 331 001414 334 001415 335 001416 336 001434 340 001450 342 001465 343 001506 345 001510 347 001511 349 001516 350 001521 351 001525 352 001532 353 001534 355 001535 356 001553 358 001563 359 001571 360 001614 361 001616 364 001620 366 001621 367 001626 368 001630 370 001635 371 001636 372 001641 373 001650 374 001660 376 001673 378 001675 379 001703 380 001714 382 001716 383 001724 384 001727 385 001734 386 001735 387 001741 390 001742 391 001746 392 001775 393 001777 396 002000 398 002002 399 002007 401 002023 402 002040 403 002042 404 002043 406 002050 407 002051 408 002054 409 002060 411 002065 412 002073 413 002120 414 002137 415 002146 417 002147 418 002152 419 002163 420 002171 422 002203 423 002210 424 002223 425 002231 427 002233 429 002236 431 002241 433 002242 434 002251 435 002265 436 002270 438 002272 443 002274 444 002301 445 002320 446 002322 447 002327 448 002331 449 002333 451 002335 453 002336 454 002345 455 002346 456 002353 458 002355 460 002376 461 002426 464 002430 465 002436 466 002442 467 002446 468 002447 469 002454 470 002460 472 002465 473 002473 474 002501 475 002516 478 002520 480 002535 481 002552 483 002554 485 002555 487 002562 488 002565 489 002571 490 002576 491 002610 492 002616 494 002622 496 002624 497 002642 498 002646 499 002653 500 002672 501 002674 503 002676 504 002677 505 002700 506 002702 507 002703 508 002712 509 002716 511 002723 512 002731 513 002737 514 002754 517 002756 519 002773 520 003010 522 003012 524 003013 526 003020 527 003023 528 003027 529 003034 530 003046 531 003054 533 003060 535 003062 536 003100 537 003104 538 003111 539 003130 540 003132 544 003134 547 003135 548 003144 549 003173 550 003175 551 003176 552 003177 556 003200 558 003202 559 003205 561 003206 563 003241 571 003242 573 003245 574 003246 575 003255 576 003261 577 003267 578 003273 579 003275 580 003277 581 003326 582 003331 583 003333 584 003336 585 003343 586 003345 587 003350 588 003355 589 003362 590 003367 591 003374 592 003403 593 003410 594 003413 595 003422 596 003423 597 003425 598 003427 599 003431 600 003433 601 003440 602 003444 603 003447 604 003452 605 003455 606 003460 607 003463 608 003473 609 003522 610 003524 611 003526 612 003562 613 003563 614 003564 615 003577 616 003600 618 003607 619 003612 620 003615 621 003617 622 003622 624 003623 625 003630 626 003632 627 003634 628 003636 629 003640 630 003644 631 003647 634 003655 636 003657 637 003661 638 003671 639 003675 640 003677 641 003706 642 003714 643 003721 644 003726 645 003733 646 003741 647 003750 648 003755 649 003760 650 003772 651 004014 652 004030 654 004031 655 004033 656 004042 657 004043 658 004045 659 004064 660 004107 661 004117 662 004125 663 004140 664 004151 665 004157 666 004165 667 004170 668 004211 669 004233 670 004247 672 004250 673 004252 674 004265 675 004266 677 004302 678 004311 679 004317 680 004324 681 004331 682 004336 683 004344 684 004350 685 004355 686 004360 687 004372 688 004414 689 004430 691 004431 692 004433 694 004442 696 004444 697 004446 698 004447 707 004450 708 004464 709 004466 710 004513 712 004514 714 004530 715 004532 716 004557 719 004560 722 004576 723 004600 724 004604 725 004606 726 004613 728 004614 731 004624 732 004626 734 004627 737 004637 738 004641 740 004642 743 004652 744 004654 745 004655 747 004656 750 004666 751 004670 753 004671 756 004707 757 004711 758 004715 759 004717 760 004721 766 004722 772 004723 773 004745 774 004752 775 004753 776 004764 777 004777 778 005015 779 005021 780 005025 782 005027 783 005030 784 005032 793 005033 801 005034 802 005042 803 005047 805 005063 806 005065 808 005067 809 005111 810 005116 811 005130 812 005143 813 005162 814 005166 815 005173 816 005175 817 005207 818 005217 819 005224 820 005226 821 005243 822 005244 823 005246 824 005257 826 005260 829 005266 830 005267 831 005271 832 005273 834 005275 835 005277 839 005300 847 005301 848 005307 849 005331 850 005336 851 005350 852 005363 853 005402 854 005406 855 005413 856 005415 857 005427 858 005437 859 005444 860 005452 862 005455 863 005456 864 005460 865 005462 867 005464 868 005466 872 005467 877 005471 878 005501 879 005512 880 005515 881 005517 882 005521 884 005527 885 005531 886 005535 887 005541 888 005545 889 005551 890 005552 891 005560 892 005564 893 005566 896 005567 897 005604 898 005615 899 005627 ----------------------------------------------------------- Historical Background This edition of the Multics software materials and documentation is provided and donated to Massachusetts Institute of Technology by Group BULL including BULL HN Information Systems Inc. as a contribution to computer science knowledge. This donation is made also to give evidence of the common contributions of Massachusetts Institute of Technology, Bell Laboratories, General Electric, Honeywell Information Systems Inc., Honeywell BULL Inc., Groupe BULL and BULL HN Information Systems Inc. to the development of this operating system. Multics development was initiated by Massachusetts Institute of Technology Project MAC (1963-1970), renamed the MIT Laboratory for Computer Science and Artificial Intelligence in the mid 1970s, under the leadership of Professor Fernando Jose Corbato. Users consider that Multics provided the best software architecture for managing computer hardware properly and for executing programs. Many subsequent operating systems incorporated Multics principles. Multics was distributed in 1975 to 2000 by Group Bull in Europe , and in the U.S. by Bull HN Information Systems Inc., as successor in interest by change in name only to Honeywell Bull Inc. and Honeywell Information Systems Inc. . ----------------------------------------------------------- Permission to use, copy, modify, and distribute these programs and their documentation for any purpose and without fee is hereby granted,provided that the below copyright notice and historical background appear in all copies and that both the copyright notice and historical background and this permission notice appear in supporting documentation, and that the names of MIT, HIS, BULL or BULL HN not be used in advertising or publicity pertaining to distribution of the programs without specific prior written permission. Copyright 1972 by Massachusetts Institute of Technology and Honeywell Information Systems Inc. Copyright 2006 by BULL HN Information Systems Inc. Copyright 2006 by Bull SAS All Rights Reserved