COMPILATION LISTING OF SEGMENT print_mpc_summary Compiled by: Multics PL/I Compiler, Release 28e, of February 14, 1985 Compiled at: Honeywell Multics Op. - System M Compiled on: 04/02/85 1044.8 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 /* PRINT_MPC_SUMMARY - Print MPC and Device Statistics for MPC. 12* coded December 1980 by Rich Coppola */ 13 /* Modified May 1982 by Rich Coppola to add EURC support */ 14 /* Modified June 1983 by Paul Farley to fix EURC bug. */ 15 /* Modified June 1984 by Paul Farley for DAU (MSP800) support and 16* to change "MTC Read Count" to "MTC Read Retry Count" */ 17 18 /* format: style4,delnl,insnl,ifthenstmt,indnoniterend */ 19 20 print_mpc_summary: 21 proc (a_mpc_data_summaryp, a_sw, short_sw, a_bf_sw); 22 23 /* Arguments */ 24 25 dcl a_mpc_data_summaryp ptr; /* Pointer to mpc data structure */ 26 dcl a_sw ptr; /* Pointer to ioa_switch */ 27 dcl short_sw bit (1); /* Set to fit display on 80 char terminal */ 28 dcl a_bf_sw bit (1); /* set if only errordat to be printed */ 29 30 31 /* Automatic */ 32 33 dcl sw ptr; /* Pointer to ioa_switch */ 34 35 dcl (i, j, k) fixed bin; /* Iteration variables */ 36 dcl pic8 picture "zzzzzzz9"; 37 dcl pic99 picture "99"; 38 dcl pic9 picture "9"; 39 dcl ndev fixed bin; 40 dcl num_to_print fixed bin; 41 dcl nprint fixed bin; 42 dcl nblabel fixed bin; 43 dcl blabelp ptr; 44 dcl hint bit (1); 45 dcl tape_sw bit (1); 46 dcl mpc_only bit (1) init ("0"b); 47 dcl bf_sw bit (1) init ("0"b); 48 dcl print_mpc_line bit (1); 49 dcl (urp_sw, eurc_sw) bit (1) init ("0"b); 50 dcl dau_sw bit (1) init ("0"b); 51 dcl (nonzero_cntrs) bit (1); 52 dcl header_line char (136); 53 dcl retl fixed bin (21); 54 dcl SUBSYSTEM char (3); 55 dcl temp_value float bin (21); 56 dcl temp_con float bin (21); 57 dcl temp fixed bin; 58 dcl temp_float float (21); 59 dcl indx fixed bin; 60 dcl (ratio_need, stat_need) bit (1); 61 dcl prev_drive_sw bit (1) init ("0"b); 62 dcl ratio_wanted bit (1) init ("0"b); 63 64 65 dcl 1 line unal, 66 2 title char (28), 67 2 field (16) char (8); 68 69 dcl 1 liner unal, 70 2 title char (28) init (" Ratio"), 71 2 field (16) char (8); 72 73 74 /* Constants */ 75 dcl eurlabel (15) char (28) static options (constant) 76 init ("PDSI Receiver Errors", "PDSI Transmission Errors", "Cards Punched", "Cards Read", "PDSI Frames Received", 77 "PDSI Frames Transmitted", "Connect PCW's", "Total PCW's", "IOM Transactions (L)", "IOM Transactions (U)", 78 "IOM Word Transmissions (L)", "IOM Word Transmissions (U)", "Lines Printed", "PDSI Re-Transmissions", 79 "Pages printed"); 80 81 dcl tlabel (8) char (28) static options (constant) 82 init ("Records Read", "Records Written", "Records with Write Error", "Records with Read Error", 83 "Transfer Timing Errors", "Marginal Records", "Single Track Corrections", "MTC Read Retry Count"); 84 85 dcl dlabel (16) char (28) int static options (constant) 86 init ("Movement Seeks", "Data Sectors Written", "Data Sectors Read", "Data Transfer Commands", 87 "Seek Incompletes", "Header Verification Errors", "Transfer Timing Errors", "Data Check Character Alerts", 88 "Count Check Character Alerts", "Parity Errors", "Alternate Tracks Processed", "EDAC Correctable Errors", 89 "EDAC Uncorrectable Errors", "Positioner Offsets", "Data Correction Init", "Search Alerts"); 90 91 dcl daulabel (16) char (28) int static options (constant) 92 init ("Movement Seeks", "Data Sectors Written", "Data Sectors Read", "Data Transfer Commands", 93 "Seek Incompletes", "Header Verification Errors", "Transfer Timing Errors", "Data Check Character Alerts", 94 "Count Check Character Alerts", "Interface Errors", "Alternate Tracks Processed", "EDAC Correctable Errors", 95 "EDAC Uncorrectable Errors", "Latencies", "Record Retry", "Sync Failures"); 96 97 98 /* Based */ 99 100 101 dcl blabel (nblabel) char (28) based (blabelp); 102 103 /* External Entries */ 104 105 dcl ioa_$ioa_switch entry options (variable); 106 dcl ioa_$ioa_switch_nnl entry options (variable); 107 dcl ioa_$rsnnl entry () options (variable); 108 dcl ioa_$rs entry () options (variable); 109 dcl decode_mpc_stats_$stat_ctrs_for_summary_ entry (ptr, ptr); 110 dcl decode_mpc_stats_$dau_stat_ctrs_for_summary_ entry (ptr, ptr); 111 dcl decode_mpc_stats_$err_data_for_summary_ entry (ptr, ptr); 112 dcl (addr, divide, hbound, length, min, rtrim, string, substr) builtin; 113 dcl (size, zerodivide) condition; 114 115 116 summary: 117 entry (a_mpc_data_summaryp, a_sw, short_sw, a_bf_sw); 118 start: 119 mpc_data_summaryp = a_mpc_data_summaryp; 120 sw = a_sw; 121 bf_sw = a_bf_sw; 122 123 if short_sw 124 then num_to_print = 6; 125 else num_to_print = 12; 126 ndev = mpc_data_summary.n_devices; 127 128 if substr (mpc_data_summary.name, 1, 3) = "urp" then do; 129 header_line = ""; 130 retl = 0; 131 urp_sw = "1"b; 132 eurc_sw = "0"b; 133 do i = 1 to hbound (eurc_model_numbers, 1) while (eurc_sw = "0"b); 134 if mpc_data_summary.model = eurc_model_numbers (i) then eurc_sw = "1"b; 135 end; 136 if eurc_sw = "1"b then do; /* If EURC controller ... */ 137 nblabel = hbound (eurlabel, 1); 138 blabelp = addr (eurlabel); 139 go to display_eurc; 140 end; 141 end; 142 143 144 else if substr (mpc_data_summary.name, 1, 3) = "mtp" then do; 145 /* If tape controller ... */ 146 call ioa_$rs ("FW Rev. ^a", header_line, retl, mpc_data_summary.firmware_rev); 147 nblabel = hbound (tlabel, 1); 148 blabelp = addr (tlabel); 149 tape_sw = "1"b; 150 SUBSYSTEM = "tap"; 151 end; 152 153 else if substr (mpc_data_summary.name, 1, 3) = "msp" then do; 154 /* If disk controller ... */ 155 if mpc_data_summary.model = 800 then do; /* DAU? */ 156 call ioa_$rs ("FW Rev. ^a, HW Rev. ^2.4b(hex)", header_line, retl, mpc_data_summary.firmware_rev, 157 mpc_data_summary.hw_rev); 158 nblabel = hbound (daulabel, 1); 159 blabelp = addr (daulabel); 160 dau_sw = "1"b; 161 end; 162 else do; 163 call ioa_$rs ("FW Rev. ^a", header_line, retl, mpc_data_summary.firmware_rev); 164 nblabel = hbound (dlabel, 1); 165 blabelp = addr (dlabel); 166 end; 167 tape_sw = "0"b; 168 SUBSYSTEM = "dsk"; 169 end; 170 171 call ioa_$ioa_switch (sw, "^/^[^23x^;^47x^]^a^/", short_sw, substr (header_line, 1, retl)); 172 173 allocate mpc_stat_anal; 174 print_mpc_line = "0"b; 175 176 177 if ^urp_sw & ^dau_sw then do; /* old disk & tape */ 178 nonzero_cntrs = "0"b; 179 do i = 1 to 12 while (^nonzero_cntrs); 180 if mpc_data_summary.polled_stat_counters (i) ^= 0 then nonzero_cntrs = "1"b; 181 end; 182 183 if nonzero_cntrs then do; 184 call decode_mpc_stats_$stat_ctrs_for_summary_ (mpc_data_summaryp, mpc_stat_analp); 185 186 call ioa_$ioa_switch (sw, "^/The LA-PSI ERROR COUNTERS contain the following information:"); 187 188 do i = 1 to mpc_stat_anal.num_ctr_interps; 189 call ioa_$ioa_switch (sw, "^a = ^d", rtrim (mpc_stat_anal.interp_stat_ctrs (i)), 190 mpc_stat_anal.stat_cntr_cnt (i)); 191 end; 192 print_mpc_line = "1"b; /* remember */ 193 call ioa_$ioa_switch (sw, "^/"); 194 end; 195 196 end; 197 198 else if dau_sw then do; /* DAU? */ 199 call ioa_$ioa_switch (sw, "^/Latest Channel Interface Configuration:"); 200 call ioa_$ioa_switch_nnl (sw, "^xCI-0 ^[on^;off^]line, CI-1 ^[on^;off^]line, ", 201 mpc_data_summary.ci_0_online, mpc_data_summary.ci_1_online); 202 call ioa_$ioa_switch_nnl (sw, "^xPSI-0 ^[2^;4^]trip, PSI-1 ^[2^;4^]trip, ", mpc_data_summary.psi0_2trip, 203 mpc_data_summary.psi1_2trip); 204 call ioa_$ioa_switch (sw, "^xPSI-2 ^[2^;4^]trip, PSI-3 ^[2^;4^]trip^/", mpc_data_summary.psi2_2trip, 205 mpc_data_summary.psi3_2trip); 206 207 nonzero_cntrs = "0"b; 208 do i = 1 to 20 while (^nonzero_cntrs); 209 if mpc_data_summary.psi_cntr (i) ^= 0 then nonzero_cntrs = "1"b; 210 end; 211 212 if nonzero_cntrs | mpc_data_summary.err_interrupts ^= 0 then do; 213 call decode_mpc_stats_$dau_stat_ctrs_for_summary_ (mpc_data_summaryp, mpc_stat_analp); 214 215 call ioa_$ioa_switch (sw, "^/The DAU/PSI ERROR COUNTERS contain the following information:"); 216 217 do i = 1 to mpc_stat_anal.num_ctr_interps; 218 call ioa_$ioa_switch (sw, "^a = ^d", rtrim (mpc_stat_anal.interp_stat_ctrs (i)), 219 mpc_stat_anal.stat_cntr_cnt (i)); 220 end; 221 222 if mpc_data_summary.err_interrupts ^= 0 then do; 223 call ioa_$ioa_switch (sw, "^/Last DAU Extended Error Info (72 Bytes):^3(^/^24( ^2.4b^)^)", 224 mpc_data_summary.err_info); 225 end; 226 print_mpc_line = "1"b; /* remember */ 227 call ioa_$ioa_switch (sw, "^/"); 228 end; 229 230 end; 231 232 233 if mpc_data_summary.register ^= "0"b then do; 234 call decode_mpc_stats_$err_data_for_summary_ (mpc_data_summaryp, mpc_stat_analp); 235 236 if mpc_stat_anal.num_interps ^= 0 then print_mpc_line = "1"b; 237 /* remember */ 238 call ioa_$ioa_switch (sw, "^/The MPC ERROR DATA REGISTER contains the following information:"); 239 240 do i = 1 to mpc_stat_anal.num_interps; 241 if mpc_stat_anal.HINT (i) ^= "" 242 then hint = "1"b; 243 else hint = "0"b; 244 call ioa_$ioa_switch (sw, "^a^[ Suspect: ^a^]", rtrim (mpc_stat_anal.message (i)), hint, 245 rtrim (mpc_stat_anal.HINT (i))); 246 end; 247 248 call ioa_$ioa_switch (sw, "The last INTAR address is:^2x^4.4b", mpc_stat_anal.intar); 249 250 if SUBSYSTEM = "dsk" 251 then /* AUXAR only valid for disk MPCs */ 252 call ioa_$ioa_switch (sw, "The last AUXAR address is:^2x^4.4b", mpc_stat_anal.auxar); 253 call ioa_$ioa_switch (sw, "The ERROR INTERRUPT COUNTER is: ^6d^/", mpc_stat_anal.err_ctr); 254 255 end; 256 257 258 if print_mpc_line = "0"b & (mpc_only | urp_sw) 259 then call ioa_$ioa_switch (sw, "^/^11tNo error indications encountered for MPC ^a.^2/", mpc_data_summary.name); 260 261 if (urp_sw | mpc_only) then return; 262 263 display_eurc: 264 if eurc_sw then do; /* do eurc specifics */ 265 call ioa_$ioa_switch (sw, "PROM CORE IOM SPECIAL-CONTROLLER LINK/EDIT PDSI SELF-TEST DAI"); 266 call ioa_$ioa_switch (sw, "REVISION^15t^2.4b^20t^2.4b^40t^2.4b^51t^2.4b^57t^2.4b^68t^2.4b^73t^2.4b", 267 mpc_data_summary.core, mpc_data_summary.iom, mpc_data_summary.special_controller, 268 mpc_data_summary.link_edit, mpc_data_summary.pdsi_application, mpc_data_summary.self_test, 269 mpc_data_summary.dai_application); 270 call ioa_$ioa_switch (sw, "^/Uptime Clock-seconds ^12d", mpc_data_summary.uptime_clock); 271 end; 272 273 274 275 do i = 1 to ndev by num_to_print; 276 nprint = min (num_to_print, ndev + 1 - i); 277 278 279 /* start info about device */ 280 281 string (line) = ""; 282 if eurc_sw 283 then line.title = "Device Name"; 284 else line.title = "Subsystem"; 285 286 if ^eurc_sw 287 then do j = 1 to nprint; 288 substr (line.field (j), 5) = SUBSYSTEM || mpc_data_summary.subsystem (i + j - 1); 289 end; 290 291 else do j = 1 to nprint; 292 substr (line.field (j), 9 - length (rtrim (mpc_data_summary.dev_name (i + j - 1)))) = 293 mpc_data_summary.dev_name (i + j - 1); 294 end; 295 296 call ioa_$ioa_switch (sw, "^a", string (line)); 297 298 string (line) = ""; 299 if ^eurc_sw 300 then line.title = "Drive"; 301 302 else line.title = "Logical Channel"; 303 304 do j = 1 to nprint; 305 pic8 = mpc_data_summary.driveno (i + j - 1); 306 line.field (j) = pic8; 307 end; 308 call ioa_$ioa_switch (sw, "^a", string (line)); 309 310 311 if ^eurc_sw then do; 312 string (line) = ""; 313 line.title = "Prev_drive"; 314 do j = 1 to nprint; 315 if mpc_data_summary.prev_driveno (i + j - 1) ^= 0 then do; 316 pic8 = mpc_data_summary.prev_driveno (i + j - 1); 317 line.field (j) = pic8; 318 prev_drive_sw = "1"b; 319 end; 320 end; 321 322 if prev_drive_sw then call ioa_$ioa_switch (sw, "^a", string (line)); 323 end; 324 325 string (line) = ""; 326 line.title = "Model"; 327 do j = 1 to nprint; 328 substr (line.field (j), 9 - length (rtrim (mpc_data_summary.dev_model (i + j - 1)))) = 329 mpc_data_summary.dev_model (i + j - 1); 330 end; 331 call ioa_$ioa_switch (sw, "^a", string (line)); 332 333 string (line) = ""; 334 335 if eurc_sw then do; 336 display_eurc_stats: 337 do k = 1 to hbound (blabel, 1); 338 string (line) = ""; 339 string (liner) = ""; 340 line.title = blabel (k); 341 342 do j = 1 to nprint; 343 indx = (i + j - 1); 344 pic8 = mpc_data_summary.dev_stat (indx).value (k); 345 line.field (j) = pic8; 346 end; 347 call ioa_$ioa_switch (sw, "^a", string (line)); 348 end; 349 350 call ioa_$ioa_switch (sw, "^2/"); 351 go to end_eurc_dev; 352 end; 353 354 355 if tape_sw then do; 356 if mpc_data_summary.model < 610 357 then line.title = "Port"; 358 else line.title = "TM/Port"; 359 end; 360 361 else line.title = "CA/Port"; 362 363 do j = 1 to nprint; 364 line.field (j) = ""; 365 if (^tape_sw) | (mpc_data_summary.model > 602) then do; 366 pic9 = mpc_data_summary.ca (i + j - 1); 367 pic99 = mpc_data_summary.port (i + j - 1); 368 substr (line.field (j), 5) = pic9 || "/" || pic99; 369 370 end; 371 372 else do; 373 pic8 = mpc_data_summary.port (i + j - 1); 374 line.field (j) = pic8; 375 end; 376 end; 377 378 call ioa_$ioa_switch (sw, "^a", string (line)); 379 380 line.title = "OPI"; 381 do j = 1 to nprint; 382 line.field (j) = ""; 383 if mpc_data_summary.opi (i + j - 1) 384 then line.field (j) = " ON"; 385 else line.field (j) = " OFF"; 386 end; 387 388 call ioa_$ioa_switch (sw, "^a^/", string (line)); 389 390 391 on zerodivide 392 begin; 393 liner.field (j) = " ******"; 394 goto pr_stat; 395 end; 396 397 on size 398 begin; 399 line.field (j) = " ******"; 400 goto recover_size; 401 end; 402 403 404 do k = 1 to hbound (blabel, 1); 405 string (line) = ""; 406 string (liner) = ""; 407 if ^tape_sw 408 then liner.title = " Ratio * 100"; 409 else liner.title = " Ratio"; 410 line.title = blabel (k); 411 412 ratio_need, stat_need = "0"b; 413 do j = 1 to nprint; 414 415 indx = (i + j - 1); 416 417 if mpc_data_summary.dev_stat (indx).value (k) ^= 0 then do; 418 if bf_sw 419 then /* dont display anything but error counters */ 420 if k <= 2 then goto skip_print; 421 else if ^tape_sw & k <= 4 then goto skip_print; 422 stat_need = "1"b; 423 pic8 = mpc_data_summary.dev_stat (indx).value (k); 424 line.field (j) = pic8; 425 recover_size: 426 if ^tape_sw 427 then if k > 4 then do; 428 ratio_need = "1"b; 429 temp_value = mpc_data_summary.dev_stat (indx).value (k); 430 goto msp_dev (k); 431 end_msp_dev: 432 temp_float = divide (temp_value, temp_con, 21); 433 call ioa_$rsnnl ("^8.3f", liner.field (j), temp, temp_float); 434 end; 435 else ; 436 else if k > 2 then do; 437 ratio_need = "1"b; 438 temp_value = mpc_data_summary.dev_stat (indx).value (k); 439 goto mtp_dev (k); 440 end_mtp_dev: 441 temp_float = divide (temp_value, temp_con, 21); 442 443 call ioa_$rsnnl ("^8.3f", liner.field (j), temp, temp_float); 444 end; 445 end; 446 end; 447 pr_stat: 448 if stat_need then do; 449 call ioa_$ioa_switch (sw, "^a", string (line)); 450 if ratio_need & ratio_wanted then call ioa_$ioa_switch (sw, "^a", string (liner)); 451 end; 452 skip_print: 453 ratio_need, stat_need = "0"b; 454 end; 455 end_eurc_dev: 456 call ioa_$ioa_switch (sw, "^2/"); 457 end; 458 return; 459 460 msp_dev (5): 461 msp_dev (6): 462 msp_dev (7): 463 msp_dev (8): 464 msp_dev (9): 465 msp_dev (10): 466 msp_dev (12): 467 msp_dev (13): 468 msp_dev (15): 469 msp_dev (16): 470 temp_con = mpc_data_summary.dev_stat (indx).value (4) * 100; 471 goto end_msp_dev; 472 473 msp_dev (11): 474 msp_dev (14): 475 temp_con = mpc_data_summary.dev_stat (indx).value (1) * 100; 476 goto end_msp_dev; 477 478 mtp_dev (5): 479 mtp_dev (6): 480 temp_con = mpc_data_summary.dev_stat (indx).value (1) + mpc_data_summary.dev_stat (indx).value (2); 481 goto end_mtp_dev; 482 483 mtp_dev (3): 484 temp_con = mpc_data_summary.dev_stat (indx).value (2); 485 goto end_mtp_dev; 486 487 mtp_dev (4): 488 mtp_dev (7): 489 mtp_dev (8): 490 temp_con = mpc_data_summary.dev_stat (indx).value (1); 491 goto end_mtp_dev; 492 493 494 display_mpc_: 495 entry (a_mpc_data_summaryp, a_sw, short_sw, a_bf_sw); 496 497 mpc_only = "1"b; 498 go to start; 499 500 1 1 /* Begin include file . . . . . poll_mpc_data.incl.pl1 */ 1 2 1 3 /* Describes format of syserr binary data logged with mpc polling */ 1 4 /* Prepared April 1980 by Larry Johnson */ 1 5 /* Modified November 1980 by Rich Coppola to add MPC error registers */ 1 6 /* Modified May 1982 by Rich Coppola to add info about EURC */ 1 7 /* Modified June 1983 by Paul Farley to add dev_name to dev_stat structure. 1 8* Modified June 1984 by Paul Farley to add MSP800(DAU) support. 1 9* Also changed structures to version_2, which separates unique data into 1 10* individual definitions. 1 11**/ 1 12 1 13 dcl poll_mpc_datap ptr; 1 14 dcl poll_mpc_specp ptr; /* addr(poll_mpc_data.specific) */ 1 15 dcl poll_mpc_data_version_2 fixed bin int static options (constant) init (2); 1 16 dcl poll_mpc_data_n_devices fixed bin; 1 17 dcl poll_mpc_data_n_stats fixed bin; 1 18 1 19 dcl 1 poll_mpc_data aligned based (poll_mpc_datap), 1 20 2 version fixed bin, 1 21 2 name char (4), /* Name of MPC */ 1 22 2 model fixed bin, /* Model number */ 1 23 2 n_words fixed bin, /* used to get size */ 1 24 2 specific /* Unique data, depending on */ 1 25 (0 refer (poll_mpc_data.n_words)) fixed bin (35); /* MPC model number */ 1 26 1 27 dcl 1 poll_mtp_data aligned based (poll_mpc_specp), 1 28 2 firmware_rev char (2) unal, /* Firmware revision */ 1 29 2 config_sw bit (16) unal, /* Configuration switches */ 1 30 2 pad bit (2) unal, 1 31 2 polled_stat_counters (12) fixed bin, /* LA-PSI error counters */ 1 32 2 polled_error_data, 1 33 3 pad1 bit (8), 1 34 3 interrupt_counter fixed bin (8) uns, /* the error interrupt counter */ 1 35 3 register bit (16), /* the MPC's error data register */ 1 36 3 AUXAR bit (16), /* the auxilliary mpc addr at time of last error */ 1 37 3 INTAR bit (16), /* the addr at which the error occurred */ 1 38 2 n_devices fixed bin, /* Number of devices with statistics */ 1 39 2 n_stats fixed bin, /* Number of non-zero statistics actually logged */ 1 40 2 dev_info (poll_mpc_data_n_devices refer (poll_mtp_data.n_devices)) like dev_info, 1 41 2 stat_info (poll_mpc_data_n_stats refer (poll_mtp_data.n_stats)) like stat_info; 1 42 1 43 dcl 1 poll_msp_data aligned like poll_mtp_data based (poll_mpc_specp); 1 44 1 45 dcl 1 poll_urp_data aligned based (poll_mpc_specp), 1 46 2 interrupt_counter fixed bin (8) uns, /* the error interrupt counter */ 1 47 2 register bit (16), /* the MPC's error data register */ 1 48 2 INTAR bit (16); /* thar addr at which the error occurred */ 1 49 1 50 dcl 1 poll_eurc_data aligned based (poll_mpc_specp), 1 51 2 uptime_clock fixed bin (32) uns, 1 52 2 prom_revision unal, 1 53 3 core bit (8), 1 54 3 iom bit (8), 1 55 3 special_controller bit (8), 1 56 3 link_edit bit (8), 1 57 3 pdsi_application bit (8), 1 58 3 self_test bit (8), 1 59 3 dai_application bit (8), 1 60 2 n_devices fixed bin, /* Number of devices with statistics */ 1 61 2 n_stats fixed bin, /* Number of non-zero statistics actually logged */ 1 62 2 dev_info (poll_mpc_data_n_devices refer (poll_eurc_data.n_devices)) like dev_info, 1 63 2 stat_info (poll_mpc_data_n_stats refer (poll_eurc_data.n_stats)) like stat_info; 1 64 1 65 dcl 1 poll_dau_data aligned based (poll_mpc_specp), 1 66 2 fw_rev char (2) unal, /* Firmware revision */ 1 67 2 hw_rev bit (8) unal, /* DAU Revision */ 1 68 2 config unal, 1 69 3 ci_0_online bit (1), 1 70 3 ci_1_online bit (1), 1 71 3 psi0_2trip bit (1), /* 0= 4trip, 1= 2trip */ 1 72 3 psi1_2trip bit (1), 1 73 3 psi2_2trip bit (1), 1 74 3 psi3_2trip bit (1), 1 75 2 pad bit (4) unal, 1 76 2 err_interrupts fixed bin (12) uns unal, 1 77 2 psi_cntr (20) fixed bin (8) unal, 1 78 2 ext_size fixed bin, /* Size of DAU extention info, */ 1 79 /* 0=none, 72=err_int>0 */ 1 80 2 n_devices fixed bin, /* Number of devices with statistics */ 1 81 2 n_stats fixed bin, /* Number of non-zero statistics actually logged */ 1 82 2 err_info (0 refer (poll_dau_data.ext_size)) bit (8) unal, 1 83 2 dev_info (poll_mpc_data_n_devices refer (poll_dau_data.n_devices)) like dev_info, 1 84 2 stat_info (poll_mpc_data_n_stats refer (poll_dau_data.n_stats)) like stat_info; 1 85 1 86 dcl dev_info_ptr ptr; 1 87 1 88 dcl 1 dev_info based (dev_info_ptr), 1 89 2 subsystem char (1) unal, /* X from tapX */ 1 90 2 driveno fixed bin (6) uns unal, /* Drive number */ 1 91 2 opi bit (1) unal, /* Powered on Bit */ 1 92 2 ca fixed bin (2) uns unal, /* CA or TCA number */ 1 93 2 port fixed bin (4) uns unal, /* Port number */ 1 94 2 dev_model char (6) unal, /* Model number */ 1 95 2 dev_name char (7) unal; /* Name of the dev */ 1 96 1 97 dcl stat_info_ptr ptr; 1 98 1 99 dcl 1 stat_info based (stat_info_ptr), 1 100 2 dev_index fixed bin (9) uns unal, /* Index in dev_info, above */ 1 101 2 stat_index fixed bin (9) uns unal, /* Which statistic for that device (1 to 16) */ 1 102 2 pad bit (2) unal, 1 103 2 value fixed bin (16) uns unal; /* Actual value of that stat */ 1 104 1 105 1 106 /* Start of MPC Summary Declarations */ 1 107 1 108 dcl mpc_data_summaryp ptr; 1 109 dcl mpc_data_specp ptr; /* addr(mpc_data_summary.specific) */ 1 110 dcl mpc_data_summary_version_2 fixed bin int static options (constant) init (2); 1 111 dcl mpc_summary_n_devices fixed bin; 1 112 1 113 dcl 1 mpc_data_summary aligned based (mpc_data_summaryp), 1 114 2 version fixed bin, 1 115 2 name char (4), /* Name of MPC */ 1 116 2 model fixed bin, 1 117 2 firmware_rev char (2), /* Firmware revision */ 1 118 1 119 /* *old* MSP, MTP and URP specific data */ 1 120 1 121 2 config_sw bit (16), /* Configuration switches */ 1 122 2 polled_stat_counters (12) fixed bin, /* LA-PSI error counters */ 1 123 2 interrupt_counter fixed bin (35), /* the error interrupt counter */ 1 124 2 register bit (16), /* the MPC's error data register */ 1 125 2 AUXAR bit (16), /* the auxilliary mpc addr at time of last error */ 1 126 2 INTAR bit (16), /* thar addr at which the error occurred */ 1 127 1 128 /* EURC Specific data */ 1 129 1 130 2 eurc_specifics, 1 131 3 uptime_clock fixed bin (32) uns, 1 132 3 prom_revision, 1 133 4 core bit (8), 1 134 4 iom bit (8), 1 135 4 special_controller bit (8), 1 136 4 link_edit bit (8), 1 137 4 pdsi_application bit (8), 1 138 4 self_test bit (8), 1 139 4 dai_application bit (8), 1 140 1 141 /* DAU specific data */ 1 142 1 143 2 hw_rev bit (8) unal, /* DAU Revision */ 1 144 2 config unal, 1 145 3 ci_0_online bit (1), 1 146 3 ci_1_online bit (1), 1 147 3 psi0_2trip bit (1), /* 0= 4trip, 1= 2trip */ 1 148 3 psi1_2trip bit (1), 1 149 3 psi2_2trip bit (1), 1 150 3 psi3_2trip bit (1), 1 151 2 err_interrupts fixed bin (35), 1 152 2 err_info (72) bit (8) unal, 1 153 2 psi_cntr (20) fixed bin (35), 1 154 1 155 /* Device statistical data */ 1 156 1 157 2 n_devices fixed bin, /* Number of devices with statistics */ 1 158 2 dev_stat (mpc_summary_n_devices refer (mpc_data_summary.n_devices)) like dev_stat; 1 159 1 160 dcl dev_stat_ptr ptr; 1 161 1 162 dcl 1 dev_stat based (dev_stat_ptr), 1 163 2 subsystem char (1) unal, /* X from tapX */ 1 164 2 driveno fixed bin (6) uns unal, /* Drive number */ 1 165 2 opi bit (1) unal, /* Powered on Bit */ 1 166 2 ca fixed bin (2) uns unal, /* CA or TCA number */ 1 167 2 port fixed bin (4) uns unal, /* Port number */ 1 168 2 pad bit (5) unal, 1 169 2 dev_model char (6) unal, /* Model number */ 1 170 2 prev_driveno fixed bin (6) uns unal, 1 171 2 pad1 bit (3) unal, 1 172 2 dev_name char (6) unal, /* Name of the dev */ 1 173 2 value (16) fixed bin (35); /* Actual value of that stat */ 1 174 1 175 dcl dev_sum_ptr ptr; 1 176 1 177 dcl 1 dev_sum like dev_stat based (dev_sum_ptr); 1 178 1 179 1 180 /* Note: except for the MPC registers only non-zero statistics are logged. 1 181* An entry is made in the stat_info array for each non-zero statistics noting 1 182* which device, and which of the counters was non-zero */ 1 183 1 184 /* End include file . . . . . poll_mpc_data.incl.pl1 */ 501 502 2 1 /* Begin include file ..... dump_mpc_data.incl.pl1 */ 2 2 2 3 /* Structure of data used by the dump_mpc command */ 2 4 2 5 /* Written March 1977 by Larry Johnson */ 2 6 /* Modified Jan 1981 by Rich Coppola to add additional info about mpc's */ 2 7 /* Modified May 1982 by Rich Coppola to add structure for EURC statistics */ 2 8 /* 2 9* Modified June 1984 by Paul Farley to add MSP800(DAU) support. 2 10**/ 2 11 2 12 dcl mpc_datap ptr; 2 13 2 14 dcl 1 mpc_data aligned based (mpc_datap), 2 15 2 type char (4), /* Type of mpc: tape, disk, or urc */ 2 16 2 name char (32), /* Name of device, suitable for headings */ 2 17 2 model fixed bin, /* Model of device, from rcp_ */ 2 18 2 fw_rev char (2), /* Revision level of current firmware */ 2 19 2 trace_start fixed bin, /* Address of first trace table entry */ 2 20 2 trace_size fixed bin, /* Total number of mpc words in trace table */ 2 21 2 trace_cur fixed bin, /* Address of next available trace entry */ 2 22 2 mpc_stat_addr fixed bin, /* Address of mpc error counters */ 2 23 2 mpc_err_int_ctr_addr fixed bin, /* Address of the err int ctr */ 2 24 2 mpc_err_data_reg_addr fixed bin, /* Address of error data register */ 2 25 2 dev_stat_addr fixed bin, /* Address of device statistics table */ 2 26 2 config_sw bit (16), /* Settings of switches on maintaince panel */ 2 27 2 dau_rev bit (8); /* Revision of DAU hardware */ 2 28 2 29 2 30 /* structure of data collected on mpc statistics */ 2 31 2 32 dcl mpc_stat_infop ptr; 2 33 2 34 dcl 1 mpc_stat_info aligned based (mpc_stat_infop), 2 35 2 mpc_name char (4), 2 36 2 stat_counters (12) fixed bin, 2 37 2 error_data, 2 38 3 pad bit (8), 2 39 3 int_counter fixed bin (8) uns, 2 40 3 register bit (16), 2 41 3 auxar bit (16), 2 42 3 intar bit (16), 2 43 2 eurc_data, 2 44 3 uptime_clock fixed bin (32) uns, 2 45 3 prom_revision, 2 46 4 core bit (8), 2 47 4 iom bit (8), 2 48 4 special_controller bit (8), 2 49 4 link_edit bit (8), 2 50 4 pdsi_application bit (8), 2 51 4 self_test bit (8), 2 52 4 dai_application bit (8), 2 53 2 ndev fixed bin, 2 54 2 dev_info (64) like dev_stat_info; 2 55 2 56 dcl dev_stat_infop ptr; 2 57 2 58 dcl 1 dev_stat_info aligned based (dev_stat_infop), 2 59 2 subsystem char (4), 2 60 2 model char (6), 2 61 2 driveno fixed bin, 2 62 2 opi bit (1), 2 63 2 port fixed bin, 2 64 2 ca fixed bin, 2 65 2 stat (16) fixed bin (16) uns; 2 66 2 67 dcl mpc_stat_analp ptr; 2 68 2 69 dcl 1 mpc_stat_anal based (mpc_stat_analp), 2 70 2 num_interps fixed bin, 2 71 2 interpretation (16), 2 72 3 message char (43) var, 2 73 3 HINT char (21) var, 2 74 2 auxar bit (16), 2 75 2 intar bit (16), 2 76 2 err_ctr fixed bin, 2 77 2 mpc_stat_ctrs, 2 78 3 num_ctr_interps fixed bin, 2 79 3 interp_stat_ctrs (20) char (20) var, 2 80 3 stat_cntr_cnt (20) fixed bin; 2 81 2 82 /* End include file ..... dump_mpc_data.incl.pl1 */ 503 504 3 1 /* BEGIN INCLUDE FILE ... eurc_model_numbers.incl.pl1 ... 11/13/81 E. N. Kittlitz */ 3 2 3 3 dcl eurc_model_numbers (4) fixed bin internal static init (8001, 8002, 8003, 8004); 3 4 3 5 /* END INCLUDE FILE ... eurc_model_numbers.incl.pl1 ... */ 505 506 end print_mpc_summary; 507 SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 04/02/85 1037.3 print_mpc_summary.pl1 >spec>on>6953_pbf-04/02/85>print_mpc_summary.pl1 501 1 04/02/85 1035.5 poll_mpc_data.incl.pl1 >spec>on>6953_pbf-04/02/85>poll_mpc_data.incl.pl1 503 2 10/08/84 1326.0 dump_mpc_data.incl.pl1 >ldd>include>dump_mpc_data.incl.pl1 505 3 05/27/82 1525.6 eurc_model_numbers.incl.pl1 >ldd>include>eurc_model_numbers.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. HINT 15 based varying char(21) array level 3 dcl 2-69 ref 241 244 244 SUBSYSTEM 000174 automatic char(3) unaligned dcl 54 set ref 150* 168* 250 288 a_bf_sw parameter bit(1) unaligned dcl 28 ref 20 116 121 494 a_mpc_data_summaryp parameter pointer dcl 25 ref 20 116 118 494 a_sw parameter pointer dcl 26 ref 20 116 120 494 addr builtin function dcl 112 ref 138 148 159 165 auxar 461 based bit(16) level 2 packed unaligned dcl 2-69 set ref 250* bf_sw 000123 automatic bit(1) initial unaligned dcl 47 set ref 47* 121* 418 blabel based char(28) array unaligned dcl 101 ref 336 340 404 410 blabelp 000116 automatic pointer dcl 43 set ref 138* 148* 159* 165* 336 340 404 410 ca 104(16) based fixed bin(2,0) array level 3 packed unsigned unaligned dcl 1-113 ref 366 ci_0_online 35(08) based bit(1) level 3 packed unaligned dcl 1-113 set ref 200* ci_1_online 35(09) based bit(1) level 3 packed unaligned dcl 1-113 set ref 200* config 35(08) based structure level 2 packed unaligned dcl 1-113 core 26 based bit(8) level 4 dcl 1-113 set ref 266* dai_application 34 based bit(8) level 4 dcl 1-113 set ref 266* dau_sw 000127 automatic bit(1) initial unaligned dcl 50 set ref 50* 160* 177 198 daulabel 000026 constant char(28) initial array unaligned dcl 91 set ref 158 159 decode_mpc_stats_$dau_stat_ctrs_for_summary_ 000022 constant entry external dcl 110 ref 213 decode_mpc_stats_$err_data_for_summary_ 000024 constant entry external dcl 111 ref 234 decode_mpc_stats_$stat_ctrs_for_summary_ 000020 constant entry external dcl 109 ref 184 dev_info based structure level 1 packed unaligned dcl 1-88 dev_model 104(27) based char(6) array level 3 packed unaligned dcl 1-113 ref 328 328 dev_name 106(18) based char(6) array level 3 packed unaligned dcl 1-113 ref 292 292 dev_stat 104 based structure array level 2 in structure "mpc_data_summary" dcl 1-113 in procedure "print_mpc_summary" dev_stat based structure level 1 unaligned dcl 1-162 in procedure "print_mpc_summary" dev_stat_info based structure level 1 dcl 2-58 divide builtin function dcl 112 ref 431 440 dlabel 000206 constant char(28) initial array unaligned dcl 85 set ref 164 165 driveno 104(09) based fixed bin(6,0) array level 3 packed unsigned unaligned dcl 1-113 ref 305 err_ctr 462 based fixed bin(17,0) level 2 dcl 2-69 set ref 253* err_info 37 based bit(8) array level 2 packed unaligned dcl 1-113 set ref 223* err_interrupts 36 based fixed bin(35,0) level 2 dcl 1-113 ref 212 222 eurc_model_numbers 000022 constant fixed bin(17,0) initial array dcl 3-3 ref 133 134 eurc_specifics 25 based structure level 2 dcl 1-113 eurc_sw 000126 automatic bit(1) initial unaligned dcl 49 set ref 49* 132* 133 134* 136 263 282 286 299 311 335 eurlabel 000456 constant char(28) initial array unaligned dcl 75 set ref 137 138 field 7 000206 automatic char(8) array level 2 in structure "line" packed unaligned dcl 65 in procedure "print_mpc_summary" set ref 288* 292* 306* 317* 328* 345* 364* 368* 374* 382* 383* 385* 399* 424* field 7 000255 automatic char(8) array level 2 in structure "liner" packed unaligned dcl 69 in procedure "print_mpc_summary" set ref 393* 433* 443* firmware_rev 3 based char(2) level 2 dcl 1-113 set ref 146* 156* 163* hbound builtin function dcl 112 ref 133 137 147 158 164 336 404 header_line 000131 automatic char(136) unaligned dcl 52 set ref 129* 146* 156* 163* 171 171 hint 000120 automatic bit(1) unaligned dcl 44 set ref 241* 243* 244* hw_rev 35 based bit(8) level 2 packed unaligned dcl 1-113 set ref 156* i 000102 automatic fixed bin(17,0) dcl 35 set ref 133* 134* 179* 180* 188* 189 189 189* 208* 209* 217* 218 218 218* 240* 241 244 244 244 244* 275* 276 288 292 292 305 315 316 328 328 343 366 367 373 383 415* indx 000201 automatic fixed bin(17,0) dcl 59 set ref 343* 344 415* 417 423 429 438 460 473 478 478 483 487 intar 461(16) based bit(16) level 2 packed unaligned dcl 2-69 set ref 248* interp_stat_ctrs 464 based varying char(20) array level 3 dcl 2-69 ref 189 189 218 218 interpretation 1 based structure array level 2 unaligned dcl 2-69 ioa_$ioa_switch 000010 constant entry external dcl 105 ref 171 186 189 193 199 204 215 218 223 227 238 244 248 250 253 258 265 266 270 296 308 322 331 347 350 378 388 449 450 455 ioa_$ioa_switch_nnl 000012 constant entry external dcl 106 ref 200 202 ioa_$rs 000016 constant entry external dcl 108 ref 146 156 163 ioa_$rsnnl 000014 constant entry external dcl 107 ref 433 443 iom 27 based bit(8) level 4 dcl 1-113 set ref 266* j 000103 automatic fixed bin(17,0) dcl 35 set ref 286* 288 288* 291* 292 292 292* 304* 305 306* 314* 315 316 317* 327* 328 328 328* 342* 343 345* 363* 364 366 367 368 373 374* 381* 382 383 383 385* 393 399 413* 415 424 433 443* k 000104 automatic fixed bin(17,0) dcl 35 set ref 336* 340 344* 404* 410 417 418 421 423 425 429 430 436 438 439* length builtin function dcl 112 ref 292 328 line 000206 automatic structure level 1 packed unaligned dcl 65 set ref 281* 296 296 298* 308 308 312* 322 322 325* 331 331 333* 338* 347 347 378 378 388 388 405* 449 449 liner 000255 automatic structure level 1 packed unaligned dcl 69 set ref 339* 406* 450 450 link_edit 31 based bit(8) level 4 dcl 1-113 set ref 266* message 1 based varying char(43) array level 3 dcl 2-69 ref 244 244 min builtin function dcl 112 ref 276 model 2 based fixed bin(17,0) level 2 dcl 1-113 ref 134 155 356 365 mpc_data_summary based structure level 1 dcl 1-113 mpc_data_summaryp 000340 automatic pointer dcl 1-108 set ref 118* 126 128 134 144 146 153 155 156 156 163 180 184* 200 200 202 202 204 204 209 212 213* 222 223 233 234* 258 266 266 266 266 266 266 266 270 288 292 292 305 315 316 328 328 344 356 365 366 367 373 383 417 423 429 438 460 473 478 478 483 487 mpc_only 000122 automatic bit(1) initial unaligned dcl 46 set ref 46* 258 261 497* mpc_stat_anal based structure level 1 unaligned dcl 2-69 set ref 173 mpc_stat_analp 000342 automatic pointer dcl 2-67 set ref 173* 184* 188 189 189 189 213* 217 218 218 218 234* 236 240 241 244 244 244 244 248 250 253 mpc_stat_ctrs 463 based structure level 2 unaligned dcl 2-69 n_devices 103 based fixed bin(17,0) level 2 dcl 1-113 ref 126 name 1 based char(4) level 2 dcl 1-113 set ref 128 144 153 258* nblabel 000115 automatic fixed bin(17,0) dcl 42 set ref 137* 147* 158* 164* 336 404 ndev 000112 automatic fixed bin(17,0) dcl 39 set ref 126* 275 276 nonzero_cntrs 000130 automatic bit(1) unaligned dcl 51 set ref 178* 179 180* 183 207* 208 209* 212 nprint 000114 automatic fixed bin(17,0) dcl 41 set ref 276* 286 291 304 314 327 342 363 381 413 num_ctr_interps 463 based fixed bin(17,0) level 3 dcl 2-69 ref 188 217 num_interps based fixed bin(17,0) level 2 dcl 2-69 ref 236 240 num_to_print 000113 automatic fixed bin(17,0) dcl 40 set ref 123* 125* 275 276 opi 104(15) based bit(1) array level 3 packed unaligned dcl 1-113 ref 383 pdsi_application 32 based bit(8) level 4 dcl 1-113 set ref 266* pic8 000106 automatic picture(8) unaligned dcl 36 set ref 305* 306 316* 317 344* 345 373* 374 423* 424 pic9 000111 automatic picture(1) unaligned dcl 38 set ref 366* 368 pic99 000110 automatic picture(2) unaligned dcl 37 set ref 367* 368 poll_mtp_data based structure level 1 dcl 1-27 polled_stat_counters 5 based fixed bin(17,0) array level 2 dcl 1-113 ref 180 port 104(18) based fixed bin(4,0) array level 3 packed unsigned unaligned dcl 1-113 ref 367 373 prev_drive_sw 000204 automatic bit(1) initial unaligned dcl 61 set ref 61* 318* 322 prev_driveno 106(09) based fixed bin(6,0) array level 3 packed unsigned unaligned dcl 1-113 ref 315 316 print_mpc_line 000124 automatic bit(1) unaligned dcl 48 set ref 174* 192* 226* 236* 258 prom_revision 26 based structure level 3 dcl 1-113 psi0_2trip 35(10) based bit(1) level 3 packed unaligned dcl 1-113 set ref 202* psi1_2trip 35(11) based bit(1) level 3 packed unaligned dcl 1-113 set ref 202* psi2_2trip 35(12) based bit(1) level 3 packed unaligned dcl 1-113 set ref 204* psi3_2trip 35(13) based bit(1) level 3 packed unaligned dcl 1-113 set ref 204* psi_cntr 57 based fixed bin(35,0) array level 2 dcl 1-113 ref 209 ratio_need 000202 automatic bit(1) unaligned dcl 60 set ref 412* 428* 437* 450 452* ratio_wanted 000205 automatic bit(1) initial unaligned dcl 62 set ref 62* 450 register 22 based bit(16) level 2 dcl 1-113 ref 233 retl 000173 automatic fixed bin(21,0) dcl 53 set ref 130* 146* 156* 163* 171 171 rtrim builtin function dcl 112 ref 189 189 218 218 244 244 244 244 292 328 self_test 33 based bit(8) level 4 dcl 1-113 set ref 266* short_sw parameter bit(1) unaligned dcl 27 set ref 20 116 123 171* 494 size 000324 stack reference condition dcl 113 ref 397 special_controller 30 based bit(8) level 4 dcl 1-113 set ref 266* stat_cntr_cnt 654 based fixed bin(17,0) array level 3 dcl 2-69 set ref 189* 218* stat_info based structure level 1 packed unaligned dcl 1-99 stat_need 000203 automatic bit(1) unaligned dcl 60 set ref 412* 422* 447 452* string builtin function dcl 112 set ref 281* 296 296 298* 308 308 312* 322 322 325* 331 331 333* 338* 339* 347 347 378 378 388 388 405* 406* 449 449 450 450 substr builtin function dcl 112 set ref 128 144 153 171 171 288* 292* 328* 368* subsystem 104 based char(1) array level 3 packed unaligned dcl 1-113 ref 288 sw 000100 automatic pointer dcl 33 set ref 120* 171* 186* 189* 193* 199* 200* 202* 204* 215* 218* 223* 227* 238* 244* 248* 250* 253* 258* 265* 266* 270* 296* 308* 322* 331* 347* 350* 378* 388* 449* 450* 455* tape_sw 000121 automatic bit(1) unaligned dcl 45 set ref 149* 167* 355 365 407 421 425 temp 000177 automatic fixed bin(17,0) dcl 57 set ref 433* 443* temp_con 000176 automatic float bin(21) dcl 56 set ref 431 440 460* 473* 478* 483* 487* temp_float 000200 automatic float bin(21) dcl 58 set ref 431* 433* 440* 443* temp_value 000175 automatic float bin(21) dcl 55 set ref 429* 431 438* 440 title 000206 automatic char(28) level 2 in structure "line" packed unaligned dcl 65 in procedure "print_mpc_summary" set ref 282* 284* 299* 302* 313* 326* 340* 356* 358* 361* 380* 410* title 000255 automatic char(28) initial level 2 in structure "liner" packed unaligned dcl 69 in procedure "print_mpc_summary" set ref 69* 407* 409* tlabel 000366 constant char(28) initial array unaligned dcl 81 set ref 147 148 uptime_clock 25 based fixed bin(32,0) level 3 unsigned dcl 1-113 set ref 270* urp_sw 000125 automatic bit(1) initial unaligned dcl 49 set ref 49* 131* 177 258 261 value 110 based fixed bin(35,0) array level 3 dcl 1-113 ref 344 417 423 429 438 460 473 478 478 483 487 zerodivide 000332 stack reference condition dcl 113 ref 391 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. dev_info_ptr automatic pointer dcl 1-86 dev_stat_infop automatic pointer dcl 2-56 dev_stat_ptr automatic pointer dcl 1-160 dev_sum based structure level 1 unaligned dcl 1-177 dev_sum_ptr automatic pointer dcl 1-175 mpc_data based structure level 1 dcl 2-14 mpc_data_specp automatic pointer dcl 1-109 mpc_data_summary_version_2 internal static fixed bin(17,0) initial dcl 1-110 mpc_datap automatic pointer dcl 2-12 mpc_stat_info based structure level 1 dcl 2-34 mpc_stat_infop automatic pointer dcl 2-32 mpc_summary_n_devices automatic fixed bin(17,0) dcl 1-111 poll_dau_data based structure level 1 dcl 1-65 poll_eurc_data based structure level 1 dcl 1-50 poll_mpc_data based structure level 1 dcl 1-19 poll_mpc_data_n_devices automatic fixed bin(17,0) dcl 1-16 poll_mpc_data_n_stats automatic fixed bin(17,0) dcl 1-17 poll_mpc_data_version_2 internal static fixed bin(17,0) initial dcl 1-15 poll_mpc_datap automatic pointer dcl 1-13 poll_mpc_specp automatic pointer dcl 1-14 poll_msp_data based structure level 1 dcl 1-43 poll_urp_data based structure level 1 dcl 1-45 stat_info_ptr automatic pointer dcl 1-97 NAMES DECLARED BY EXPLICIT CONTEXT. display_eurc 003027 constant label dcl 263 ref 139 display_eurc_stats 003671 constant label dcl 336 display_mpc_ 004770 constant entry external dcl 494 end_eurc_dev 004703 constant label dcl 455 ref 351 end_msp_dev 004503 constant label dcl 431 ref 471 476 end_mtp_dev 004557 constant label dcl 440 ref 481 485 491 msp_dev 000000 constant label array(5:16) dcl 460 ref 430 mtp_dev 000014 constant label array(3:8) dcl 478 ref 439 pr_stat 004615 constant label dcl 447 ref 394 print_mpc_summary 001335 constant entry external dcl 20 recover_size 004462 constant label dcl 425 ref 400 skip_print 004677 constant label dcl 452 ref 418 421 start 001354 constant label dcl 118 ref 498 summary 001346 constant entry external dcl 116 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 5154 5202 5005 5164 Length 5470 5005 26 252 147 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME print_mpc_summary 375 external procedure is an external procedure. on unit on line 391 65 on unit on unit on line 397 65 on unit STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME print_mpc_summary 000100 sw print_mpc_summary 000102 i print_mpc_summary 000103 j print_mpc_summary 000104 k print_mpc_summary 000106 pic8 print_mpc_summary 000110 pic99 print_mpc_summary 000111 pic9 print_mpc_summary 000112 ndev print_mpc_summary 000113 num_to_print print_mpc_summary 000114 nprint print_mpc_summary 000115 nblabel print_mpc_summary 000116 blabelp print_mpc_summary 000120 hint print_mpc_summary 000121 tape_sw print_mpc_summary 000122 mpc_only print_mpc_summary 000123 bf_sw print_mpc_summary 000124 print_mpc_line print_mpc_summary 000125 urp_sw print_mpc_summary 000126 eurc_sw print_mpc_summary 000127 dau_sw print_mpc_summary 000130 nonzero_cntrs print_mpc_summary 000131 header_line print_mpc_summary 000173 retl print_mpc_summary 000174 SUBSYSTEM print_mpc_summary 000175 temp_value print_mpc_summary 000176 temp_con print_mpc_summary 000177 temp print_mpc_summary 000200 temp_float print_mpc_summary 000201 indx print_mpc_summary 000202 ratio_need print_mpc_summary 000203 stat_need print_mpc_summary 000204 prev_drive_sw print_mpc_summary 000205 ratio_wanted print_mpc_summary 000206 line print_mpc_summary 000255 liner print_mpc_summary 000340 mpc_data_summaryp print_mpc_summary 000342 mpc_stat_analp print_mpc_summary THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. fx1_to_fl2 alloc_cs call_ext_out_desc call_ext_out return tra_ext enable shorten_stack ext_entry int_entry alloc_based_storage THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. decode_mpc_stats_$dau_stat_ctrs_for_summary_ decode_mpc_stats_$err_data_for_summary_ decode_mpc_stats_$stat_ctrs_for_summary_ ioa_$ioa_switch ioa_$ioa_switch_nnl ioa_$rs ioa_$rsnnl NO EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 46 001314 47 001315 49 001316 50 001320 61 001321 62 001322 69 001323 20 001330 116 001343 118 001354 120 001360 121 001363 123 001370 125 001400 126 001402 128 001405 129 001412 130 001415 131 001416 132 001420 133 001421 134 001431 135 001440 136 001442 137 001445 138 001447 139 001451 141 001452 144 001453 146 001455 147 001506 148 001510 149 001512 150 001514 151 001516 153 001517 155 001521 156 001524 158 001560 159 001562 160 001564 161 001566 163 001567 164 001620 165 001622 167 001624 168 001625 171 001627 173 001667 174 001674 177 001675 178 001701 179 001702 180 001711 181 001716 183 001720 184 001722 186 001733 188 001753 189 001763 191 002045 192 002050 193 002052 196 002071 198 002072 199 002074 200 002114 202 002150 204 002204 207 002240 208 002241 209 002251 210 002256 212 002260 213 002265 215 002276 217 002316 218 002327 220 002411 222 002414 223 002417 226 002443 227 002445 233 002464 234 002467 236 002500 238 002504 240 002524 241 002533 243 002547 244 002551 246 002661 248 002664 250 002713 253 002743 258 002770 261 003023 263 003027 265 003031 266 003051 270 003120 275 003145 276 003166 281 003175 282 003200 284 003206 286 003211 288 003221 289 003235 291 003240 292 003247 294 003316 296 003320 298 003346 299 003351 302 003357 304 003362 305 003371 306 003410 307 003416 308 003420 311 003446 312 003450 313 003453 314 003456 315 003465 316 003477 317 003506 318 003514 320 003516 322 003520 325 003550 326 003553 327 003556 328 003565 330 003634 331 003636 333 003664 335 003667 336 003671 338 003701 339 003704 340 003707 342 003715 343 003725 344 003730 345 003743 346 003751 347 003753 348 004001 350 004003 351 004022 355 004023 356 004025 358 004035 359 004040 361 004041 363 004044 364 004053 365 004060 366 004067 367 004111 368 004125 370 004134 373 004135 374 004154 376 004157 378 004161 380 004207 381 004212 382 004221 383 004226 385 004243 386 004246 388 004250 391 004276 393 004312 394 004321 397 004324 399 004340 400 004347 404 004352 405 004361 406 004364 407 004367 409 004375 410 004400 412 004406 413 004410 415 004417 417 004422 418 004430 421 004435 422 004441 423 004443 424 004454 425 004462 428 004467 429 004471 430 004501 431 004503 433 004506 435 004537 436 004540 437 004543 438 004545 439 004555 440 004557 443 004562 446 004613 447 004615 449 004617 450 004645 452 004677 454 004701 455 004703 457 004722 458 004725 460 004726 471 004734 473 004735 476 004743 478 004744 481 004753 483 004754 485 004760 487 004761 491 004765 494 004766 497 004776 498 005000 ----------------------------------------------------------- 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