1 /* BEGIN INCLUDE FILE tolts_info.incl.pl1 */ 2 3 4 5 6 7 8 9 /****^ HISTORY COMMENTS: 10 1) change(80-03-24,Fakoury), approve(), audit(86-11-25,Martinson), 11 install(86-12-04,MR12.0-1235): 12 to add second sct for 500/501 MTAR 13 2) change(80-09-01,Fakoury), approve(), audit(86-11-25,Martinson), 14 install(86-12-04,MR12.0-1235): 15 to init rcp_area and alt_rcp_area to 0. 16 3) change(81-09-01,Fakoury), approve(), audit(86-11-25,Martinson), 17 install(86-12-04,MR12.0-1235): 18 to add new statements for colts. 19 4) change(81-09-01,Fakoury), approve(), audit(86-11-25,Martinson), 20 install(86-12-04,MR12.0-1235): 21 to increase the dcw_list size. 22 5) change(82-04-01,Fakoury), approve(), audit(86-11-25,Martinson), 23 install(86-12-04,MR12.0-1235): 24 to add crcst and redefine devsct. 25 6) change(82-09-01,Fakoury), approve(), audit(86-11-25,Martinson), 26 install(86-12-04,MR12.0-1235): 27 to increase the console buffer size for mtar. 28 7) change(82-11-01,Fakoury), approve(), audit(86-11-25,Martinson), 29 install(86-12-04,MR12.0-1235): 30 for 128chan support. 31 8) change(83-07-01,Fakoury), approve(), audit(86-11-25,Martinson), 32 install(86-12-04,MR12.0-1235): 33 to increase the dcw_list size for mtar perm file track repair. 34 9) change(84-04-10,Fakoury), approve(86-08-21,MCR7514), 35 audit(86-11-25,Martinson), install(86-12-04,MR12.0-1235): 36 to add sct_info needed to support the DAU & DIPPER. 37 10) change(85-02-21,Fakoury), approve(86-08-21,MCR7514), 38 audit(86-11-25,Martinson), install(86-12-04,MR12.0-1235): 39 2/85 to support test nio request. 40 11) change(85-04-01,Fakoury), approve(86-08-21,MCR7514), 41 audit(86-11-25,Martinson), install(86-12-04,MR12.0-1235): 42 for extended status store. 43 12) change(85-12-21,Fakoury), approve(86-08-21,MCR7514), 44 audit(86-11-25,Martinson), install(86-12-04,MR12.0-1235): 45 for Colts Responder changes. 46 13) change(86-02-01,Fakoury), approve(86-08-20,MCR7514), 47 audit(86-11-25,Martinson), install(86-12-04,MR12.0-1235): 48 implement the test nio request. 49 support of a Colts responder test request. 50 END HISTORY COMMENTS */ 51 52 53 54 55 56 57 /* format: style4,ifthenstmt,ifthen,ind3,ll125,lineconind1 */ 58 59 dcl polt_io_type fixed bin int static options (constant) init (0); 60 dcl itr_io_type fixed bin int static options (constant) init (1); 61 dcl mdr_io_type fixed bin int static options (constant) init (2); 62 dcl mtar_io_type fixed bin int static options (constant) init (3); 63 dcl firm_ld_io_type fixed bin int static options (constant) init (4); 64 dcl mtc_io_type fixed bin int static options (constant) init (5); 65 dcl mtg_io_type fixed bin int static options (constant) init (6); 66 dcl mdc_io_type fixed bin int static options (constant) init (7); 67 dcl mhp_io_type fixed bin int static options (constant) init (8); 68 dcl mca_io_type fixed bin int static options (constant) init (9); 69 dcl rspd_io_type fixed bin int static options (constant) init (10); 70 71 dcl tolts_infop ptr external static; /* ext static ptr to tolts_info structure */ 72 dcl colts_info_ptr ptr; /* ptr to individual test page data */ 73 dcl io_info_ptr ptr; /* ptr to individual test page data */ 74 dcl dmap ptr; /* pointer to dial_manager_arg */ 75 dcl 1 tolts_info based (tolts_infop) aligned, /* data structure used for tolts routines */ 76 2 cdtptr ptr, 77 2 df_iocbp ptr, /* deckfile iocb ptr */ 78 2 dm_event fixed bin (71), /* dial_manager event_channel */ 79 2 exec char (4), /* executive name (polt, molt, colt etc) */ 80 2 exec_dta_cnt fixed bin, /* inter slave request count */ 81 2 exec_page_count fixed bin, /* number of test pages active */ 82 2 exec_term_io_wait bit (1), /* waiting for io to complete for exec termination */ 83 2 execp ptr, /* ptr to slave polt or molt segment */ 84 2 file_attach bit (1), /* = "1"b if print file attached */ 85 2 file_open bit (1), /* = "1"b if print file open */ 86 2 finish_cond bit (1), /* = "1"b if finish condition has been signaled */ 87 2 first_request_done bit (1), /* first terminal io request complete */ 88 2 gc_date bit (36), /* gcos 6 char bcd date (set at init time, updated at rollover) */ 89 2 gewake_active bit (1), /* = "1"b if gewake alarm timer is active */ 90 2 gewake_event fixed bin (71), /* gewake alarm timer event channel id */ 91 2 glob_int_cnt fixed bin, /* total number of outstanding test IOs */ 92 2 hdir char (168), /* users home directory pathname */ 93 2 init_time fixed bin (71), /* gcos time of executive initialize (mme poinit) */ 94 2 max_to fixed bin (71), /* max ioi timeout ( from rcp_$check_attach) */ 95 2 max_wks_sz fixed bin (19), /* max ioi wkspace size (from rcp_$check_attach) */ 96 2 micro_time fixed bin (71), /* time at midnight in usecs. (set at init time, updated at rollover */ 97 2 optflag fixed bin, /* option request flag */ 98 2 padx (2) fixed bin, /* reserved area */ 99 2 pf_iocbp ptr, /* print file iocb ptr */ 100 2 pf_name char (32), /* seg name of print file */ 101 2 process bit (36), /* T & D users process id */ 102 2 quith_event fixed bin (71), /* quit handler event call channel id */ 103 2 special_fault bit (1), /* error on reconnect after special int */ 104 2 term_io_in_prog bit (1), /* terminal io in progress */ 105 2 term_io_req_cnt fixed bin, /* outstanding terminal io requests */ 106 2 tty_ccc_event fixed bin (71), /* term io courtesy call event call channel id */ 107 2 tty_display_event fixed bin (71), /* term io display event channel id */ 108 2 tty_issue_event fixed bin (71), /* term io issue event call channel id */ 109 2 wks_sz fixed bin, /* workspace size in words (4096 for polts, 6144 for molts) */ 110 2 exec_dta (16), /* inter slave request queue */ 111 3 word (4) bit (36), /* inter slave data */ 112 2 ccc_queue, /* courtesy call queue */ 113 3 ccc_requests fixed bin, /* courtesy call requests */ 114 3 icivlu (16) bit (36), /* ic and ind of courtesy call routine */ 115 2 isc_queue, /* interslave communication queue */ 116 3 icivlu bit (36), /* ic and i of queue entry */ 117 3 status_add fixed bin, /* :: */ 118 3 data_add fixed bin, /* :: */ 119 120 2 tadio (8), /* T & D user io rqt queue */ 121 3 optrd bit (1), /* = "1"b if options are to be read */ 122 3 inuse bit (1), /* = "1"b if queue entry in use */ 123 3 return_word (3) bit (36), /* data returned from mme tadiod */ 124 3 option bit (6 * 84), /* bcd option string */ 125 2 wait_list, /* wait list for dispatcher block */ 126 3 nchan fixed bin, /* number of event wait channels */ 127 3 wait_pad fixed bin, /* will make wait_event_id on even boundary */ 128 3 wait_event_id (2) fixed bin (71), /* dispatcher event wait chan id */ 129 2 clt_sw char (32), 130 2 att_desc char (32), 131 2 cdt_pointer ptr, /* save pointer to cdt */ 132 2 fnp_exec_cnt fixed bin init (0), 133 2 fnp (0:7), 134 3 exec_active bit (1) init ("0"b), 135 3 exec_chan char (32), 136 3 status_word bit (36) init ("0"b), 137 3 fnp_execp ptr, 138 3 type fixed bin, 139 3 exec_type_code bit (6) init ("0"b), 140 3 cdt_name (8) char (32) init ("empty"), /* cdt name built from test request */ 141 3 dm_arg like dial_manager_arg, 142 2 mess_buf, /* terminal io message buffers */ 143 3 first ptr, /* ptr to start of message buffer */ 144 3 nxt ptr, /* ptr to nxt queue entry */ 145 3 term_queue (8192) fixed bin, /* message queu as fixed bin */ 146 3 q_end bit (0), /* to find end of queue */ 147 3 q_pad (1024) fixed bin, /* padding area */ 148 3 mult_ans char (28) varying, /* answer to local Multics question */ 149 3 cv_buf char (4000) varying, /* temporary conversion storage */ 150 2 colts_pages (8) like colts_info, 151 2 pages (8) like io_info, /* test pages (8 posible) */ 152 2 firm_buf (10240) fixed bin; /* storage for loading firmware */ 153 154 155 dcl 1 io_info based (io_info_ptr) aligned, /* this maps test pages in tolts_info */ 156 2 alloc_wait bit (1), /* = "1"b if waiting for delayed allocation */ 157 2 allocated bit (1), /* = "1"b if device allocated to this page */ 158 2 alt_dev_flag bit (1), /* = "1"b if 2nd logical device configured (MTAR 500/501 only */ 159 2 alt_device_index fixed bin (12), /* ioi device index */ 160 2 alt_device_name char (8), /* alternate allocated device name */ 161 2 alt_rcp_area (24) fixed bin init (0), /* alternate device rcp */ 162 2 alt_rcp_id bit (36) aligned, /* rcp id for alternate attach/check_attach */ 163 2 attach_err fixed bin (35), /* error code returned durning attach */ 164 2 cata_cycle bit (1), /* cycle check for cata */ 165 2 cat_name char (10), /* itr or mdr catalog suffix */ 166 2 n_keys fixed bin aligned, /* number of catalog keys below */ 167 2 cata_keys (10) char (24) aligned, /* array of catalog keys */ 168 2 catp ptr, /* ptr to itr or mdr catalog in deckfile */ 169 2 catx fixed bin, /* current cata_info.index */ 170 2 ccu_pun bit (1), /* = "1"b if ccu to be used as punch */ 171 2 chan_suspended bit (1), /* = "1"b if channel has been suspended */ 172 2 chan_time fixed bin (35), /* channel time (in 1/64th miliseconds) */ 173 2 con_time fixed bin (35), /* abs time of connect (in 1/64 th miliseconds) */ 174 2 cur_wks_sz fixed bin, /* current size of ioi workspace (normally tolts_info.wks_sz) */ 175 2 dcw_list (330) bit (36), /* test page dcw list in unaltered form */ 176 2 dev_busy bit (1), /* = "1"b if device busy before */ 177 2 device_index fixed bin (12), /* ioi device index */ 178 2 device_name char (8), /* allocated device name (in ascii) */ 179 2 ev_ch_ass bit (1), /* = "1"b if status event chan assigned to this page */ 180 2 ext_status_add fixed bin, /* extended status store address */ 181 2 fnp_num fixed bin, 182 2 fpinfo_ptr ptr, /* ptr to rspd info table */ 183 2 ignore_term bit (1), /* = "1"b if term int to be ignored, wait for special (ITR) */ 184 2 in_use bit (1), /* = "1"b if this test page in use */ 185 2 int_time fixed bin (35), /* abs time of interrupt (in 1/64 th miliseconds) */ 186 2 io_in_progress bit (1), /* = "1"b if io in progress for this page */ 187 2 io_trc_flag bit (1), /* = "1"b if io is being traced */ 188 2 io_type fixed bin, /* 0 = polt, 1 = ITR, 2 = MDR, 3 = MTAR, 4 = firmware load */ 189 2 iocp ptr, 190 2 ipc_attached bit (1), 191 2 ipc_id char (3), 192 2 ipc_number fixed bin, 193 2 lostit_time fixed bin (35), /* lost interrupt time in 1/64 th miliseconds */ 194 2 mca_attach_state fixed bin, 195 2 mcata_idx fixed bin, /* mca catalog indexer */ 196 2 mcata_nkeys fixed bin aligned, /* no of keys in a mca catalog */ 197 2 mcata_keys (100) char (24) aligned, /* mca catalog entries */ 198 2 mca_ioi_idx fixed bin, /* ioi index of attached mca / 199 2 mca_iop ptr, /* mca io ptr */ 200 2 mca_workspace_ptr ptr, 201 2 mpc_dev_cnt fixed bin, /* if urmpc to be booted, # of devices */ 202 2 nff bit (1), /* = "1"b new format flag */ 203 2 num_connects fixed bin, /* number of connects issued by this page */ 204 2 p2_att bit (1), /* ="1"b if alternate device is attached (MTAR 500/501 only) */ 205 2 p_att bit (1), /* = "1"b if perp. device attached to this page */ 206 2 page_base fixed bin (18) uns, /* base of this test page in slave seg */ 207 2 pcwa bit (36), /* pcw */ 208 2 rcp_area (24) fixed bin init (0), /* storage for rcp device info */ 209 2 rcp_id bit (36) aligned, /* rcp id for attach/check_attach */ 210 2 rcp_name char (32), /* rcp name for this device */ 211 2 rcp_state fixed bin, /* rcp attach state flag */ 212 2 release_chan bit (1), /* = "1"b if ioi_$release devices to be called */ 213 2 rew_wait bit (1), /* = "1"b if waiting for special on rewind complete */ 214 2 sp_flag bit (1), /* = "1"b if special status available */ 215 2 sp_status bit (36), /* special interrupt status storage */ 216 2 spare1 bit (1), 217 2 status_add fixed bin, /* address to store status in test page */ 218 2 status_event fixed bin (71), /* io completion status event call channel id */ 219 2 suspend_chan bit (1), /* = "1"b if ioi_$suspend devices to be called */ 220 2 tolts_rspd_wksp ptr, 221 2 test_hdr char (16), /* test header used for Multics local messages */ 222 2 tio_off fixed bin (18), /* dcw list offset for ioi */ 223 2 to_no_cc bit (1), /* = "1"b if timeout expected (set after mme ipcw) */ 224 2 workspace_ptr ptr, /* ioi workspace ptr */ 225 2 altsct, /* sct for MTAR alternate device */ 226 (3 w1, /* device sct word 1 */ 227 4 type_code bit (6), /* gcos 3 type code (see dd14 app. a) */ 228 4 device_no bit (6), /* device number */ 229 4 com_prph bit (1), /* = "1"b if common perph. device */ 230 4 hi_speed bit (1), /* = "1"b if hi speed printer */ 231 4 ll160 bit (1), /* = "1"b if 160 collum printer */ 232 4 pad1 bit (2), 233 4 cr501_pr54 bit (1), /* either a cr501 or pr54 device */ 234 4 icc bit (11), /* iom and channel (true channel index) */ 235 4 pad2 bit (7), 236 3 w2, /* device sct word 2 */ 237 4 ptrain fixed bin (14), /* print train number */ 238 4 nmods bit (3), /* not used in Multics */ 239 4 pad4 bit (3), 240 4 den_cap bit (4), /* density capability for tapes */ 241 4 pad5 bit (11)) unaligned, 242 2 crcst, /* controller sct */ 243 (3 pad1 bit (1), 244 3 volatile bit (1), /* reloadable firmware */ 245 3 mpc bit (1), /* = "1"b if mpc */ 246 3 pad2 bit (4), 247 3 ms500 bit (1), /* = "1"b if mss500 device */ 248 3 mtp610 bit (1), /* = "1"b if mtp 610 device */ 249 3 pad3 bit (27)) unaligned, 250 2 dev_firm (4), /* storage for device firmware edit names */ 251 3 edit_name char (4), /* for urmpc firmware */ 252 3 mask bit (36), /* port mask for this firmware */ 253 2 devsct, /* 2 word device sct entry */ 254 (3 w1, /* device sct word 1 */ 255 4 type_code bit (6), /* gcos 3 type code (see dd14 app. a) */ 256 4 device_no bit (6), /* device number */ 257 4 com_prph bit (1), /* = "1"b if common perph. device */ 258 4 hi_speed bit (1), /* = "1"b if hi speed printer */ 259 4 ll160 bit (1), /* = "1"b if 160 collum printer */ 260 4 pad1 bit (2), 261 4 cr501_pr54 bit (1), /* either a cr501 or pr54 device */ 262 4 icc bit (11), /* iom and channel (true channel index) */ 263 4 pad2 bit (7), 264 3 w2, /* device sct word 2 */ 265 4 ptrain fixed bin (14), /* print train number */ 266 4 nmods bit (3), /* not used in Multics */ 267 4 pad4 bit (3), 268 4 den_cap bit (4), /* density capability for tapes */ 269 4 pad5 bit (11)) unaligned, 270 2 icivlu, /* ic and i for courtesy call on io completion */ 271 3 ic bit (18) unaligned, /* instruction counter */ 272 3 ind bit (18) unaligned, /* indicator register */ 273 2 sct_info, 274 (3 cntsct bit (18), /* unchanged from before */ 275 3 ioc_type bit (4), /* 0 = IOM, 1 = IMU, 2 = IOX */ 276 3 cnt_type bit (4), /* 0 = MPC, 1 = DAU, 2 = EURC, 3 = FIPS */ 277 3 pad1 bit (1), 278 3 xioc_type bit (4), /* not used in Multics */ 279 3 xcnt_type bit (4), /* not used in Multics */ 280 3 pad2 bit (1)) unaligned, 281 2 test_req aligned, 282 (3 fnccss bit (18), 283 3 tt bit (6), 284 3 pad1 bit (6)) unaligned; 285 286 287 dcl 1 colts_info aligned based (colts_info_ptr), 288 2 cdt_name char (32), 289 2 chanp pointer, /* iox pointer to chan under test */ 290 2 dm_arg aligned like dial_manager_arg, 291 2 fnp_num fixed bin (4), 292 2 in_use bit (1) unaligned init ("0"b), 293 2 status_word bit (36) aligned init ("0"b), 294 2 type_code bit (6) unaligned init ("0"b); 295 296 297 298 %page; 299 %include dial_manager_arg; 300 301 302 303 304 /* END INCLUDE FILE tolts_info.incl.pl1 */