COMPILATION LISTING OF SEGMENT char_mpc_ Compiled by: Multics PL/I Compiler, Release 28e, of February 14, 1985 Compiled at: Honeywell Multics Op. - System M Compiled on: 04/05/85 1058.8 mst Fri 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 /* 12* * CHAR_MPC_ - Procedure for locating important data in the mpc dump 13* * 14* * Written origionally by Jim Bush 15* * Modified March 1977 by Larry Johnson 16* * Modified October 1980 by Rich Coppola to add mpc error counters/register 17* * addresses to mpc_data. 18* * Modified Aug 1981 by Rich Coppola to add recognition of MTP611 19* * Modified Aug 1981 by Rich Coppola to add recognition of EURC 20* * Modified Jan 1983 by Rich Coppola to correct offset for MTC501 psi error 21* * ctr. 22* * Modified Jan 1984 by Art Beattie to add boot device numbers and expand 23* * firmware revision handling in disk_char structure. 24* * Modified June 1984 by Paul Farley for DAU support and to use a pointer 25* * parameter to reference the MPC memory image. 26* * Modified March 1985 by Paul Farley to correct a problem with the calculation 27* * of the tape fw revision (fw was in error and this will allow for it). 28**/ 29 30 /* format: style4,delnl,insnl,ifthenstmt,indnoniterend */ 31 32 char_mpc_: 33 proc (image_ptr, mpc_datap); 34 35 dcl image_ptr ptr parameter; 36 dcl image (0:4095) bit (16) unal based (image_ptr); /* MPC memory image */ 37 38 dcl (bin, fixed, addr, substr, hbound, mod) builtin; 39 dcl i fixed bin; 40 dcl eurc_sw bit (1) init ("0"b); 41 dcl revision char (2); 42 dcl hex char (16) int static options (constant) init ("0123456789ABCDEF"); 43 44 dcl ( 45 mtc500_char init (0000000011100000b), /* Mtc500 characteristics table at 00E0 (hex) */ 46 mtc601_char init (0000001000010000b), /* Mtc601 characteristics table at 0210 (hex) */ 47 mtc610_char init (0000000101010000b), /* MTP610/611 characteristics table at 0150 (hex) */ 48 dsc191_char init (0000010011110000b) 49 ) /* Dsc191,190 & 181 characteristics table at 04F0 (hex) */ 50 fixed bin (16) int static options (constant); 51 52 dcl char_ptr ptr; 53 54 dcl 1 tape_char based (char_ptr) unaligned, 55 2 mem_sze bit (16), /* Read/write memory size */ 56 2 config_sw bit (16), /* Configuration switch settings */ 57 2 trace_tab_p bit (16), /* Trace table begin ptr */ 58 2 trace_tab_size bit (16), /* Trace table size */ 59 2 trace_tab_cur bit (16), /* Trace table current entry ptr */ 60 2 mpc_stat bit (16), /* Mpc statistics table pointer */ 61 2 dev_stat bit (16), /* Device statistics table pointer */ 62 2 rev_l_tab bit (16), /* Revision level table? */ 63 2 fw_id bit (16), /* Firmware identifacation */ 64 2 fw_rev, /* Firmware revision */ 65 3 pad1 bit (4), 66 3 lrev (2) bit (4), /* Letter revision */ 67 3 srev bit (4), /* Sub revision */ 68 2 as_date, /* Assembly date */ 69 3 month bit (8), 70 3 day bit (8), 71 2 pad2 (5) bit (16); 72 73 dcl 1 disk_char based (char_ptr) unaligned, 74 2 mem_sze bit (16), /* Read/write memory size */ 75 2 config_sw bit (16), /* Configuration switch settings */ 76 2 trace_tab_p bit (16), /* Trace table begin ptr */ 77 2 trace_tab_size bit (16), /* Trace table size */ 78 2 trace_tab_cur bit (16), /* Trace table current entry ptr */ 79 2 mpc_stat bit (16), /* Mpc statistics table pointer */ 80 2 dev_stat bit (16), /* Device statistics table pointer */ 81 2 rev_l_tab bit (16), /* Revision level table? */ 82 2 fw_rev_old, /* Firmware revision */ 83 3 com_fw_id bit (8), /* Common firmware identifier */ 84 3 srev bit (4), /* Sub revision */ 85 3 lrev bit (4), /* Letter revision */ 86 2 as_date, /* Assembly date */ 87 3 month bit (8), 88 3 day bit (8), 89 2 fw_rev, /* Firmware revision */ 90 3 pad1 bit (4), 91 3 lrev (2) bit (4), /* Letter revision */ 92 3 srev bit (4), /* Sub revision */ 93 2 pad2 (3) bit (16), 94 2 boot_device, /* Boot device numbers for */ 95 3 la0_psi0 bit (8), /* each MPC channel. */ 96 3 la0_psi1 bit (8), 97 3 la1_psi0 bit (8), 98 3 la1_psi1 bit (8); 99 100 dcl 1 dau_char based (image_ptr) unaligned, /* Config data */ 101 2 type bit (8), /* = 12 HEX */ 102 2 hw_rev bit (8) unal, /* DAU rev */ 103 2 fw_maj_rev bit (8) unal, /* firmware rev letter */ 104 2 fw_sub_rev bit (8) unal; /* firmware rev number */ 105 106 107 mpc_data.fw_rev = ""; 108 mpc_data.trace_start = 0; 109 mpc_data.trace_size = 0; 110 mpc_data.trace_cur = 0; 111 mpc_data.dev_stat_addr = 0; 112 mpc_data.config_sw = "0"b; 113 mpc_data.mpc_stat_addr = 0; 114 mpc_data.mpc_err_int_ctr_addr = 0; 115 mpc_data.mpc_err_data_reg_addr = 0; 116 mpc_data.dau_rev = "0"b; 117 118 119 if mpc_data.type = "mtp" then do; 120 if mpc_data.model = 500 | mpc_data.model = 501 | mpc_data.model = 502 | mpc_data.model = 600 121 then char_ptr = addr (image (mtc500_char)); 122 else if mpc_data.model = 601 | mpc_data.model = 602 then char_ptr = addr (image (mtc601_char)); 123 else if mpc_data.model = 610 | mpc_data.model = 611 then char_ptr = addr (image (mtc610_char)); 124 else return; /* Don't know this one */ 125 /* Convert hex to dec */ 126 substr (revision, 1, 1) = tape_rev_letter (tape_char.lrev (1), tape_char.lrev (2)); 127 /* This is the tape major revision */ 128 substr (revision, 2, 1) = substr (hex, fixed (tape_char.srev, 4) + 1, 1); 129 /* And sub revision */ 130 mpc_data.fw_rev = revision; 131 mpc_data.trace_start = bin (tape_char.trace_tab_p); 132 mpc_data.trace_size = bin (tape_char.trace_tab_size); 133 mpc_data.trace_cur = bin (tape_char.trace_tab_cur); 134 mpc_data.dev_stat_addr = bin (tape_char.dev_stat); 135 mpc_data.config_sw = tape_char.config_sw; 136 mpc_data.mpc_stat_addr = bin (tape_char.mpc_stat); 137 138 if mpc_data.model = 500 | mpc_data.model = 501 | mpc_data.model = 502 | mpc_data.model = 600 then do; 139 mpc_data.mpc_err_int_ctr_addr = 253; /* 00FD */ 140 mpc_data.mpc_err_data_reg_addr = 254; /* 00FE */ 141 end; 142 143 else if mpc_data.model = 601 then do; 144 mpc_data.mpc_err_int_ctr_addr = 381; /* 017D */ 145 mpc_data.mpc_err_data_reg_addr = 382; /* 017E */ 146 end; 147 148 else if mpc_data.model = 610 | mpc_data.model = 611 then do; 149 mpc_data.mpc_err_int_ctr_addr = 439; /* 01B7 */ 150 mpc_data.mpc_err_data_reg_addr = 440; /* 01B8 */ 151 end; 152 end; 153 else if mpc_data.type = "msp" then do; /* All MSPs */ 154 if mpc_data.model = 800 then do; /* DAU? */ 155 unspec (mpc_data.fw_rev) = "0"b || dau_char.fw_maj_rev || "0"b || dau_char.fw_sub_rev; 156 mpc_data.dau_rev = dau_char.hw_rev; 157 return; 158 end; 159 char_ptr = addr (image (dsc191_char)); 160 161 if disk_char.fw_rev_old.srev = "f"b4 & disk_char.fw_rev_old.lrev = "f"b4 then do; 162 /* New format for disk firmware revision */ 163 substr (revision, 1, 1) = revision_letter (disk_char.fw_rev.lrev (1), disk_char.fw_rev.lrev (2)); 164 substr (revision, 2, 1) = substr (hex, fixed (disk_char.fw_rev.srev, 4) + 1, 1); 165 end; 166 else do; /* Old format for disk firmware revision */ 167 substr (revision, 1, 1) = revision_letter ("0"b4, disk_char.fw_rev_old.lrev); 168 substr (revision, 2, 1) = substr (hex, fixed (disk_char.fw_rev_old.srev, 4) + 1, 1); 169 end; 170 171 mpc_data.fw_rev = revision; 172 mpc_data.trace_start = bin (disk_char.trace_tab_p); 173 mpc_data.trace_size = bin (disk_char.trace_tab_size); 174 mpc_data.trace_cur = bin (disk_char.trace_tab_cur); 175 mpc_data.dev_stat_addr = bin (disk_char.dev_stat); 176 mpc_data.config_sw = disk_char.config_sw; 177 mpc_data.mpc_stat_addr = bin (disk_char.mpc_stat); 178 mpc_data.mpc_err_int_ctr_addr = 252; /* 00FC */ 179 mpc_data.mpc_err_data_reg_addr = 253; /* 00FD */ 180 end; 181 182 183 else if mpc_data.type = "urp" then do; 184 eurc_sw = "0"b; 185 do i = 1 to hbound (eurc_model_numbers, 1) while (eurc_sw = "0"b); 186 if mpc_data.model = eurc_model_numbers (i) then eurc_sw = "1"b; 187 end; 188 if eurc_sw = "1"b then do; 189 mpc_data.fw_rev = ""; /* he doesn't have any */ 190 mpc_data.trace_start = 0; 191 mpc_data.trace_size = 0; 192 mpc_data.trace_cur = 0; 193 mpc_data.dev_stat_addr = 0; 194 mpc_data.config_sw = "0"b; 195 mpc_data.mpc_stat_addr = 0; 196 mpc_data.mpc_err_int_ctr_addr = 0; 197 mpc_data.mpc_err_data_reg_addr = 0; 198 end; 199 200 else if mpc_data.model = 2 | mpc_data.model = 600 then do; 201 mpc_data.fw_rev = ""; 202 mpc_data.trace_start = bin ("0f00"b4); 203 mpc_data.trace_size = bin ("0100"b4); 204 mpc_data.trace_cur = bin (image (bin ("00af"b4))); 205 /* Contents of af */ 206 mpc_data.dev_stat_addr = 0; 207 mpc_data.config_sw = "0"b; 208 mpc_data.mpc_stat_addr = 0; /* he doesn't have any */ 209 mpc_data.mpc_err_int_ctr_addr = 167; /* 00A7 */ 210 mpc_data.mpc_err_data_reg_addr = 168; /* 0A8 */ 211 end; 212 end; 213 return; 214 215 revision_letter: 216 proc (msb, lsb) returns (char (1)); 217 218 dcl (msb, lsb) bit (4) unaligned; 219 dcl rev_letters char (26) int static options (constant) init ("ZABCDEFGHIJKLMNOPQRSTUVWXY"); 220 221 return (substr (rev_letters, mod (fixed (msb, 4) * 16 + fixed (lsb, 4), 26) + 1, 1)); 222 end revision_letter; 223 224 /* The above is the proper method of getting the revision. The following is 225* a kludge to get the proper tape revision. */ 226 227 tape_rev_letter: 228 proc (msb, lsb) returns (char (1)); 229 230 dcl (msb, lsb) bit (4) unaligned; 231 dcl mtc500_rev_letters char (38) int static options (constant) init 232 ("ZABCDEFGHJ??????KLM?N?P?RS??????TUVWXY"); 233 dcl rev_letters char (24) int static options (constant) init 234 ("ZABCDEFGH?JKLMNPRSTUVWXY"); 235 236 if mpc_data.model = 500 | mpc_data.model = 501 | mpc_data.model = 502 | mpc_data.model = 600 237 then return (substr (mtc500_rev_letters, mod (fixed (msb, 4) * 16 + fixed (lsb, 4), 24) + 1, 1)); 238 else return (substr (rev_letters, mod (fixed (msb, 4) * 16 + fixed (lsb, 4), 24) + 1, 1)); 239 end tape_rev_letter; 240 1 1 /* Begin include file ..... dump_mpc_data.incl.pl1 */ 1 2 1 3 /* Structure of data used by the dump_mpc command */ 1 4 1 5 /* Written March 1977 by Larry Johnson */ 1 6 /* Modified Jan 1981 by Rich Coppola to add additional info about mpc's */ 1 7 /* Modified May 1982 by Rich Coppola to add structure for EURC statistics */ 1 8 /* 1 9* Modified June 1984 by Paul Farley to add MSP800(DAU) support. 1 10**/ 1 11 1 12 dcl mpc_datap ptr; 1 13 1 14 dcl 1 mpc_data aligned based (mpc_datap), 1 15 2 type char (4), /* Type of mpc: tape, disk, or urc */ 1 16 2 name char (32), /* Name of device, suitable for headings */ 1 17 2 model fixed bin, /* Model of device, from rcp_ */ 1 18 2 fw_rev char (2), /* Revision level of current firmware */ 1 19 2 trace_start fixed bin, /* Address of first trace table entry */ 1 20 2 trace_size fixed bin, /* Total number of mpc words in trace table */ 1 21 2 trace_cur fixed bin, /* Address of next available trace entry */ 1 22 2 mpc_stat_addr fixed bin, /* Address of mpc error counters */ 1 23 2 mpc_err_int_ctr_addr fixed bin, /* Address of the err int ctr */ 1 24 2 mpc_err_data_reg_addr fixed bin, /* Address of error data register */ 1 25 2 dev_stat_addr fixed bin, /* Address of device statistics table */ 1 26 2 config_sw bit (16), /* Settings of switches on maintaince panel */ 1 27 2 dau_rev bit (8); /* Revision of DAU hardware */ 1 28 1 29 1 30 /* structure of data collected on mpc statistics */ 1 31 1 32 dcl mpc_stat_infop ptr; 1 33 1 34 dcl 1 mpc_stat_info aligned based (mpc_stat_infop), 1 35 2 mpc_name char (4), 1 36 2 stat_counters (12) fixed bin, 1 37 2 error_data, 1 38 3 pad bit (8), 1 39 3 int_counter fixed bin (8) uns, 1 40 3 register bit (16), 1 41 3 auxar bit (16), 1 42 3 intar bit (16), 1 43 2 eurc_data, 1 44 3 uptime_clock fixed bin (32) uns, 1 45 3 prom_revision, 1 46 4 core bit (8), 1 47 4 iom bit (8), 1 48 4 special_controller bit (8), 1 49 4 link_edit bit (8), 1 50 4 pdsi_application bit (8), 1 51 4 self_test bit (8), 1 52 4 dai_application bit (8), 1 53 2 ndev fixed bin, 1 54 2 dev_info (64) like dev_stat_info; 1 55 1 56 dcl dev_stat_infop ptr; 1 57 1 58 dcl 1 dev_stat_info aligned based (dev_stat_infop), 1 59 2 subsystem char (4), 1 60 2 model char (6), 1 61 2 driveno fixed bin, 1 62 2 opi bit (1), 1 63 2 port fixed bin, 1 64 2 ca fixed bin, 1 65 2 stat (16) fixed bin (16) uns; 1 66 1 67 dcl mpc_stat_analp ptr; 1 68 1 69 dcl 1 mpc_stat_anal based (mpc_stat_analp), 1 70 2 num_interps fixed bin, 1 71 2 interpretation (16), 1 72 3 message char (43) var, 1 73 3 HINT char (21) var, 1 74 2 auxar bit (16), 1 75 2 intar bit (16), 1 76 2 err_ctr fixed bin, 1 77 2 mpc_stat_ctrs, 1 78 3 num_ctr_interps fixed bin, 1 79 3 interp_stat_ctrs (20) char (20) var, 1 80 3 stat_cntr_cnt (20) fixed bin; 1 81 1 82 /* End include file ..... dump_mpc_data.incl.pl1 */ 241 242 2 1 /* BEGIN INCLUDE FILE ... eurc_model_numbers.incl.pl1 ... 11/13/81 E. N. Kittlitz */ 2 2 2 3 dcl eurc_model_numbers (4) fixed bin internal static init (8001, 8002, 8003, 8004); 2 4 2 5 /* END INCLUDE FILE ... eurc_model_numbers.incl.pl1 ... */ 243 244 245 end char_mpc_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 04/05/85 1056.9 char_mpc_.pl1 >special_ldd>online>char_mdc_.pbf-04/05/85>char_mpc_.pl1 241 1 10/08/84 1326.0 dump_mpc_data.incl.pl1 >ldd>include>dump_mpc_data.incl.pl1 243 2 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. addr builtin function dcl 38 ref 120 122 123 159 bin builtin function dcl 38 ref 131 132 133 134 136 172 173 174 175 177 202 203 204 204 char_ptr 000104 automatic pointer dcl 52 set ref 120* 122* 123* 126 126 128 131 132 133 134 135 136 159* 161 161 163 163 164 167 168 172 173 174 175 176 177 config_sw 22 based bit(16) level 2 in structure "mpc_data" dcl 1-14 in procedure "char_mpc_" set ref 112* 135* 176* 194* 207* config_sw 0(16) based bit(16) level 2 in structure "disk_char" packed unaligned dcl 73 in procedure "char_mpc_" ref 176 config_sw 0(16) based bit(16) level 2 in structure "tape_char" packed unaligned dcl 54 in procedure "char_mpc_" ref 135 dau_char based structure level 1 packed unaligned dcl 100 dau_rev 23 based bit(8) level 2 dcl 1-14 set ref 116* 156* dev_stat 2(24) based bit(16) level 2 in structure "tape_char" packed unaligned dcl 54 in procedure "char_mpc_" ref 134 dev_stat 2(24) based bit(16) level 2 in structure "disk_char" packed unaligned dcl 73 in procedure "char_mpc_" ref 175 dev_stat_addr 21 based fixed bin(17,0) level 2 dcl 1-14 set ref 111* 134* 175* 193* 206* dev_stat_info based structure level 1 dcl 1-58 disk_char based structure level 1 packed unaligned dcl 73 dsc191_char constant fixed bin(16,0) initial dcl 44 ref 159 eurc_model_numbers 000027 constant fixed bin(17,0) initial array dcl 2-3 ref 185 186 eurc_sw 000101 automatic bit(1) initial unaligned dcl 40 set ref 40* 184* 185 186* 188 fixed builtin function dcl 38 ref 128 164 168 221 221 236 236 238 238 fw_maj_rev 0(16) based bit(8) level 2 packed unaligned dcl 100 ref 155 fw_rev 4(16) based structure level 2 in structure "disk_char" packed unaligned dcl 73 in procedure "char_mpc_" fw_rev 12 based char(2) level 2 in structure "mpc_data" dcl 1-14 in procedure "char_mpc_" set ref 107* 130* 155* 171* 189* 201* fw_rev 4 based structure level 2 in structure "tape_char" packed unaligned dcl 54 in procedure "char_mpc_" fw_rev_old 3(20) based structure level 2 packed unaligned dcl 73 fw_sub_rev 0(24) based bit(8) level 2 packed unaligned dcl 100 ref 155 hbound builtin function dcl 38 ref 185 hex 000033 constant char(16) initial unaligned dcl 42 ref 128 164 168 hw_rev 0(08) based bit(8) level 2 packed unaligned dcl 100 ref 156 i 000100 automatic fixed bin(17,0) dcl 39 set ref 185* 186* image based bit(16) array unaligned dcl 36 set ref 120 122 123 159 204 image_ptr parameter pointer dcl 35 ref 32 120 122 123 155 155 156 159 204 lrev 3(32) based bit(4) level 3 in structure "disk_char" packed unaligned dcl 73 in procedure "char_mpc_" set ref 161 167* lrev 4(04) based bit(4) array level 3 in structure "tape_char" packed unaligned dcl 54 in procedure "char_mpc_" set ref 126* 126* lrev 4(20) based bit(4) array level 3 in structure "disk_char" packed unaligned dcl 73 in procedure "char_mpc_" set ref 163* 163* lsb parameter bit(4) unaligned dcl 230 in procedure "tape_rev_letter" ref 227 236 238 lsb parameter bit(4) unaligned dcl 218 in procedure "revision_letter" ref 215 221 mod builtin function dcl 38 ref 221 236 238 model 11 based fixed bin(17,0) level 2 dcl 1-14 ref 120 120 120 120 122 122 123 123 138 138 138 138 143 148 148 154 186 200 200 236 236 236 236 mpc_data based structure level 1 dcl 1-14 mpc_datap parameter pointer dcl 1-12 ref 32 107 108 109 110 111 112 113 114 115 116 119 120 120 120 120 122 122 123 123 130 131 132 133 134 135 136 138 138 138 138 139 140 143 144 145 148 148 149 150 153 154 155 156 171 172 173 174 175 176 177 178 179 183 186 189 190 191 192 193 194 195 196 197 200 200 201 202 203 204 206 207 208 209 210 236 236 236 236 mpc_err_data_reg_addr 20 based fixed bin(17,0) level 2 dcl 1-14 set ref 115* 140* 145* 150* 179* 197* 210* mpc_err_int_ctr_addr 17 based fixed bin(17,0) level 2 dcl 1-14 set ref 114* 139* 144* 149* 178* 196* 209* mpc_stat 2(08) based bit(16) level 2 in structure "disk_char" packed unaligned dcl 73 in procedure "char_mpc_" ref 177 mpc_stat 2(08) based bit(16) level 2 in structure "tape_char" packed unaligned dcl 54 in procedure "char_mpc_" ref 136 mpc_stat_addr 16 based fixed bin(17,0) level 2 dcl 1-14 set ref 113* 136* 177* 195* 208* msb parameter bit(4) unaligned dcl 230 in procedure "tape_rev_letter" ref 227 236 238 msb parameter bit(4) unaligned dcl 218 in procedure "revision_letter" ref 215 221 mtc500_char constant fixed bin(16,0) initial dcl 44 ref 120 mtc500_rev_letters 000006 constant char(38) initial unaligned dcl 231 ref 236 mtc601_char constant fixed bin(16,0) initial dcl 44 ref 122 mtc610_char constant fixed bin(16,0) initial dcl 44 ref 123 rev_letters 000000 constant char(24) initial unaligned dcl 233 in procedure "tape_rev_letter" ref 238 rev_letters 000020 constant char(26) initial unaligned dcl 219 in procedure "revision_letter" ref 221 revision 000102 automatic char(2) unaligned dcl 41 set ref 126* 128* 130 163* 164* 167* 168* 171 srev 3(28) based bit(4) level 3 in structure "disk_char" packed unaligned dcl 73 in procedure "char_mpc_" ref 161 168 srev 4(12) based bit(4) level 3 in structure "tape_char" packed unaligned dcl 54 in procedure "char_mpc_" ref 128 srev 4(28) based bit(4) level 3 in structure "disk_char" packed unaligned dcl 73 in procedure "char_mpc_" ref 164 substr builtin function dcl 38 set ref 126* 128* 128 163* 164* 164 167* 168* 168 221 236 238 tape_char based structure level 1 packed unaligned dcl 54 trace_cur 15 based fixed bin(17,0) level 2 dcl 1-14 set ref 110* 133* 174* 192* 204* trace_size 14 based fixed bin(17,0) level 2 dcl 1-14 set ref 109* 132* 173* 191* 203* trace_start 13 based fixed bin(17,0) level 2 dcl 1-14 set ref 108* 131* 172* 190* 202* trace_tab_cur 1(28) based bit(16) level 2 in structure "tape_char" packed unaligned dcl 54 in procedure "char_mpc_" ref 133 trace_tab_cur 1(28) based bit(16) level 2 in structure "disk_char" packed unaligned dcl 73 in procedure "char_mpc_" ref 174 trace_tab_p 0(32) based bit(16) level 2 in structure "disk_char" packed unaligned dcl 73 in procedure "char_mpc_" ref 172 trace_tab_p 0(32) based bit(16) level 2 in structure "tape_char" packed unaligned dcl 54 in procedure "char_mpc_" ref 131 trace_tab_size 1(12) based bit(16) level 2 in structure "tape_char" packed unaligned dcl 54 in procedure "char_mpc_" ref 132 trace_tab_size 1(12) based bit(16) level 2 in structure "disk_char" packed unaligned dcl 73 in procedure "char_mpc_" ref 173 type based char(4) level 2 dcl 1-14 ref 119 153 183 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. dev_stat_infop automatic pointer dcl 1-56 mpc_stat_anal based structure level 1 unaligned dcl 1-69 mpc_stat_analp automatic pointer dcl 1-67 mpc_stat_info based structure level 1 dcl 1-34 mpc_stat_infop automatic pointer dcl 1-32 NAMES DECLARED BY EXPLICIT CONTEXT. char_mpc_ 000060 constant entry external dcl 32 revision_letter 000640 constant entry internal dcl 215 ref 163 167 tape_rev_letter 000671 constant entry internal dcl 227 ref 126 NAME DECLARED BY CONTEXT OR IMPLICATION. unspec builtin function ref 155 STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1014 1024 770 1024 Length 1230 770 10 167 24 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME char_mpc_ 95 external procedure is an external procedure. revision_letter internal procedure shares stack frame of external procedure char_mpc_. tape_rev_letter internal procedure shares stack frame of external procedure char_mpc_. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME char_mpc_ 000100 i char_mpc_ 000101 eurc_sw char_mpc_ 000102 revision char_mpc_ 000104 char_ptr char_mpc_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. return mpfx2 mod_fx1 ext_entry NO EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. NO EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 32 000054 40 000065 107 000066 108 000073 109 000074 110 000075 111 000076 112 000077 113 000100 114 000101 115 000102 116 000103 119 000104 120 000111 122 000130 123 000142 124 000154 126 000155 128 000174 130 000205 131 000213 132 000221 133 000227 134 000235 135 000243 136 000247 138 000255 139 000266 140 000270 141 000272 143 000273 144 000275 145 000277 146 000301 148 000302 149 000306 150 000310 152 000312 153 000313 154 000320 155 000323 156 000345 157 000351 159 000352 161 000357 163 000367 164 000406 165 000417 167 000420 168 000437 171 000450 172 000456 173 000464 174 000472 175 000500 176 000506 177 000512 178 000520 179 000522 180 000524 183 000525 184 000532 185 000533 186 000543 187 000554 188 000556 189 000561 190 000566 191 000567 192 000570 193 000571 194 000572 195 000573 196 000574 197 000575 198 000576 200 000577 201 000607 202 000611 203 000613 204 000615 206 000630 207 000631 208 000632 209 000633 210 000635 213 000637 215 000640 221 000642 227 000671 236 000673 238 000736 ----------------------------------------------------------- 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