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  */