COMPILATION LISTING OF SEGMENT gtss_fault_processor_ Compiled by: Multics PL/I Compiler, Release 28d, of October 4, 1983 Compiled at: Honeywell Multics Op. - System M Compiled on: 12/10/84 1145.2 mst Mon Options: optimize map 1 /* *********************************************************** 2* * * 3* * * 4* * Copyright, (C) Honeywell Information Systems Inc., 1981 * 5* * * 6* * * 7* *********************************************************** */ 8 9 /* ************************************************************* 10* * * 11* * Copyright (c) 1979 by Honeywell Information Systems, Inc. * 12* * * 13* ************************************************************* */ 14 gtss_fault_processor_: proc; 15 16 /* * 17* This procedure handles all faults occurring in a gtss program 18* except the DRL. Once the fault cause is interpreted, the gtss 19* slave program prefix fault vector is examined to see if the gtss 20* program has set up a handler for this fault. Each fault vector 21* consists of two words except for lockup. The first word is used 22* to store the instruction counter and indicators at the time of 23* the fault. The second word contains the address of where to go 24* in the gtss program to process the fault. If the location is 0, 25* the program will be aborted. If a fault processing routine is 26* specified, the scu data will be modified to cause control to 27* return to the gtss program at that location. 28* 29* (gcos contributors:) 30* WRITTEN BY DICK SNYDER OCTOBER 2, 1970 31* MODIFIED BY T. CASEY SEPTEMBER 1973, FEBRUARY 1974, APRIL 1974 32* MODIFIED BY D. KAYDEN JUNE 1974, DECEMBER 1974 33* MODIFIED BY T. CASEY AUGUST 1975 34* Modified by M. R. Jordan, October 1977 35* 36* (gtss contributors:) 37* Modified by R. J. Grimes, Spring 1978 38* Modified by D. B. Ward, June 25, 1978 39* Modified by D. B. Ward, July 9, 1978 40* Modified by A. N. Kepner, July 19, 1978 41* (Pass appropriate error messages to gtss_abort_subsystem_) 42* Modified by A. N. Kepner, July 24, 1978 43* Modified by Al Dupuis, Oct 12, 1979 44* (Re-implemented timer_runout entry) 45* Authors: Robert J. Grimes Created 46* Albert N. Kepner 1978 47* Robert M. May 48* David B. Ward 49* Changed: Ron Barstad 10/25/82 fixed string range error in substr of condition_name 50* Modified: Ron Barstad 84-05-31 Added RSW simulation to IPR fault handling. 51* * */ 52 53 cond_info.version = 1; /* expect version 1 of info structure */ 54 call find_condition_info_ (null, addr (cond_info), code); 55 if code ^= 0 then do; 56 call com_err_ (code, "gtss_fault_processor_", 57 "Can't find condition info."); 58 signal cond (gtss_fail); 59 end; 60 if cond_info.mcptr = null () then go to pass_it_on; /* Not a fault so pass it on */ 61 62 scup = addr (cond_info.mcptr -> mc.scu); /* get pointer to scu data */ 63 mcp = cond_info.mcptr; 64 65 /* Update saved machine registers in user's slave prefix. */ 66 call gtss_update_safe_store_ (mcptr); 67 68 if substr (condition_name||" ", 1, 9) = "simfault_" then go to pass_it_on; /* can't check for all simfaults in my array */ 69 do i = 1 to hbound (faults, 1); /* see if we have a match in our array */ 70 if condition_name = faults (i).type then do; /* found it */ 71 72 if scu.ppr.psr ^= substr (baseno (gtss_ext_$gtss_slave_area_seg (gtss_ext_$stack_level_)), 4, 15) then 73 goto pass_it_on; /* abort if fault occurred outside gtss segment */ 74 75 faultv.ic = fixed (scu.ilc)+1; /* get IC */ 76 faultv.ind = string (scu.ir); /* and I */ 77 78 go to fault (i); /* handle fault if we want */ 79 end; 80 end; 81 /* Come here on a wide class of faults we won't take specific action on */ 82 fault (10): ; /* page fault */ 83 pass_it_on: ; 84 call continue_to_signal_ (code); /* let's pass it on */ 85 if code ^= 0 then do; 86 call com_err_ (code, "gtss_fault_processor_", 87 "Can't continue to signal."); 88 signal cond (gtss_fail); 89 end; 90 return; 91 92 93 /* Come here on IPR */ 94 fault (5): ; 95 /* if the IPR instruction was a RSW, this can be simulated */ 96 if substr(fault_word,16,12) = RSW2 97 then do; 98 mc.regs.a = "0"b; /* return zero */ 99 scu.ilc = bit(fixed(scu.ilc,17) + 1,18); 100 scu.rfi, scu.if = "1"b; /* make sure cpu refetches instr from where ilc says */ 101 call gtss_update_safe_store_(mcp); 102 return; /* return to the gtss program */ 103 end; 104 /* all other IPRs */ 105 pnterr_mess = gtss_pnterr.err55; 106 gcos_error_code = 55; 107 fault_type = 3; 108 fault_vector = 0; 109 goto user_fault; 110 111 /* Come here on fault tag 1 */ 112 fault (4): ; 113 pnterr_mess = gtss_pnterr.err19; 114 gcos_error_code = 19; 115 fault_type = 2; 116 fault_vector = 4; /* vector offset */ 117 go to user_fault; /* see if user has handler */ 118 119 /* Come here on illegal op code */ 120 fault (21): ; /* illegal_opcode */ 121 if gse_ext_$modes.gdb then do; 122 gseg = gtss_ext_$gtss_slave_area_seg (gtss_ext_$stack_level_); 123 i_ptr = addrel (gseg, scu.ilc); 124 if i_opcode = "005"b3 /* mme 3 fault */ 125 then do; 126 call gcos_debug_$breaktime; 127 return; 128 end; 129 end; 130 131 132 fault (6): ; /* illegal_modifier */ 133 fault (7): ; /* linkage_error */ 134 fault (8): ; /* fault_tag_3 */ 135 fault (9): ; /* seg_fault_error */ 136 fault (11): ; /* gate_error */ 137 pnterr_mess = gtss_pnterr.err17; 138 gcos_error_code = 17; 139 fault_type = 6; 140 fault_vector = 0; /* vector offset */ 141 go to user_fault; /* see if user has handler */ 142 143 /* Come here on attempt to read or write out of partition bounds */ 144 fault (12): ; 145 fault (20): ; 146 pnterr_mess = gtss_pnterr.err18; 147 gcos_error_code = 18; 148 fault_type = 1; 149 fault_vector = 2; /* vector offset */ 150 go to user_fault; /* see if user has handler */ 151 152 /* Come here on overflow */ 153 fault (16): ; 154 fault_flags = "000010000000000000"b; /* turn on bit 22 of accum. fault status */ 155 goto common_flow; 156 157 /* Come here on fixedoverflow */ 158 fault (15): ; 159 fault_flags = "000100000000000000"b; /* turn on bit 21 of accum. fault status */ 160 goto common_flow; 161 162 /* Come here on underflow */ 163 fault (14): ; 164 fault_flags = "000001000000000000"b; /* turn on bit 23 of accum. fault status */ 165 166 common_flow: ; 167 pnterr_mess = gtss_pnterr.err16; 168 gcos_error_code = 16; 169 fault_type = 8; 170 fault_vector = 8; /* vector offset */ 171 go to user_faultx; /* see if user has handler */ 172 173 /* Come here on op_not_complete */ 174 fault (19): ; 175 pnterr_mess = gtss_pnterr.err53; 176 gcos_error_code = 53; 177 fault_type = 7; 178 fault_vector = 0; /* say where to put IC and I */ 179 goto user_fault; /* and go do it */ 180 181 /* Come here on lockup */ 182 fault (18): ; 183 pnterr_mess = gtss_pnterr.err44; 184 gcos_error_code = 44; 185 fault_type = 5; 186 fault_vector = 0; /* say where to put IC and I */ 187 goto user_fault; 188 189 /* Come here on zero divide */ 190 fault (17): ; 191 pnterr_mess = gtss_pnterr.err20; 192 gcos_error_code = 20; 193 fault_type = 9; 194 fault_vector = 6; /* vector offset */ 195 fault_flags = "000000000001000000"b; /* turn on bit 29 of accum. fault status */ 196 goto user_faultx; 197 198 /* Come here on mme fault */ 199 fault (1): ; /* mme 1 */ 200 fault (2): ; /* mme 3 */ 201 fault (3): ; /* mme 4 */ 202 fault (22): ; /* mme 2 */ 203 pnterr_mess = gtss_pnterr.err27; 204 gcos_error_code = 27; 205 fault_type = 0; 206 fault_vector = 0; /* vector offset */ 207 go to user_fault; /* see is user has handler */ 208 209 210 /* Come here with a fault which the gtss user can potentially handle. */ 211 /* "fault_vector" holds the offset from the base of the gtss segment where */ 212 /* the user's fault vector for the particular fault which occurred is located. */ 213 214 /* Put the accumulated fault status into word 25 of prefix */ 215 216 user_faultx: ; 217 p = addrel (gtss_ext_$gtss_slave_area_seg (gtss_ext_$stack_level_), 25); /* get pointer to it */ 218 accum_stat = accum_stat | ((18)"0"b || fault_flags); /* or in the flags */ 219 220 user_fault: ; 221 222 p = addrel (gtss_ext_$gtss_slave_area_seg (gtss_ext_$stack_level_), 25); /* get pointer to it */ 223 substr (accum_stat, 31, 6) = bit (fault_type, 6); 224 prefix_vector (fault_vector) = ic_i; /* copy ic and indicators into fault vector */ 225 226 227 lower_limit = bit (binary (100, 18), 18); 228 upper_limit = gtss_ust.lsize.limit; 229 if transfer.tra_addr < lower_limit | transfer.tra_addr >= upper_limit then do; /* if no valid fault_vector, abort the job */ 230 231 abrt: ; 232 call condition_interpreter_ (null, p, i, 3, mcptr, (condition_name), wcptr, infoptr); 233 call gtss_abort_subsystem_ (mcptr, 234 "gtss_fault_processor_", 235 gcos_error_code, 236 pnterr_mess, 237 fixed (scu.ilc, 18)); 238 scu.rfi, scu.if = "1"b; /* Make cpu refetch new instruction */ 239 return; /* just in case */ 240 end; 241 242 /* Fiddle the scu data to cause processor to resume execution at the */ 243 /* second word of the fault vector. This is done by setting the ilc to */ 244 /* the address of that word and turning on "rfi" and "if "in the */ 245 /* scu data, to force the cpu to refetch the instruction from the */ 246 /* word pointed to by the ilc. */ 247 248 fault_vector = fault_vector + 1; /* get loc'n of word 2 of vector */ 249 scu.ilc = substr (unspec (fault_vector), 19, 18); /* force transfer to the tra in that word */ 250 scu.rfi, scu.if = "1"b; /* make sure cpu refetches instr from where ilc says */ 251 return; /* return to the gtss program */ 252 253 /* HANDLERS FOR FAULTS THAT THE USER'S FAULT VECTOR CAN NOT HANDLE */ 254 255 /* Come here on parity */ 256 fault (13): ; 257 pnterr_mess = gtss_pnterr.err63; 258 gcos_error_code = 63; 259 fault_type = 11; 260 call condition_interpreter_ (null, p, i, 3, mcptr, (condition_name), wcptr, infoptr); 261 call gtss_abort_subsystem_ (mcptr, 262 "gtss_fault_processor_", 263 gcos_error_code, 264 pnterr_mess); 265 scu.rfi, scu.if = "1"b; /* Make cpu refetch new instruction */ 266 return; /* just in case */ 267 268 269 /* Come here if fault is a timer runout */ 270 timer_runout: entry (mcpp, fault_name); 271 272 273 274 on cput; 275 mcp = mcpp; 276 if gtss_ust.lcjid ^= "0"b /* reset proc that checks for DABT request */ 277 then call timer_manager_$reset_cpu_call (gtss_abs_$dabt_check); 278 if gtss_ext_$flags.timer_ranout 279 then goto shut_down; 280 else gtss_ext_$flags.timer_ranout = "1"b; 281 if lflg2.b8 282 then do; /* set COUT sector and term code */ 283 gtss_ust.lcfst.start_term = 10; 284 gtss_ust.lcfio.sect_in = gtss_ust.lcfst.initial_sect_out - 1; 285 end; 286 gseg = gtss_ext_$gtss_slave_area_seg (gtss_ext_$stack_level_); 287 scup = addr (mc.scu); 288 if scu.ppr.psr = substr (baseno (gtss_ext_$gtss_slave_area_seg 289 (gtss_ext_$stack_level_)), 4, 15) then; 290 else do; 291 mcp = gtss_find_cond_frame_ ("derail"); 292 if mcp = null () 293 then do; /* can't even find the slave frame */ 294 call com_err_ (0, "", 295 "^/064-EXECUTE TIME LIMIT EXCEEDED."); 296 revert cput; 297 call gtss_interp_prim_$sysret (); 298 return; 299 end; 300 else derail_in_progress = "1"b; 301 end; 302 303 scup = addr (mc.scu); 304 call gtss_update_safe_store_ (mcp); 305 gtss_spa.lsztm.b35 = "1"b; 306 faultv.ic = fixed (scu.ilc) + 1; 307 faultv.ind = string (scu.ir); 308 fault_flags = "100000000000000000"b; 309 gcos_error_code = 43; 310 fault_type = 10; 311 p = addrel (gtss_ext_$gtss_slave_area_seg (gtss_ext_$stack_level_), 25); 312 accum_stat = accum_stat | ((18)"0"b || fault_flags); 313 substr (accum_stat, 31, 6) = bit (fault_type, 6); 314 if gtss_spa.lsztm.tra ^= "0"b 315 then if ((substr (gtss_spa.lsztm.tra, 1, 18) >= bit (binary (100, 18), 18)) 316 & (substr (gtss_spa.lsztm.tra, 1, 18) <= gtss_ust.lsize.limit)) 317 then do; 318 gtss_spa.lsztm.ic_ir.IC = string (bit (faultv.ic, 18)); 319 gtss_spa.lsztm.ic_ir.IR = substr (faultv.ind, 1, 16); 320 scu.ilc = substr (gtss_spa.lsztm.tra, 1, 18); 321 scu.rfi, scu.if = "1"b; 322 call gtss_update_safe_store_ (mcp); 323 revert cput; 324 if ((^derail_in_progress) 325 | (gtss_ext_$dispose_of_drl ^= gtss_ext_$bad_drl_rtrn)) 326 then do; /* give user one second to conclude */ 327 call timer_manager_$cpu_call (1, "11"b, 328 gtss_fault_processor_$timer_runout); 329 if ^derail_in_progress 330 then return; 331 else goto gtss_ext_$dispose_of_drl; 332 end; 333 else do; 334 call com_err_ (0, "", 335 "The subsystem timer runout code was not executed", 336 "^/064-EXECUTE TIME LIMIT EXCEEDED"); 337 call gtss_interp_prim_$sysret (); 338 return; 339 end; 340 end; 341 342 shut_down: ; 343 344 345 /* reset any CRUN/DRUN timers that may go off */ 346 call timer_manager_$reset_cpu_call (gtss_abs_$cpu_runout); 347 call com_err_ (0, "", 348 "^/064-EXECUTE TIME LIMIT EXCEEDED"); 349 revert cput; 350 call gtss_interp_prim_$sysret (); 351 return; 352 353 354 /* * Declarations for gtss_fault_processor_: 355* IDENTIFIER ATTRIBUTES * */ 356 dcl RSW2 bit(12) internal static options (constant) init ("2231"b3); 357 dcl abort_code char (20) varying aligned /* abort code for this fault */; 358 dcl accum_stat bit (36) aligned based (p) /* overlay for accumulated */; 359 dcl addr builtin; 360 dcl addrel builtin; 361 dcl answer char (4) varying; 362 dcl code fixed bin (35); 363 dcl command_query_ entry options (variable); 364 dcl condition_interpreter_ entry (ptr, ptr, fixed bin, fixed bin, ptr, char (*), ptr, ptr); 365 dcl continue_to_signal_ entry (fixed bin (35)); 366 dcl cput condition ext; 367 dcl derail_in_progress bit (1) init ("0"b); 368 dcl fault_flags bit (18) /* flags to set accumulated */; 369 dcl fault_name char (*) /* fault name from fim */; 370 dcl fault_type fixed bin (6); /* Fault type to be filled in last 6 bits of .LFTST */ 371 dcl fault_vector fixed bin /* offset from base of gtss segment where fault vector is located. */; 372 dcl fault_word bit(36) based (cond_info.loc_ptr); /* the faulting instruction */ 373 dcl find_condition_info_ entry (ptr, ptr, fixed bin (35)); 374 dcl find_condition_frame_ entry(ptr) returns(ptr); 375 dcl fixed builtin; 376 dcl gcos_error_code fixed bin (18); /* .LABRT type error code */ 377 dcl gcos_debug_$breaktime entry (); 378 dcl gseg ptr; /* ptr to slave segment */ 379 dcl gtss_fail condition ext; 380 dcl hbound builtin; 381 dcl i fixed bin; 382 dcl i_ptr ptr; /* ptr to instruction where fault occurred */ 383 dcl ic_i bit (36) aligned; 384 dcl initialized bit (1) int static init ("0"b); 385 dcl ioa_ entry options (variable); 386 dcl j fixed bin; 387 dcl lower_limit bit(18) unal; 388 dcl mcpp ptr parm; 389 dcl nop bit (36) aligned int static init ("000000011003"b3) /* nop instruction */; 390 dcl null builtin; 391 dcl p pointer; 392 dcl pnterr_mess char (70) varying init ("FAULT ERROR "); 393 dcl prefix_vector (0:11) bit (36) aligned based (gtss_ext_$gtss_slave_area_seg (gtss_ext_$stack_level_)); 394 dcl sp ptr; /* ptr to current stack frame being searched */ 395 dcl string builtin; 396 dcl substr builtin; 397 dcl timer_manager_$cpu_call entry (fixed bin (71), bit (2), entry); 398 dcl timer_manager_$reset_cpu_call entry (entry); 399 dcl unspec builtin; 400 dcl upper_limit bit(18) unal; 401 402 dcl 1 transfer aligned based (addr(prefix_vector(fault_vector+1))), /* overlay for transfer instruction of fault vector */ 403 2 tra_addr bit (18) unal, 404 2 tra_op bit (18) unal; 405 406 dcl 1 faultv aligned based (addr (ic_i)), /* overlay for ic_i */ 407 2 ic fixed bin (17) unaligned, /* instruction counter */ 408 2 ind bit (18) unaligned; /* indicators */ 409 410 dcl 1 instruction aligned based (i_ptr), /* overlay for examining instruction */ 411 2 i_address bit (18) unal, /* where fault occurred */ 412 2 i_opcode bit (9) unal, 413 2 i_addr_mod bit (9) unal; 414 415 416 dcl 1 faults (22) internal static aligned, 417 2 type char (32) init ( 418 "mme1", /* 1 */ 419 "mme3", /* 2 */ 420 "mme4", /* 3 */ 421 "fault_tag_1", /* 4 */ 422 "illegal_procedure", /* 5 */ 423 "illegal_modifier", /* 6 */ 424 "linkage_error", /* 7 */ 425 "fault_tag_3", /* 8 */ 426 "seg_fault_error", /* 9 */ 427 "page_fault_error", /* 10 */ 428 "gate_error", /* 11 */ 429 "store", /* 12 */ 430 "parity", /* 13 */ 431 "underflow", /* 14 */ 432 "fixedoverflow", /* 15 */ 433 "overflow", /* 16 */ 434 "zerodivide", /* 17 */ 435 "lockup", /* 18 */ 436 "op_not_complete", /* 19 */ 437 "out_of_bounds", /* 20 */ 438 "illegal_opcode", /* 21 */ 439 "mme2" /* 22 */ 440 ); 441 442 dcl 1 cond_info aligned, 1 1 /* BEGIN INCLUDE FILE ... cond_info.incl.pl1 1 2* coded by M. Weaver 12 July 1973 */ 1 3 1 4 2 mcptr ptr, /* ptr to machine conditions at time of fault */ 1 5 2 version fixed bin, /* version of this structure (now=1) */ 1 6 2 condition_name char(32) var, /* name of condition */ 1 7 2 infoptr ptr, /* ptr to software info structure */ 1 8 2 wcptr ptr, /* ptr to wall crossing machine conditions */ 1 9 2 loc_ptr ptr, /* ptr to location where condition occurred */ 1 10 2 flags aligned, 1 11 3 crawlout bit(1) unal, /* = "1"b if condition occurred in inner ring */ 1 12 3 pad1 bit(35) unal, 1 13 2 pad_word bit(36) aligned, 1 14 2 user_loc_ptr ptr, /* ptr to last non-support loc before condition */ 1 15 2 pad (4) bit(36) aligned; 1 16 1 17 /* END INCLUDE FILE ... cond_info.incl.pl1 */ 443 444 2 1 /* BEGIN INCLUDE FILE query_info.incl.pl1 TAC June 1, 1973 */ 2 2 /* Renamed to query_info.incl.pl1 and cp_escape_control added, 08/10/78 WOS */ 2 3 /* version number changed to 4, 08/10/78 WOS */ 2 4 /* Version 5 adds explanation_(ptr len) 05/08/81 S. Herbst */ 2 5 /* Version 6 adds literal_sw, prompt_after_explanation switch 12/15/82 S. Herbst */ 2 6 2 7 dcl 1 query_info aligned, /* argument structure for command_query_ call */ 2 8 2 version fixed bin, /* version of this structure - must be set, see below */ 2 9 2 switches aligned, /* various bit switch values */ 2 10 3 yes_or_no_sw bit (1) unaligned init ("0"b), /* not a yes-or-no question, by default */ 2 11 3 suppress_name_sw bit (1) unaligned init ("0"b), /* do not suppress command name */ 2 12 3 cp_escape_control bit (2) unaligned init ("00"b), /* obey static default value */ 2 13 /* "01" -> invalid, "10" -> don't allow, "11" -> allow */ 2 14 3 suppress_spacing bit (1) unaligned init ("0"b), /* whether to print extra spacing */ 2 15 3 literal_sw bit (1) unaligned init ("0"b), /* ON => do not strip leading/trailing white space */ 2 16 3 prompt_after_explanation bit (1) unaligned init ("0"b), /* ON => repeat question after explanation */ 2 17 3 padding bit (29) unaligned init (""b), /* pads it out to t word */ 2 18 2 status_code fixed bin (35) init (0), /* query not prompted by any error, by default */ 2 19 2 query_code fixed bin (35) init (0), /* currently has no meaning */ 2 20 2 21 /* Limit of data defined for version 2 */ 2 22 2 23 2 question_iocbp ptr init (null ()), /* IO switch to write question */ 2 24 2 answer_iocbp ptr init (null ()), /* IO switch to read answer */ 2 25 2 repeat_time fixed bin (71) init (0), /* repeat question every N seconds if no answer */ 2 26 /* minimum of 30 seconds required for repeat */ 2 27 /* otherwise, no repeat will occur */ 2 28 /* Limit of data defined for version 4 */ 2 29 2 30 2 explanation_ptr ptr init (null ()), /* explanation of question to be printed if */ 2 31 2 explanation_len fixed bin (21) init (0); /* user answers "?" (disabled if ptr=null or len=0) */ 2 32 2 33 dcl query_info_version_3 fixed bin int static options (constant) init (3); 2 34 dcl query_info_version_4 fixed bin int static options (constant) init (4); 2 35 dcl query_info_version_5 fixed bin int static options (constant) init (5); 2 36 dcl query_info_version_6 fixed bin int static options (constant) init (6); /* the current version number */ 2 37 2 38 /* END INCLUDE FILE query_info.incl.pl1 */ 445 446 3 1 /* BEGIN INCLUDE FILE gtss_pnterr.incl.pl1 */ 3 2 /* 3 3* Created: (Grimes SMP) 04/15/78 0933.2 mst Sat 3 4* Change: Dave Ward 06/08/78 made attributes constant. 3 5* Change: Dave Ward 08/17/81 made lengths same as constans. 3 6* Change: Ron Barstad 83-03-29 fixed err 53, add missing err 56 3 7* Change: Ron Barstad 84-02-27 changed back to all same length because of based array in gtss_abort_subsystem_ 3 8**/ 3 9 dcl 1 gtss_pnterr static int options (constant), 3 10 2 err1 char(50) init("001-INCORRECT PRIMITIVE"), 3 11 2 err2 char(50) init("002-(^6o)INVALID FILE I/O COMMAND"), 3 12 2 err3 char(50) init("003-(^6o)INVALID DCW"), 3 13 2 err4 char(50) init("004-(^6o)INVALID DRL ARGUMENT"), 3 14 2 err5 char(50) init("005-(^6o)INVALID DRL CODE"), 3 15 2 err6 char(50) init("006-LEVEL OF CONTROL TOO DEEP"), 3 16 2 err7 char(50) init("007-BAP PROG. DESC."), 3 17 2 err8 char(50) init("008-LOOP IN PRIMITIVES"), 3 18 2 err9 char(50) init("009-SYSTEM UNKNOWN"), 3 19 2 err10 char(50) init("010-PROGRAM TOO LARGE TO SWAP"), 3 20 2 err11 char(50) init("011-(^6o)INCORRECT CORE FILE USAGE"), 3 21 2 err12 char(50) init("012-(^6o)PRIVILEGED I/O ATTEMPTED"), 3 22 2 err13 char(50) init("013-(^6o)DRL USERID NOT PERMITTED"), 3 23 2 err14 char(50) init("(^6o)ILLEGAL DRL RELMEM REQUEST"), 3 24 2 err15 char(50) init("015-(^6o)CANNOT RESET USER ID"), 3 25 2 err16 char(50) init("016-(^6o)OVERFLOW FAULT"), 3 26 2 err17 char(50) init("017-(^6o)ILLEGAL OP CODE"), 3 27 2 err18 char(50) init("018-(^6o)MEMORY FAULT"), 3 28 2 err19 char(50) init("019-(^6o)FAULT TAG FAULT"), 3 29 2 err20 char(50) init("020-(^6o)DIVIDE CHECK FAULT"), 3 30 2 err21 char(50) init("021-(^6o)BAD STATUS - SWAP OUT"), 3 31 2 err22 char(50) init("022-(^6o)BAD STATUS - SWAP IN"), 3 32 2 err23 char(50) init("023-(^6o)BAD STATUS - LOAD"), 3 33 2 err24 char(50) init("(^6o)TALK PERMISSION NOT GRANTED"), 3 34 2 err25 char(50) init("(^6o)WRITE ATTEMPTED ON READ-ONLY FILE - ^8a"), 3 35 2 err26 char(50) init("(^6o)READ ATTEMPTED ON EXECUTE-ONLY FILE - ^8a"), 3 36 2 err27 char(50) init("024-(^6o)MME FAULT"), 3 37 2 err28 char(50) init("028-(^6o)REWIND ATTEMPTED FOR RANDOM FILE - ^8a"), 3 38 2 err29 char(50) init("029-ILLEGAL SYSTEM SELECTION"), 3 39 2 err30 char(50) init("134-(^6o)INVALID DRL FILACT FUNCTION #^i"), 3 40 2 err31 char(50) init("135-(^6o)PRIVILEGED DRL FILACT REQUEST"), 3 41 2 err32 char(50) init("138-(^6o)NO TAP* FILE FOR DRL TAPEIN"), 3 42 2 err33 char(50) init("139-ERROR IN WRITING TAP* FILE"), 3 43 2 err34 char(50) init("(^6o)DRL ABORT - CANNOT WRITE ABRT FILE"), 3 44 2 err35 char(50) init("(^6o)DRL ABORT - ABRT FILE WRITTEN"), 3 45 2 err36 char(50) init("NOT ENOUGH CORE TO RUN JOB"), 3 46 2 err37 char(50) init("SORRY-OUT OF SWAP SPACE. TRY AGAIN."), 3 47 2 err38 char(50) init("(^6o)FILE ADDRESS ERROR"), 3 48 2 err39 char(50) init("(^6o)DRL ABORT - ABRT FILE I/O ERROR"), 3 49 2 err40 char(50) init("(^6o)DRL ABORT - ABRT FILE TOO SMALL"), 3 50 2 err41 char(50) init("(^6o)BAD STATUS FOR DRL SAVE/RESTOR - ^8a"), 3 51 2 err42 char(50) init("(^6o)H* FILE NOT IN AFT - ^8a"), 3 52 2 err43 char(50) init("064-EXECUTE TIME LIMIT EXCEEDED"), 3 53 2 err44 char(50) init("025-(^6o)LOCKUP FAULT"), 3 54 2 err45 char(50) init("065-OBJECT PROGRAM SIZE LIMIT EXCEEDED"), 3 55 2 err46 char(50) init("(^6o)INCORRECT ENTRY TO DRL TASK"), 3 56 2 err47 char(50) init("(^6o)H* PROGRAM NAME UNDEFINED - ^8a"), 3 57 2 err48 char(50) init("(^6o)H* FILE CATALOG FULL - ^8a"), 3 58 2 err49 char(50) init("(^6o)TALLY OR CHARACTER COUNT INCORRECT"), 3 59 2 err50 char(50) init("(^6o)BAD DRL SAVE DATA LOC"), 3 60 2 err51 char(50) init("(^6o)H* FILE NOT INITITALIZED - ^8a"), 3 61 2 err52 char(50) init("(^6o)H* FILE MUST BE RANDOM - ^8a"), 3 62 2 err53 char(50) init("026-(^6o)OP-NOT-COMPLETE FAULT"), 3 63 2 err54 char(50) init("(^6o)H* FILE PROGRAM NAME REQUIRED - ^8a"), 3 64 2 err55 char(50) init("027-(^6o)COMMAND FAULT"), 3 65 2 err56 char(50) init("(^6o)LINKED FILE I/O CANNOT SPAN >63 LLINKS - ^8a"), 3 66 2 err57 char(50) init("UNASSIGNED"), 3 67 2 err58 char(50) init("(^6o)INVALID TIME FOR DRL GWAKE"), 3 68 2 err59 char(50) init("UNASSIGNED"), 3 69 2 err60 char(50) init("(^6o)INVALID SNUMB FOR DRL JOUT"), 3 70 2 err61 char(50) init("(^6o)PRIVILEGED DRL"), 3 71 2 err62 char(50) init("(^6o)INVALID DRL JOUT FUNCTION"), 3 72 2 err63 char(50) init("MEMORY PARITY ERROR"), 3 73 2 err64 char(50) init("SY** I/O ERROR"), 3 74 /* The following error messages are artifacts of gtss and are not found in TSS */ 3 75 2 err100 char(50) init("DRL ADDMEM ERROR at (^6o)"), 3 76 2 err101 char(50) init("DRL RELMEM ERROR TRUNCATE SEGMENT at (^6o)"), 3 77 2 err102 char(50) init("DRL RELMEM ERROR SET MAX SEGMENT LENGTH"), 3 78 2 err103 char(50) init("UNIMPLEMENTED DRL FILACT FUNCTION (^i)"), 3 79 2 err999 char(50) init("dummy"); 3 80 3 81 /* END INCLUDE FILE gtss_pnterr.incl.pl1 */ 447 448 4 1 /* */ 4 2 /* BEGIN INCLUDE FILE mc.incl.pl1 Created Dec 72 for 6180 - WSS. */ 4 3 /* Modified 06/07/76 by Greenberg for mc.resignal */ 4 4 /* Modified 07/07/76 by Morris for fault register data */ 4 5 /* Modified 08/28/80 by J. A. Bush for the DPS8/70M CVPU */ 4 6 /* Modified '82 to make values constant */ 4 7 4 8 /* words 0-15 pointer registers */ 4 9 4 10 dcl mcp ptr; 4 11 4 12 dcl 1 mc based (mcp) aligned, 4 13 2 prs (0:7) ptr, /* POINTER REGISTERS */ 4 14 (2 regs, /* registers */ 4 15 3 x (0:7) bit (18), /* index registers */ 4 16 3 a bit (36), /* accumulator */ 4 17 3 q bit (36), /* q-register */ 4 18 3 e bit (8), /* exponent */ 4 19 3 pad1 bit (28), 4 20 3 t bit (27), /* timer register */ 4 21 3 pad2 bit (6), 4 22 3 ralr bit (3), /* ring alarm register */ 4 23 4 24 2 scu (0:7) bit (36), 4 25 4 26 2 mask bit (72), /* mem controller mask at time of fault */ 4 27 2 ips_temp bit (36), /* Temporary storage for IPS info */ 4 28 2 errcode fixed bin (35), /* fault handler's error code */ 4 29 2 fim_temp, 4 30 3 unique_index bit (18) unal, /* unique index for restarting faults */ 4 31 3 resignal bit (1) unal, /* recompute signal name with fcode below */ 4 32 3 fcode bit (17) unal, /* fault code used as index to FIM table and SCT */ 4 33 2 fault_reg bit (36), /* fault register */ 4 34 2 pad2 bit (1), 4 35 2 cpu_type fixed bin (2) unsigned, /* L68 = 0, DPS8/70M = 1 */ 4 36 2 ext_fault_reg bit (15), /* extended fault reg for DPS8/70M CPU */ 4 37 2 fault_time bit (54), /* time of fault */ 4 38 4 39 2 eis_info (0:7) bit (36)) unaligned; 4 40 4 41 4 42 dcl (apx fixed bin init (0), 4 43 abx fixed bin init (1), 4 44 bpx fixed bin init (2), 4 45 bbx fixed bin init (3), 4 46 lpx fixed bin init (4), 4 47 lbx fixed bin init (5), 4 48 spx fixed bin init (6), 4 49 sbx fixed bin init (7)) internal static options (constant); 4 50 4 51 4 52 4 53 4 54 dcl scup ptr; 4 55 4 56 dcl 1 scu based (scup) aligned, /* SCU DATA */ 4 57 4 58 4 59 /* WORD (0) */ 4 60 4 61 (2 ppr, /* PROCEDURE POINTER REGISTER */ 4 62 3 prr bit (3), /* procedure ring register */ 4 63 3 psr bit (15), /* procedure segment register */ 4 64 3 p bit (1), /* procedure privileged bit */ 4 65 4 66 2 apu, /* APPENDING UNIT STATUS */ 4 67 3 xsf bit (1), /* ext seg flag - IT modification */ 4 68 3 sdwm bit (1), /* match in SDW Ass. Mem. */ 4 69 3 sd_on bit (1), /* SDW Ass. Mem. ON */ 4 70 3 ptwm bit (1), /* match in PTW Ass. Mem. */ 4 71 3 pt_on bit (1), /* PTW Ass. Mem. ON */ 4 72 3 pi_ap bit (1), /* Instr Fetch or Append cycle */ 4 73 3 dsptw bit (1), /* Fetch of DSPTW */ 4 74 3 sdwnp bit (1), /* Fetch of SDW non paged */ 4 75 3 sdwp bit (1), /* Fetch of SDW paged */ 4 76 3 ptw bit (1), /* Fetch of PTW */ 4 77 3 ptw2 bit (1), /* Fetch of pre-paged PTW */ 4 78 3 fap bit (1), /* Fetch of final address paged */ 4 79 3 fanp bit (1), /* Fetch of final address non-paged */ 4 80 3 fabs bit (1), /* Fetch of final address absolute */ 4 81 4 82 2 fault_cntr bit (3), /* number of retrys of EIS instructions */ 4 83 4 84 4 85 /* WORD (1) */ 4 86 4 87 2 fd, /* FAULT DATA */ 4 88 3 iro bit (1), /* illegal ring order */ 4 89 3 oeb bit (1), /* out of execute bracket */ 4 90 3 e_off bit (1), /* no execute */ 4 91 3 orb bit (1), /* out of read bracket */ 4 92 3 r_off bit (1), /* no read */ 4 93 3 owb bit (1), /* out of write bracket */ 4 94 3 w_off bit (1), /* no write */ 4 95 3 no_ga bit (1), /* not a gate */ 4 96 3 ocb bit (1), /* out of call bracket */ 4 97 3 ocall bit (1), /* outward call */ 4 98 3 boc bit (1), /* bad outward call */ 4 99 3 inret bit (1), /* inward return */ 4 100 3 crt bit (1), /* cross ring transfer */ 4 101 3 ralr bit (1), /* ring alarm register */ 4 102 3 am_er bit (1), /* associative memory fault */ 4 103 3 oosb bit (1), /* out of segment bounds */ 4 104 3 paru bit (1), /* processor parity upper */ 4 105 3 parl bit (1), /* processor parity lower */ 4 106 3 onc_1 bit (1), /* op not complete type 1 */ 4 107 3 onc_2 bit (1), /* op not complete type 2 */ 4 108 4 109 2 port_stat, /* PORT STATUS */ 4 110 3 ial bit (4), /* illegal action lines */ 4 111 3 iac bit (3), /* illegal action channel */ 4 112 3 con_chan bit (3), /* connect channel */ 4 113 4 114 2 fi_num bit (5), /* (fault/interrupt) number */ 4 115 2 fi_flag bit (1), /* 1 => fault, 0 => interrupt */ 4 116 4 117 4 118 /* WORD (2) */ 4 119 4 120 2 tpr, /* TEMPORARY POINTER REGISTER */ 4 121 3 trr bit (3), /* temporary ring register */ 4 122 3 tsr bit (15), /* temporary segment register */ 4 123 4 124 2 pad2 bit (9), 4 125 4 126 2 cpu_no bit (3), /* CPU number */ 4 127 4 128 2 delta bit (6), /* tally modification DELTA */ 4 129 4 130 4 131 /* WORD (3) */ 4 132 4 133 2 word3 bit (18), 4 134 4 135 2 tsr_stat, /* TSR STATUS for 1,2,&3 word instructions */ 4 136 3 tsna, /* Word 1 status */ 4 137 4 prn bit (3), /* Word 1 PR number */ 4 138 4 prv bit (1), /* Word 1 PR valid bit */ 4 139 3 tsnb, /* Word 2 status */ 4 140 4 prn bit (3), /* Word 2 PR number */ 4 141 4 prv bit (1), /* Word 2 PR valid bit */ 4 142 3 tsnc, /* Word 3 status */ 4 143 4 prn bit (3), /* Word 3 PR number */ 4 144 4 prv bit (1), /* Word 3 PR valid bit */ 4 145 4 146 2 tpr_tbr bit (6), /* TPR.TBR field */ 4 147 4 148 4 149 /* WORD (4) */ 4 150 4 151 2 ilc bit (18), /* INSTRUCTION COUNTER */ 4 152 4 153 2 ir, /* INDICATOR REGISTERS */ 4 154 3 zero bit (1), /* zero indicator */ 4 155 3 neg bit (1), /* negative indicator */ 4 156 3 carry bit (1), /* carryry indicator */ 4 157 3 ovfl bit (1), /* overflow indicator */ 4 158 3 eovf bit (1), /* eponent overflow */ 4 159 3 eufl bit (1), /* exponent underflow */ 4 160 3 oflm bit (1), /* overflow mask */ 4 161 3 tro bit (1), /* tally runout */ 4 162 3 par bit (1), /* parity error */ 4 163 3 parm bit (1), /* parity mask */ 4 164 3 bm bit (1), /* ^bar mode */ 4 165 3 tru bit (1), /* truncation mode */ 4 166 3 mif bit (1), /* multi-word instruction mode */ 4 167 3 abs bit (1), /* absolute mode */ 4 168 3 hex bit (1), /* hexadecimal exponent mode */ 4 169 3 pad bit (3), 4 170 4 171 4 172 /* WORD (5) */ 4 173 4 174 2 ca bit (18), /* COMPUTED ADDRESS */ 4 175 4 176 2 cu, /* CONTROL UNIT STATUS */ 4 177 3 rf bit (1), /* on first cycle of repeat instr */ 4 178 3 rpt bit (1), /* repeat instruction */ 4 179 3 rd bit (1), /* repeat double instruction */ 4 180 3 rl bit (1), /* repeat link instruciton */ 4 181 3 pot bit (1), /* IT modification */ 4 182 3 pon bit (1), /* return type instruction */ 4 183 3 xde bit (1), /* XDE from Even location */ 4 184 3 xdo bit (1), /* XDE from Odd location */ 4 185 3 poa bit (1), /* operation preparation */ 4 186 3 rfi bit (1), /* tells CPU to refetch instruction */ 4 187 3 its bit (1), /* ITS modification */ 4 188 3 if bit (1), /* fault occured during instruction fetch */ 4 189 4 190 2 cpu_tag bit (6)) unaligned, /* computed tag field */ 4 191 4 192 4 193 /* WORDS (6,7) */ 4 194 4 195 2 even_inst bit (36), /* even instruction of faulting pair */ 4 196 4 197 2 odd_inst bit (36); /* odd instruction of faulting pair */ 4 198 4 199 4 200 4 201 4 202 4 203 4 204 /* ALTERNATE SCU DECLARATION */ 4 205 4 206 4 207 dcl 1 scux based (scup) aligned, 4 208 4 209 (2 pad0 bit (36), 4 210 4 211 2 fd, /* GROUP II FAULT DATA */ 4 212 3 isn bit (1), /* illegal segment number */ 4 213 3 ioc bit (1), /* illegal op code */ 4 214 3 ia_am bit (1), /* illegal address - modifier */ 4 215 3 isp bit (1), /* illegal slave procedure */ 4 216 3 ipr bit (1), /* illegal procedure */ 4 217 3 nea bit (1), /* non existent address */ 4 218 3 oobb bit (1), /* out of bounds */ 4 219 3 pad bit (29), 4 220 4 221 2 pad2 bit (36), 4 222 4 223 2 pad3a bit (18), 4 224 4 225 2 tsr_stat (0:2), /* TSR STATUS as an ARRAY */ 4 226 3 prn bit (3), /* PR number */ 4 227 3 prv bit (1), /* PR valid bit */ 4 228 4 229 2 pad3b bit (6)) unaligned, 4 230 4 231 2 pad45 (0:1) bit (36), 4 232 4 233 2 instr (0:1) bit (36); /* Instruction ARRAY */ 4 234 4 235 4 236 4 237 /* END INCLUDE FILE mc.incl.pl1 */ 449 450 5 1 /* BEGIN INCLUDE FILE gtss_ext_.incl.pl1 */ 5 2 /* 5 3* Created: (Wardd Multics) 05/20/78 1307.6 mst Sat 5 4* Modified: Ward 1981 add suspended_process dcl 5 5* Modified: Ron Barstad 83-07-21 Fixed level number on mcfc to 3 5 6* Modified: Ron Barstad 83-07-25 Fixed derail range in statistics to 4js3 number 5 7**/ 5 8 dcl gtss_ext_$aem fixed bin static ext /* >0 Print "additional" error information. */; 5 9 dcl gtss_ext_$bad_drl_rtrn static ext label /* Default for drl_rtrn. */; 5 10 dcl gtss_ext_$db (72)bit(1)unal static ext; 5 11 dcl gtss_ext_$deferred_catalogs_ptr ptr ext; 5 12 dcl gtss_ext_$dispose_of_drl static ext label /* quit handlers for some derails use this label to abort */; 5 13 dcl gtss_ext_$drl_rtrn (4)static ext label /* where to return at subsystem end */; 5 14 dcl gtss_ext_$drm_path char(168)static ext /* gtss_expand_pathname_stores drm_path */; 5 15 dcl gtss_ext_$drun_jid char (5) static ext /* valid only for DRUN executing under absentee */; 5 16 dcl gtss_ext_$event_channel fixed bin (71) static ext /* used for DABT signals */; 5 17 dcl gtss_ext_$finished static ext label /* Return to gtss for normal conclusion. */; 5 18 dcl gtss_ext_$gdb_name char(8)ext /* Name H* module to debug. */; 5 19 dcl gtss_ext_$get_line entry(ptr,ptr,fixed bin(21),fixed bin(21),fixed bin(35))variable ext /* Build mode input procedure. */; 5 20 dcl gtss_ext_$gtss_slave_area_seg (4) ext static ptr /* pointer to gtss slave area segment */; 5 21 dcl gtss_ext_$hcs_work_area_ptr ptr ext static /* Temp seg for acl lists. */; 5 22 dcl gtss_ext_$homedir char (64) static ext /* user's home dir */; 5 23 dcl gtss_ext_$last_k_was_out bit (1)aligned ext static /* "1"b => last tty output was output. */; 5 24 dcl gtss_ext_$pdir char (168) varying ext static /* pathname of process directory */; 5 25 dcl gtss_ext_$popup_from_pi static ext label /* transfer to this label after pi simulates popup primitive */; 5 26 dcl gtss_ext_$process_type fixed bin (17) static ext; 5 27 dcl gtss_ext_$put_chars entry(ptr,ptr,fixed bin(24),fixed bin(35)) variable ext /* Terminal output procedure. */; 5 28 dcl gtss_ext_$restart_from_pi static ext label /* transfer to this label after pi restores machine conditions */; 5 29 dcl gtss_ext_$restart_seg_ptr ptr static ext /* points to DRUN restart file when exec under absentee */; 5 30 dcl gtss_ext_$sig_ptr ext static ptr /* saved ptr to signal_ */; 5 31 dcl gtss_ext_$stack_level_ fixed bin ext static; 5 32 dcl gtss_ext_$suspended_process bit(1) ext static; 5 33 dcl gtss_ext_$SYstarstar_file_no fixed bin (24) static ext; 5 34 dcl gtss_ext_$user_id char (26)var ext; 5 35 dcl gtss_ext_$work_area_ptr ptr ext; 5 36 5 37 dcl 1 gtss_ext_$CFP_bits aligned static external 5 38 , 3 no_input_yet bit (1) unaligned /* used in gtss_CFP_input_, gtss_read_starCFP_ */ 5 39 , 3 rtn_bits bit (4) unaligned /* used in gtss_CFP_input_, gtss_CFP_output_ */ 5 40 , 3 cpos_called bit (1) unaligned /* used in gtss_CFP_input_, gtss_drl_t_cfio_, gtss_abandon_CFP_ */ 5 41 , 3 cout_called bit (1) unaligned /* used in gtss_read_starCFP_, gtss_abandon_CFP_ */ 5 42 , 3 build_mode bit (1) unaligned /* used in gtss_build_, gtss_dsd_process_ */ 5 43 ; 5 44 5 45 dcl 1 gtss_ext_$com_reg aligned static ext, 5 46 3 tsdmx, 5 47 4 dst fixed bin (18) unsigned unaligned, 5 48 4 dit fixed bin (18) unsigned unaligned, 5 49 3 tsdpt fixed bin (36) unsigned unaligned, 5 50 3 tsddt fixed bin (36) unsigned unaligned, 5 51 3 tsdid bit (72) unaligned, 5 52 3 tsdsd bit (36) unaligned, 5 53 3 tsdst fixed bin (36) unsigned unaligned, 5 54 3 tsdjb fixed bin (35) unaligned, 5 55 3 tsdgt, 5 56 4 ust_loc fixed bin (18) unsigned unaligned, 5 57 4 gating_ctl fixed bin (18) unsigned unaligned, 5 58 3 tcdfr bit (36) unaligned; 5 59 5 60 dcl 1 gtss_ext_$flags aligned static ext 5 61 , 3 dispose_of_drl_on_pi bit (01) unal /* 1 => drl that should be aborted after quit-pi sequence */ 5 62 , 3 drl_in_progress bit (01) unal /* 1 => drl handler executing; 0 => gcos code executing */ 5 63 , 3 popup_from_pi bit (01) unal /* 1 => derail processor will simulate Gcos break instead of returning */ 5 64 , 3 unfinished_drl bit (01) unal /* 1 => subsystem is handling breaks and quit was raised during a drl */ 5 65 , 3 ss_time_limit_set bit (01) unal /* 1 => exec time limit set for subsystem */ 5 66 , 3 timer_ranout bit (01) unal /* 1 => user is executing timer runout code */ 5 67 , 3 gtss_com_err_sw bit (01) unal /* 1 => stop com_err_ string from going to terminal */ 5 68 , 3 available bit (65) unal 5 69 ; 5 70 5 71 5 72 dcl 1 gtss_ext_$statistics aligned static ext, /* Derail usage statistics */ 5 73 3 total_time (-10:71)fixed bin (71), 5 74 3 count (-10:71)fixed bin (17); 5 75 5 76 /* Declaration of Available File Table 5 77* */ 5 78 dcl 1 gtss_ext_$aft aligned ext, /* aft structure */ 5 79 5 80 3 start_list (0:102) fixed bin (24), /* >0 => 1st aft_entry row to start of next entry chain. */ 5 81 5 82 3 aft_entry (20), 5 83 4 altname char (8), /* altname name for attaching this file */ 5 84 4 next_entry fixed bin (24), /* Next aft_entry in hash chain. */ 5 85 4 previous_add fixed bin (24), /* Previously added entry. */ 5 86 4 next_add fixed bin (24), /* Entry added after this one. */ 5 87 4 used bit (1) unal, /* "1"b => aft_entry contains AFT value. */ 5 88 4 forced bit(1) unal, /* "1"b => gtss_verify_access_ forced access on this file. */ 5 89 5 90 3 free_space fixed bin (24), /* Index of start of free space list for aft entries. */ 5 91 3 first_added fixed bin (24), /* >0 => start of chain in add order. */ 5 92 3 last_added fixed bin (24) /* >0 => end of chain in added order. */; 5 93 5 94 dcl gtss_ext_$ppt ptr ext /* switch name for tapein drl */; 5 95 /** Data structure to provide access to installed 5 96* subsystems fast library load. 5 97* **/ 5 98 dcl 1 gtss_ext_$fast_lib aligned ext 5 99 , 3 fast_lib_fcb ptr /* Pointer to msf fcb. */ 5 100 , 3 fast_lib_ncp fixed bin (24) /* Number of components. */ 5 101 , 3 comp_ptr (0:9)ptr /* Pointer to component. */ 5 102 , 3 comp_wds (0:9)fixed bin (24) /* Component length (words). */ 5 103 ; 5 104 5 105 /* Pointers to segments to regulate multipler 5 106* callers to files. Same segments are used to regulate 5 107* all simulator callers. 5 108**/ 5 109 dcl 1 gtss_ext_$mcfc aligned ext, 5 110 3 multics_lock_id bit(36), 5 111 3 wait_time fixed bin, 5 112 3 files_ptr ptr, 5 113 3 names_ptr ptr, 5 114 3 callers_ptr (0:3)ptr 5 115 ; 5 116 5 117 /* END INCLUDE FILE gtss_ext_.incl.pl1 */ 451 452 6 1 /* BEGIN INCLUDE FILE gtss_entry_dcls.incl.pl1 */ 6 2 /* 6 3* Created: (Wardd Multics) 06/30/78 1624.8 mst Fri 6 4* Modified: Ron Barstad 84-02-24 Fixed wrong and obsolete entries 6 5**/ 6 6 6 7 /** gtss external entry variables. **/ 6 8 dcl com_err_ entry() options(variable); 6 9 dcl gtss_CFP_abort_ entry options(variable); 6 10 dcl gtss_CFP_break_ entry options(variable); 6 11 dcl gtss_CFP_input_ entry (ptr, ptr, fixed bin(21), fixed bin(21), fixed bin(35)); 6 12 dcl gtss_CFP_output_ entry (ptr, ptr, fixed bin(21), fixed bin(35)); 6 13 dcl gtss_abandon_CFP_ entry options(variable); 6 14 dcl gtss_abort_dump_ entry (fixed bin(18)); 6 15 dcl gtss_abort_subsystem_ entry options (variable); 6 16 dcl gtss_abort_subsystem_$not_imp entry (ptr, fixed bin(24)); 6 17 dcl gtss_abs_login_banner_ entry() returns(char(*)); 6 18 dcl gtss_abs_logout_banner_ entry() returns(char(*)); 6 19 dcl gtss_abs_$abs_equiv entry options(variable); 6 20 dcl gtss_abs_$cpu_runout entry (ptr, char(4)); 6 21 dcl gtss_abs_$create_absin entry() returns(char(*)); 6 22 dcl gtss_abs_$dabt_check entry (ptr, char(4)); 6 23 dcl gtss_abs_$get_id entry (char(5)) returns(char(19)); 6 24 dcl gtss_abs_$get_drm entry() returns(char(*)); 6 25 dcl gtss_adjust_size_ entry (ptr); 6 26 dcl gtss_aft_$add entry (char(8), fixed bin(24), fixed bin(35)); 6 27 dcl gtss_aft_$delete entry (char(8), fixed bin(24), fixed bin(35)); 6 28 dcl gtss_aft_$find entry (char(8), fixed bin(24), fixed bin(35)); 6 29 dcl gtss_aft_$initialize entry (fixed bin(35)); 6 30 dcl gtss_ascii_bcd_ entry (ptr, fixed bin, ptr); 6 31 dcl gtss_attributes_mgr_$get entry (ptr, fixed bin(35)); 6 32 dcl gtss_attributes_mgr_$set entry (ptr, fixed bin(35)); 6 33 dcl gtss_bcd_ascii_ entry (ptr, fixed bin(24), ptr); 6 34 dcl gtss_bcd_ascii_$lc entry (ptr, fixed bin(24), ptr); 6 35 dcl gtss_break_vector_ entry (); 6 36 dcl gtss_break_vector_$drl_in_progress entry() returns(bit(1)); 6 37 dcl gtss_break_vector_$status entry() returns(bit(1)); 6 38 dcl gtss_build_ entry options(variable); 6 39 dcl gtss_com_err_ entry options(variable); 6 40 dcl gtss_derail_processor_ entry (ptr, char(*), ptr, ptr, bit(1) aligned) /* called at fault time instead of signal_ */; 6 41 dcl gtss_derail_processor_$set entry options(variable); 6 42 dcl gtss_dq_$catp entry (char (5), ptr, fixed bin (18) unsigned); 6 43 dcl gtss_dq_$create entry (bit(1)); 6 44 dcl gtss_dq_$dibp entry (char(5), ptr); 6 45 dcl gtss_dq_$entries_info entry (ptr, fixed bin (18) unsigned, fixed bin (18) unsigned); 6 46 dcl gtss_dq_$hdrp entry (ptr); 6 47 dcl gtss_dq_$mod_js entry (char(5), fixed bin (6) unsigned, bit (1)); 6 48 dcl gtss_dq_$open_exc entry (bit(1)); 6 49 dcl gtss_dq_$open_gen entry (bit(1)); 6 50 dcl gtss_drl_abort_ entry (ptr, fixed bin); 6 51 dcl gtss_drl_addmem_ entry (ptr, fixed bin); 6 52 dcl gtss_drl_callss_ entry (ptr, fixed bin); 6 53 dcl gtss_drl_corfil_ entry (ptr, fixed bin); 6 54 dcl gtss_drl_defil_ entry (ptr, fixed bin); 6 55 dcl gtss_drl_defil_$subr entry (ptr, ptr, ptr); 6 56 dcl gtss_drl_dio_ entry (ptr, fixed bin); 6 57 dcl gtss_drl_drlimt_ entry (ptr, fixed bin); 6 58 dcl gtss_drl_drlsav_ entry (ptr, fixed bin); 6 59 dcl gtss_drl_filact_ entry (ptr, fixed bin); 6 60 dcl gtss_drl_filsp_ entry (ptr, fixed bin); 6 61 dcl gtss_drl_grow_ entry (ptr, fixed bin); 6 62 dcl gtss_drl_gwake_ entry (ptr, fixed bin); 6 63 dcl gtss_drl_jsts_ entry (ptr, fixed bin); 6 64 dcl gtss_drl_kin_ entry (ptr, fixed bin); 6 65 dcl gtss_drl_kotnow_ entry (ptr, fixed bin); 6 66 dcl gtss_drl_kotnow_$gtss_drl_kout_ entry (ptr, fixed bin); 6 67 dcl gtss_drl_koutn_ entry (ptr, fixed bin); 6 68 dcl gtss_drl_morlnk_ entry (ptr, fixed bin); 6 69 dcl gtss_drl_msub_ entry (ptr, fixed bin); 6 70 dcl gtss_drl_objtim_ entry (ptr, fixed bin); 6 71 dcl gtss_drl_part_ entry (ptr, fixed bin); 6 72 dcl gtss_drl_pasaft_ entry (ptr, fixed bin); 6 73 dcl gtss_drl_pasdes_ entry (ptr, fixed bin); 6 74 dcl gtss_drl_pasust_ entry (ptr, fixed bin); 6 75 dcl gtss_drl_pdio_ entry (ptr, fixed bin); 6 76 dcl gtss_drl_prgdes_ entry (ptr, fixed bin); 6 77 dcl gtss_drl_pseudo_ entry (ptr, fixed bin); 6 78 dcl gtss_drl_relmem_ entry (ptr, fixed bin); 6 79 dcl gtss_drl_restor_ entry (ptr, fixed bin); 6 80 dcl gtss_drl_retfil_ entry (ptr, fixed bin); 6 81 dcl gtss_drl_return_ entry (ptr, fixed bin); 6 82 dcl gtss_drl_rew_ entry (ptr, fixed bin); 6 83 dcl gtss_drl_rstswh_ entry (ptr, fixed bin); 6 84 dcl gtss_drl_setlno_ entry (ptr, fixed bin); 6 85 dcl gtss_drl_setswh_ entry (ptr, fixed bin); 6 86 dcl gtss_drl_snumb_ entry (ptr, fixed bin); 6 87 dcl gtss_drl_spawn_ entry (ptr, fixed bin); 6 88 dcl gtss_drl_spawn_$gtss_drl_pasflr_ entry (ptr, fixed bin); 6 89 dcl gtss_drl_stoppt_ entry (ptr, fixed bin); 6 90 dcl gtss_drl_switch_ entry (ptr, fixed bin); 6 91 dcl gtss_drl_sysret_ entry (ptr, fixed bin); 6 92 dcl gtss_drl_t_cfio_ entry (ptr, fixed bin); 6 93 dcl gtss_drl_t_cmov_ entry (ptr, fixed bin); 6 94 dcl gtss_drl_t_err_ entry (ptr, fixed bin); 6 95 dcl gtss_drl_t_goto_ entry (ptr, fixed bin); 6 96 dcl gtss_drl_t_linl_ entry (ptr, fixed bin); 6 97 dcl gtss_drl_t_rscc_ entry (ptr, fixed bin); 6 98 dcl gtss_drl_tapein_ entry (ptr, fixed bin); 6 99 dcl gtss_drl_task_ entry (ptr, fixed bin); 6 100 dcl gtss_drl_termtp_ entry (ptr, fixed bin); 6 101 dcl gtss_drl_time_ entry (ptr, fixed bin); 6 102 dcl gtss_drun_ entry (bit(1)); 6 103 dcl gtss_dsd_lookup_ entry (char(8) var) returns(fixed bin(24)); 6 104 dcl gtss_dsd_process_ entry (ptr, ptr, fixed bin(21), fixed bin(21), fixed bin(35)); 6 105 dcl gtss_edit_dsd_ entry (ptr, fixed bin(21)) returns(fixed bin(24)); 6 106 dcl gtss_mcfc_empty entry (char(*) var); 6 107 dcl gtss_expand_pathname_ entry (ptr, char(*), char(*), fixed bin(35)); 6 108 dcl gtss_expand_pathname_$verify_umc entry (ptr, char(*), char(*), bit(18), fixed bin(35)); 6 109 dcl gtss_fault_processor_ entry options(variable); 6 110 dcl gtss_find_cond_frame_ entry (char(32) var) returns(ptr); 6 111 dcl gtss_fault_processor_$timer_runout entry (ptr, char(*)); 6 112 dcl gtss_filact_error_status_ entry (fixed bin(35))returns(bit(12)); 6 113 dcl gtss_filact_funct02_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 6 114 dcl gtss_filact_funct03_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 6 115 dcl gtss_filact_funct04_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 6 116 dcl gtss_filact_funct05_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 6 117 dcl gtss_filact_funct08_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 6 118 dcl gtss_filact_funct10_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 6 119 dcl gtss_filact_funct11_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 6 120 dcl gtss_filact_funct14_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 6 121 dcl gtss_filact_funct18_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 6 122 dcl gtss_filact_funct19_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 6 123 dcl gtss_filact_funct21_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 6 124 dcl gtss_filact_funct22_ entry (ptr, bit(18), ptr, ptr, ptr, fixed bin(35)); 6 125 dcl gtss_mcfc_init_ entry (char(*) var); 6 126 dcl gtss_interp_prim_ entry options(variable); 6 127 dcl gtss_interp_prim_$callss entry (char(4), ptr); 6 128 dcl gtss_interp_prim_$sysret entry options(variable); 6 129 dcl gtss_interp_prim_$t_goto entry (char(4)); 6 130 dcl gtss_ios_change_size_ entry (fixed bin(24), fixed bin(24), bit(1), fixed bin(24), fixed bin(35)); 6 131 dcl gtss_ios_close_ entry (fixed bin(24), ptr, fixed bin(35)); 6 132 dcl gtss_ios_exchange_names_ entry (fixed bin(24), fixed bin(24), fixed bin(24), fixed bin(35)); 6 133 dcl gtss_ios_initialize_ entry options(variable); 6 134 dcl gtss_ios_io_ entry (fixed bin(24), ptr, ptr, fixed bin(24), fixed bin(24), fixed bin(35)); 6 135 dcl gtss_ios_open_ entry (fixed bin(24), char(168), char(32), bit(6), bit(1), ptr, ptr, fixed bin(35)); 6 136 dcl gtss_ios_position_ entry (fixed bin(24), fixed bin(24), fixed bin(24), bit(6), ptr); 6 137 dcl gtss_mcfc_$delete entry (fixed bin(24), char(*), char(*), bit(36) aligned, ptr, fixed bin(35)); 6 138 dcl gtss_mcfc_$open entry (char(*), char(*), bit(6), bit(36) aligned, ptr, fixed bin(35)); 6 139 dcl gtss_mcfc_$close entry (char(*), char(*), bit(36) aligned, ptr, fixed bin(35)); 6 140 dcl gtss_read_starCFP_ entry (ptr, ptr, fixed bin(21), fixed bin(21), fixed bin(35)); 6 141 dcl gtss_read_starCFP_$last_os entry (ptr, ptr, fixed bin(21), fixed bin(21), fixed bin(35)); 6 142 dcl gtss_run_subsystem_ entry (fixed bin(24)); 6 143 dcl gtss_run_subsystem_$finish entry options(variable); 6 144 dcl gtss_run_subsystem_$restor entry (fixed bin(24), ptr); 6 145 dcl gtss_run_subsystem_$restor_perm entry (fixed bin(24), ptr, fixed bin(18)); 6 146 dcl gtss_set_slave_ entry (fixed bin (24), ptr); 6 147 dcl gtss_set_slave_$load_bar entry (fixed bin (17)); 6 148 dcl gtss_update_safe_store_ entry (ptr); 6 149 dcl gtss_verify_access_ entry (char(*), char(*), fixed bin(24), bit(6), bit(12) aligned); 6 150 dcl gtss_verify_access_$check_forced_access entry (char(*), char(*), fixed bin(24)); 6 151 dcl gtss_write_starCFP_ entry (ptr, ptr, fixed bin(21), fixed bin(35)); 6 152 /* END INCLUDE FILE gtss_entry_dcls.incl.pl1 */ 453 454 7 1 /* BEGIN INCLUDE FILE gtss_ust_ext_.incl.pl1 */ 7 2 /* UST: User Status Table 7 3* definitions based on 7 4* System Tables, Order number DD14-01E, January 1981 7 5* Section 15, Time Sharing System 7 6* 7 7* Authors: Robert J. Grimes Created 7 8* - Albert N. Kepner 1978 7 9* - Robert M. May 7 10* - David B. Ward 7 11* Change: Dave Ward 02/23/79 Level 4 numbering. 7 12* Change: Ron Barstad 83-07-12 Repaired damaged formating and word offset comments 7 13* Brought up to 4JS3 functionality 7 14**/ 7 15 /* octal word offsets of entries */ 7 16 dcl 1 gtss_ust_ext_$ust aligned ext, 7 17 3 gtss_ust, 7 18 /* 0-1 */ 4 lid bit (72), 7 19 /* 2 */ 4 lstp bit (36), 7 20 /* 3 */ 4 ltin bit (36), 7 21 /* 4 */ 4 lstio, 7 22 5 no_of_chars_by_8 fixed bin (18) uns unal, 7 23 5 no_of_disk_io fixed bin (18) uns unal, 7 24 /* 5 */ 4 lsnub bit (36), 7 25 /* 6-7 */ 4 lchg bit (72), 7 26 /* 10 */ 4 lbuf, 7 27 5 address bit (18)unaligned, 7 28 5 tally bit (1)unaligned, 7 29 5 terminal_type bit (5)unaligned, 7 30 5 station_id bit (12)unaligned, 7 31 /* 11-12 */ 4 liost (0:1) bit (36), 7 32 /* 13 */ 4 lcc bit (36), 7 33 /* 14 */ 4 lback, 7 34 5 fill1 bit (18) unaligned, 7 35 5 gwake fixed bin (17) unaligned, 7 36 /* 15 */ 4 lflag, 7 37 5 mp_list bit (18) unaligned, 7 38 5 flags unaligned, 7 39 6 b18 bit (1) unaligned, 7 40 6 b19 bit (1) unaligned, 7 41 6 b20 bit (1) unaligned, 7 42 6 b21 bit (1) unaligned, 7 43 6 b22 bit (1) unaligned, 7 44 6 b23 bit (1) unaligned, 7 45 6 b24 bit (1) unaligned, 7 46 6 b25 bit (1) unaligned, 7 47 6 b26 bit (1) unaligned, 7 48 6 b27 bit (1) unaligned, 7 49 6 b28 bit (1) unaligned, 7 50 6 b29 bit (1) unaligned, 7 51 6 b30 bit (1) unaligned, 7 52 6 b31 bit (1) unaligned, 7 53 6 b32 bit (1) unaligned, 7 54 6 b33 bit (1) unaligned, 7 55 6 b34 bit (1) unaligned, 7 56 6 b35 bit (1) unaligned, 7 57 /* 16 */ 4 lkdss bit (36), 7 58 /* 17 */ 4 lfile, 7 59 5 program_stack fixed bin (17) unal, 7 60 5 file_list_ptr bit (18) unal, 7 61 /* 20 */ 4 lttys bit (36), 7 62 /* 21 */ 4 lswth, 7 63 5 b0 bit (1) unaligned, 7 64 5 b1 bit (1) unaligned, 7 65 5 b2 bit (1) unaligned, 7 66 5 b3 bit (1) unaligned, 7 67 5 b4 bit (1) unaligned, 7 68 5 b5 bit (1) unaligned, 7 69 5 b6 bit (1) unaligned, 7 70 5 b7 bit (1) unaligned, 7 71 5 b8 bit (1) unaligned, 7 72 5 b9 bit (1) unaligned, 7 73 5 b10 bit (1) unaligned, 7 74 5 b11 bit (1) unaligned, 7 75 5 b12 bit (1) unaligned, 7 76 5 b13 bit (1) unaligned, 7 77 5 b14 bit (1) unaligned, 7 78 5 b15 bit (1) unaligned, 7 79 5 b16 bit (1) unaligned, 7 80 5 b17 bit (1) unaligned, 7 81 5 b18 bit (1) unaligned, 7 82 5 b19 bit (1) unaligned, 7 83 5 b20 bit (1) unaligned, 7 84 5 b21 bit (1) unaligned, 7 85 5 b22 bit (1) unaligned, 7 86 5 b23 bit (1) unaligned, 7 87 5 b24 bit (1) unaligned, 7 88 5 b25 bit (1) unaligned, 7 89 5 b26 bit (1) unaligned, 7 90 5 b27 bit (1) unaligned, 7 91 5 b28 bit (1) unaligned, 7 92 5 b29 bit (1) unaligned, 7 93 5 b30 bit (1) unaligned, 7 94 5 b31 bit (1) unaligned, 7 95 5 b32 bit (1) unaligned, 7 96 5 b33 bit (1) unaligned, 7 97 5 b34 bit (1) unaligned, 7 98 5 b35 bit (1) unaligned, 7 99 /* 22 */ 4 lsize, 7 100 5 bar fixed bin (17) unaligned, 7 101 5 limit bit (18) unaligned, 7 102 /* 23... */ 4 lswap, 7 103 5 fill bit (18) unal, 7 104 5 size bit (18) unal, 7 105 /* ...24 */ 4 transfer_cell bit (36) unal, 7 106 /* 25 */ 4 lerrm bit (36), 7 107 /* 26-37 */ 4 lcfil (0:9) bit (36), 7 108 /* 40 */ 4 lsybc, 7 109 5 b0_17 fixed bin (17) unaligned, 7 110 5 b18_35 fixed bin (17) unaligned, 7 111 /* 41-42 */ 4 lstem (0:1) bit (36), 7 112 /* 43 */ 4 lcals, 7 113 5 b0_17 fixed bin (17) unaligned, 7 114 5 b18_35 bit (18) unaligned, 7 115 /* 44-51 */ 4 subsystems (3), 7 116 5 content_lswap, 7 117 6 fill bit (18) unal, 7 118 6 size bit (18) unal, 7 119 5 tally_address fixed bin (17) unaligned, 7 120 5 ss_flags bit (18) unaligned, 7 121 /* 52 */ 4 ltalc, 7 122 5 tod fixed bin (17) unaligned, 7 123 5 startup fixed bin (17) unaligned, 7 124 /* 53 */ 4 lspts fixed bin (35), 7 125 /* 54 */ 4 lflg2, 7 126 5 b0 bit (1) unaligned, 7 127 5 b1 bit (1) unaligned, 7 128 5 b2 bit (1) unaligned, 7 129 5 b3 bit (1) unaligned, 7 130 5 b4 bit (1) unaligned, 7 131 5 b5 bit (1) unaligned, 7 132 5 b6 bit (1) unaligned, 7 133 5 b7 bit (1) unaligned, 7 134 5 b8 bit (1) unaligned, 7 135 5 b9 bit (1) unaligned, 7 136 5 b10 bit (1) unaligned, 7 137 5 b11 bit (1) unaligned, 7 138 5 b12 bit (1) unaligned, 7 139 5 b13 bit (1) unaligned, 7 140 5 b14 bit (1) unaligned, 7 141 5 b15 bit (1) unaligned, 7 142 5 b16 bit (1) unaligned, 7 143 5 b17 bit (1) unaligned, 7 144 5 b18 bit (1) unaligned, 7 145 5 b19 bit (1) unaligned, 7 146 5 b20 bit (1) unaligned, 7 147 5 b21 bit (1) unaligned, 7 148 5 b22 bit (1) unaligned, 7 149 5 b23 bit (1) unaligned, 7 150 5 b24 bit (1) unaligned, 7 151 5 b25 bit (1) unaligned, 7 152 5 b26 bit (1) unaligned, 7 153 5 b27 bit (1) unaligned, 7 154 5 b28 bit (1) unaligned, 7 155 5 b29 bit (1) unaligned, 7 156 5 b30 bit (1) unaligned, 7 157 5 b31 bit (1) unaligned, 7 158 5 b32 bit (1) unaligned, 7 159 5 b33 bit (1) unaligned, 7 160 5 b34 bit (1) unaligned, 7 161 5 b35 bit (1) unaligned, 7 162 /* 55-60 */ 4 lsftm (0:3) bit (36), 7 163 /* 61 */ 4 lsprt fixed bin (35), 7 164 /* 62 */ 4 ltrm bit (36), 7 165 /* 63 */ 4 linno fixed bin (35), 7 166 /* 64 */ 4 lincr fixed bin (35), 7 167 /* 65 */ 4 ltdes bit (36), 7 168 /* 66 */ 4 lbptr bit (36), 7 169 /* 67 */ 4 lpptr, 7 170 5 last_file_pat_ptr bin (18) uns unal, 7 171 5 lpptr_reserved bin (18) uns unal, 7 172 /* 70 */ 4 lsclp bit (36), 7 173 /* 71 */ 4 limit fixed bin (35), 7 174 /* 72 */ 4 lacpt, 7 175 5 jout_pat_offset bit (18) unal, 7 176 5 permissions unal, 7 177 6 lodx bit (1) unal, 7 178 6 cardin bit (1) unal, 7 179 6 talk bit (1) unal, 7 180 6 lods bit (1) unal, 7 181 5 cardin_urgency bit (14) unal, 7 182 /* 73 */ 4 ldrl, 7 183 5 ilc bit (18) unaligned, 7 184 5 code fixed bin (17) unaligned, 7 185 /* 74 */ 4 ljsnb bit (36), 7 186 /* 75 */ 4 ltm0 bit (36), 7 187 /* 76 */ 4 ltm1 bit (36), 7 188 /* 77 */ 4 ltm2 bit (36), 7 189 /* 100 */ 4 ltm3 bit (36), 7 190 /* 101 */ 4 ltm4 bit (36), 7 191 /* 102 */ 4 ltm5 bit (36), 7 192 /* 103 */ 4 ltmwt bit (36), 7 193 /* 104 */ 4 ltmrs bit (36), 7 194 /* 105 */ 4 ltc0 bit (36), 7 195 /* 106 */ 4 ltc1 bit (36), 7 196 /* 107 */ 4 ltc2 bit (36), 7 197 /* 110 */ 4 lct3 bit (36), 7 198 /* 111 */ 4 ltc4 bit (36), 7 199 /* 112 */ 4 ltc5 bit (36), 7 200 /* 113 */ 4 ltcw bit (36), 7 201 /* 114 */ 4 lkst bit (36), 7 202 /* 115 */ 4 lkst2 bit (36), 7 203 /* 116 */ 4 lkcc bit (36), 7 204 /* 117 */ 4 lkms bit (36), 7 205 /* 120-121 */ 4 lksdc (0:1) bit (36), 7 206 /* 122 */ 4 lkntp bit (36), 7 207 /* 123 */ 4 lkrdc bit (36), 7 208 /* 124 */ 4 lpqf bit (36), 7 209 /* 125 */ 4 lpqb bit (36), 7 210 /* 126 */ 4 lustl bit (36), 7 211 /* 127 */ 4 ltemp bit (36), 7 212 /* 130 */ 4 lrtll, 7 213 5 word_length fixed bin unaligned, 7 214 5 char_length fixed bin unaligned, 7 215 /* 131 */ 4 ltim bit (36), 7 216 /* 132 */ 4 lcfio, 7 217 5 sect_out fixed bin(18)unsigned unal, 7 218 5 sect_in fixed bin(18)unsigned unal, 7 219 /* 133 */ 4 lcfst, 7 220 5 initial_sect_out fixed bin(18)unsigned unal, 7 221 5 start_term fixed bin(18)unsigned unal, 7 222 /* 134 */ 4 lcmpt bit (36), 7 223 /* 135 */ 4 lcjid bit (36), 7 224 /* 136-137 */ 4 lrcal (0:1) bit (36), 7 225 /* 140 */ 4 lrdta bit (36), 7 226 /* 141 */ 4 lrrsk bit (36), 7 227 /* 142 */ 4 lrskd bit (36), 7 228 /* 143 */ 4 lrcc bit (36), 7 229 /* 144-145 */ 4 lrsts (0:1) bit (36), 7 230 /* 146 */ 4 lrtm bit (36), 7 231 /* 147 */ 4 lswt2, 7 232 5 b0 bit (1) unaligned, 7 233 5 b1 bit (1) unaligned, 7 234 5 b2 bit (1) unaligned, 7 235 5 b3 bit (1) unaligned, 7 236 5 b4 bit (1) unaligned, 7 237 5 b5 bit (1) unaligned, 7 238 5 b6 bit (1) unaligned, 7 239 5 b7 bit (1) unaligned, 7 240 5 b8 bit (1) unaligned, 7 241 5 b9 bit (1) unaligned, 7 242 5 b10 bit (1) unaligned, 7 243 5 b11 bit (1) unaligned, 7 244 5 b12 bit (1) unaligned, 7 245 5 b13 bit (1) unaligned, 7 246 5 b14 bit (1) unaligned, 7 247 5 b15 bit (1) unaligned, 7 248 5 b16 bit (1) unaligned, 7 249 5 b17 bit (1) unaligned, 7 250 5 b18 bit (1) unaligned, 7 251 5 b19 bit (1) unaligned, 7 252 5 b20 bit (1) unaligned, 7 253 5 b21 bit (1) unaligned, 7 254 5 b22 bit (1) unaligned, 7 255 5 b23 bit (1) unaligned, 7 256 5 b24 bit (1) unaligned, 7 257 5 b25 bit (1) unaligned, 7 258 5 b26 bit (1) unaligned, 7 259 5 b27 bit (1) unaligned, 7 260 5 b28 bit (1) unaligned, 7 261 5 b29 bit (1) unaligned, 7 262 5 b30 bit (1) unaligned, 7 263 5 b31 bit (1) unaligned, 7 264 5 b32 bit (1) unaligned, 7 265 5 b33 bit (1) unaligned, 7 266 5 b34 bit (1) unaligned, 7 267 5 b35 bit (1) unaligned, 7 268 /* 150 */ 4 llsnb bit (36), 7 269 /* 151 */ 4 lesq bit (36), 7 270 /* 152-153 */ 4 lumc (0:1) bit (36), 7 271 /* 154-155 */ 4 lfnam (0:1) bit (36), 7 272 /* 156 */ 4 lopts bit (36), 7 273 /* 157 */ 4 licec, 7 274 5 b0_17 bit (18) unaligned, 7 275 5 b18_35 fixed bin (17) unaligned, 7 276 /* 160 */ 4 lflg3, 7 277 5 b0 bit (1) unaligned, 7 278 5 b1 bit (1) unaligned, 7 279 5 b2 bit (1) unaligned, 7 280 5 b3 bit (1) unaligned, 7 281 5 b4 bit (1) unaligned, 7 282 5 b5 bit (1) unaligned, 7 283 5 b6 bit (1) unaligned, 7 284 5 b7 bit (1) unaligned, 7 285 5 b8 bit (1) unaligned, 7 286 5 b9 bit (1) unaligned, 7 287 5 b10 bit (1) unaligned, 7 288 5 b11 bit (1) unaligned, 7 289 5 b12 bit (1) unaligned, 7 290 5 b13 bit (1) unaligned, 7 291 5 b14 bit (1) unaligned, 7 292 5 b15 bit (1) unaligned, 7 293 5 b16 bit (1) unaligned, 7 294 5 b17 bit (1) unaligned, 7 295 5 b18 bit (1) unaligned, 7 296 5 b19 bit (1) unaligned, 7 297 5 b20 bit (1) unaligned, 7 298 5 b21 bit (1) unaligned, 7 299 5 b22 bit (1) unaligned, 7 300 5 b23 bit (1) unaligned, 7 301 5 b24 bit (1) unaligned, 7 302 5 b25 bit (1) unaligned, 7 303 5 b26 bit (1) unaligned, 7 304 5 b27 bit (1) unaligned, 7 305 5 b28 bit (1) unaligned, 7 306 5 b29 bit (1) unaligned, 7 307 5 b30 bit (1) unaligned, 7 308 5 b31 bit (1) unaligned, 7 309 5 b32 bit (1) unaligned, 7 310 5 b33 bit (1) unaligned, 7 311 5 b34 bit (1) unaligned, 7 312 5 b35 bit (1) unaligned, 7 313 /* 161-163 */ 4 lpage (0:2) bit (36), 7 314 /* 164 */ 4 lsit1 bit (36), 7 315 /* 165 */ 4 lsit2 bit (36), 7 316 /* 166 */ 4 lsit3 bit (36), 7 317 /* 167 */ 4 lsit4 bit (36), 7 318 /* The following entries are maintained by gtss and are not found in TSS UST */ 7 319 /* 170 */ 4 lxxx, /* program stack index, offset from gtss_ust */ 7 320 5 b0_17 fixed bin (17) unaligned, 7 321 5 b18_35 bit (18) unaligned, /* not used */ 7 322 /* 171-175 */ 4 lprgs (5), 7 323 5 b0_17 fixed bin (17) unaligned, 7 324 5 b18_35 fixed bin (17) unaligned, 7 325 /* 176 */ 4 fill bit (36), 7 326 /* 177 */ 4 remote_io_buffer aligned, 7 327 5 buffer_control_word, 7 328 6 current_line_pointer bit (18)unal, 7 329 6 buffer_threshold_address bit (18)unal, 7 330 5 number_words_transmitted fixed bin (17)unal, 7 331 5 FILL1 fixed bin (17)unal, 7 332 5 count_of_characters_transmitted fixed bin (17)unal, 7 333 5 FILL2 fixed bin (17)unal, 7 334 5 characters_transmitted (244) char (1) unal, 7 335 /* 277 */ 4 word_after_ust bit (36) aligned; 7 336 7 337 /* END INCLUDE FILE gtss_ust_ext_.incl.pl1 */ 455 456 8 1 /* BEGIN INCLUDE FILE gse_ext_.incl.pl1 */ 8 2 /* 8 3* Created: Kepner 78-12-01 8 4**/ 8 5 8 6 dcl gse_ext_$drm_rule fixed bin(24) ext; 8 7 8 8 /* $drm_rule: 8 9* 0 => rule not set 8 10* 1 => umc_dir_mode 8 11* 2 => working_dir_mode 8 12* 3 => smc_dir_mode 8 13**/ 8 14 8 15 dcl gse_ext_$gcos_debug_pathname char(168) /* pathname for the gcos debugger control file */ ext; 8 16 dcl gse_ext_$smc_pathname char(168) /* root directory used with smc_dir mapping rule */ ext; 8 17 dcl gse_ext_$umc_name char(12) /* User Master Catalog name specified by user with gse command */ ext; 8 18 dcl 1 gse_ext_$modes aligned ext, 8 19 3 ast bit(01) unal, /* 1 => use asterisk as prompt character */ 8 20 3 drl bit(01) unal, /* 1 => cause trace info on each derail to be printed */ 8 21 3 gdb bit(01) unal, /* 1 => use gcos debugger (gdb) */ 8 22 3 mcmd bit(01) unal, /* 1 => allow use of e request at GTSS command level */ 8 23 3 mquit bit(01) unal, /* 1 => quit causes entry to new Multics command level */ 8 24 3 ss bit(01) unal, /* 1 => cause trace info on each subsystem to be printed */ 8 25 3 fill bit(30) unal; 8 26 8 27 /* END INCLUDE FILE gse_ext_.incl.pl1 */ 457 458 9 1 /* BEGIN INCLUDE FILE gtss_spa.incl.pl1 */ 9 2 /* 9 3* Created: (Grimes SMP) 04/15/78 9 4* Changed 6/22/78 A. Kepner add labrt 9 5* Changed 6/28/78 D. Ward lwrap defined (lrap) 9 6* Changed 10/16/79 Al Dupuis lsztm was off by two words. 9 7* Changed 84-02-27 Ron Barstad added hex ir bit 9 8* */ 9 9 dcl 1 gtss_spa aligned based (gseg), 9 10 3 fault_vector (0:9) bit(36), 9 11 3 lhstr char (8) unal, 9 12 3 lbrk, 9 13 4 ic bit(18) unal, 9 14 4 ir bit(18) unal, 9 15 4 tra_addr bit(18) unal, 9 16 4 tra_op bit(18) unal, 9 17 3 fill1 (0:1) bit(36), 9 18 3 lsztm, 9 19 4 ic_ir, 9 20 5 IC bit(18)unal, 9 21 5 IR bit(16)unal, 9 22 5 b34 bit(1)unal, 9 23 5 b35 bit(1)unal, 9 24 4 tra bit(36)unal, 9 25 3 losti unal, 9 26 4 ilc bit(18) unal, 9 27 4 ir unal, /* INDICATOR REGISTERS */ 9 28 5 zero bit(1) unal, /* zero indicator */ 9 29 5 neg bit(1) unal, /* negative indicator */ 9 30 5 carry bit(1) unal, /* carryry indicator */ 9 31 5 ovfl bit(1) unal, /* overflow indicator */ 9 32 5 eovf bit(1) unal, /* eponent overflow */ 9 33 5 eufl bit(1) unal, /* exponent underflow */ 9 34 5 oflm bit(1) unal, /* overflow mask */ 9 35 5 tro bit(1) unal, /* tally runout */ 9 36 5 par bit(1) unal, /* parity error */ 9 37 5 parm bit(1) unal, /* parity mask */ 9 38 5 bm bit(1) unal, /* ^bar mode */ 9 39 5 tru bit(1) unal, /* truncation mode */ 9 40 5 mif bit(1) unal, /* multi-word instruction mode */ 9 41 5 abs bit(1) unal, /* absolute mode */ 9 42 5 hex bit(1) unal, /* hexadecimalexponent mode */ 9 43 5 pad bit(3) unal, 9 44 3 lnam bit(36), /* Library name (bcd). */ 9 45 3 labrt, 9 46 4 b0_17 bit(18) unal, 9 47 4 b18_35 fixed bin (17) unal, 9 48 3 fill2 bit(36), 9 49 3 lfig bit(36), 9 50 3 lwrap, 9 51 5 b0_17 bit(1) unal, 9 52 5 b18 bit(1) unal, 9 53 5 b19 bit(1) unal, 9 54 5 b20 bit(1) unal, 9 55 5 b21 bit(1) unal, 9 56 5 b22 bit(1) unal, 9 57 5 b23 bit(1) unal, 9 58 5 b24 bit(1) unal, 9 59 5 b25 bit(1) unal, 9 60 5 b26 bit(1) unal, 9 61 5 b27 bit(1) unal, 9 62 5 b28 bit(1) unal, 9 63 5 b29 bit(1) unal, 9 64 5 b30 bit(1) unal, 9 65 5 b31 bit(1) unal, 9 66 5 b32 bit(1) unal, 9 67 5 b33 bit(1) unal, 9 68 5 b34 bit(1) unal, 9 69 5 b35 bit(1) unal, 9 70 3 lsid bit(36), 9 71 3 lftst bit(36), 9 72 3 lpcal (0:3) bit(36), 9 73 3 lpcnt fixed bin (35) unal, 9 74 3 lhole, 9 75 4 high fixed bin (17) unal, 9 76 4 total fixed bin (17) unal, 9 77 3 lostr unal, 9 78 4 regs unal, /* registers */ 9 79 5 x (0:7) bit(18) unal, /* index registers */ 9 80 5 a bit(36), /* accumulator */ 9 81 5 q bit(36), /* q-register */ 9 82 5 e bit(8) unal, /* exponent */ 9 83 5 pad1 bit(28) unal, 9 84 5 t bit(27) unal, /* timer register */ 9 85 5 pad2 bit(6) unal, 9 86 5 ralr bit(3) unal, /* ring alarm register */ 9 87 3 leisa (0:7) bit(36), 9 88 3 leisp (0:7) bit(36), 9 89 3 fill3 (0:35) bit(36); 9 90 9 91 /* END INCLUDE FILE gtss_spa.incl.pl1 */ 459 460 end gtss_fault_processor_ ; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 12/10/84 1027.5 gtss_fault_processor_.pl1 >spec>on>7105>gtss_fault_processor_.pl1 443 1 05/06/74 1741.0 cond_info.incl.pl1 >ldd>include>cond_info.incl.pl1 445 2 03/11/83 1204.3 query_info_.incl.pl1 >ldd>include>query_info.incl.pl1 447 3 12/10/84 1029.8 gtss_pnterr.incl.pl1 >spec>on>7105>gtss_pnterr.incl.pl1 449 4 12/15/83 1100.4 mc.incl.pl1 >ldd>include>mc.incl.pl1 451 5 09/09/83 1713.8 gtss_ext_.incl.pl1 >ldd>include>gtss_ext_.incl.pl1 453 6 12/10/84 1029.7 gtss_entry_dcls.incl.pl1 >spec>on>7105>gtss_entry_dcls.incl.pl1 455 7 09/09/83 1714.3 gtss_ust_ext_.incl.pl1 >ldd>include>gtss_ust_ext_.incl.pl1 457 8 09/09/83 1713.4 gse_ext_.incl.pl1 >ldd>include>gse_ext_.incl.pl1 459 9 12/10/84 1029.8 gtss_spa.incl.pl1 >spec>on>7105>gtss_spa.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. IC 20 based bit(18) level 4 packed unaligned dcl 9-9 set ref 318* IR 20(18) based bit(16) level 4 packed unaligned dcl 9-9 set ref 319* RSW2 004024 constant bit(12) initial unaligned dcl 356 ref 96 a 24 based bit(36) level 3 packed unaligned dcl 4-12 set ref 98* accum_stat based bit(36) dcl 358 set ref 218* 218 223* 312* 312 313* addr builtin function dcl 359 ref 54 54 62 75 76 229 229 287 303 306 307 318 319 addrel builtin function dcl 360 ref 123 217 222 311 answer_iocbp 6 000214 automatic pointer initial level 2 dcl 2-7 set ref 2-7* b35 20(35) based bit(1) level 4 packed unaligned dcl 9-9 set ref 305* b8 54(08) 000056 external static bit(1) level 4 packed unaligned dcl 7-16 ref 281 code 000100 automatic fixed bin(35,0) dcl 362 set ref 54* 55 56* 84* 85 86* com_err_ 000036 constant entry external dcl 6-8 ref 56 86 294 334 347 cond_info 000162 automatic structure level 1 dcl 442 set ref 54 54 condition_interpreter_ 000010 constant entry external dcl 364 ref 232 260 condition_name 3 000162 automatic varying char(32) level 2 dcl 442 set ref 68 70 232 260 continue_to_signal_ 000012 constant entry external dcl 365 ref 84 cp_escape_control 1(02) 000214 automatic bit(2) initial level 3 packed unaligned dcl 2-7 set ref 2-7* cput 000102 stack reference condition dcl 366 ref 274 296 323 349 cu 5(18) based structure level 2 packed unaligned dcl 4-56 derail_in_progress 000110 automatic bit(1) initial unaligned dcl 367 set ref 300* 324 329 367* err16 273(18) 000306 constant char(50) initial level 2 packed unaligned dcl 3-9 ref 167 err17 310 000306 constant char(50) initial level 2 packed unaligned dcl 3-9 ref 137 err18 324(18) 000306 constant char(50) initial level 2 packed unaligned dcl 3-9 ref 146 err19 341 000306 constant char(50) initial level 2 packed unaligned dcl 3-9 ref 113 err20 355(18) 000306 constant char(50) initial level 2 packed unaligned dcl 3-9 ref 191 err27 505 000306 constant char(50) initial level 2 packed unaligned dcl 3-9 ref 203 err44 1031(18) 000306 constant char(50) initial level 2 packed unaligned dcl 3-9 ref 183 err53 1212 000306 constant char(50) initial level 2 packed unaligned dcl 3-9 ref 175 err55 1243 000306 constant char(50) initial level 2 packed unaligned dcl 3-9 ref 105 err63 1407 000306 constant char(50) initial level 2 packed unaligned dcl 3-9 ref 257 explanation_len 14 000214 automatic fixed bin(21,0) initial level 2 dcl 2-7 set ref 2-7* explanation_ptr 12 000214 automatic pointer initial level 2 dcl 2-7 set ref 2-7* fault_flags 000111 automatic bit(18) unaligned dcl 368 set ref 154* 159* 164* 195* 218 308* 312 fault_name parameter char unaligned dcl 369 ref 270 fault_type 000112 automatic fixed bin(6,0) dcl 370 set ref 107* 115* 139* 148* 169* 177* 185* 193* 205* 223 259* 310* 313 fault_vector 000113 automatic fixed bin(17,0) dcl 371 set ref 108* 116* 140* 149* 170* 178* 186* 194* 206* 224 229 229 248* 248 249 fault_word based bit(36) unaligned dcl 372 ref 96 faults 000026 constant structure array level 1 dcl 416 ref 69 faultv based structure level 1 dcl 406 find_condition_info_ 000014 constant entry external dcl 373 ref 54 fixed builtin function dcl 375 ref 75 99 233 233 306 gcos_debug_$breaktime 000016 constant entry external dcl 377 ref 126 gcos_error_code 000114 automatic fixed bin(18,0) dcl 376 set ref 106* 114* 138* 147* 168* 176* 184* 192* 204* 233* 258* 261* 309* gdb 0(02) 000060 external static bit(1) level 2 packed unaligned dcl 8-18 ref 121 gse_ext_$modes 000060 external static structure level 1 dcl 8-18 gseg 000116 automatic pointer dcl 378 set ref 122* 123 286* 305 314 314 314 318 319 320 gtss_abort_subsystem_ 000040 constant entry external dcl 6-15 ref 233 261 gtss_abs_$cpu_runout 000042 constant entry external dcl 6-20 ref 346 346 gtss_abs_$dabt_check 000044 constant entry external dcl 6-22 ref 276 276 gtss_ext_$bad_drl_rtrn 000024 external static label variable dcl 5-9 ref 324 gtss_ext_$dispose_of_drl 000026 external static label variable dcl 5-12 ref 324 329 gtss_ext_$flags 000034 external static structure level 1 dcl 5-60 gtss_ext_$gtss_slave_area_seg 000030 external static pointer array dcl 5-20 ref 72 122 217 222 224 229 229 286 288 311 gtss_ext_$stack_level_ 000032 external static fixed bin(17,0) dcl 5-31 ref 72 122 217 222 224 229 229 286 288 311 gtss_fail 000120 stack reference condition dcl 379 ref 58 88 gtss_fault_processor_$timer_runout 000050 constant entry external dcl 6-111 ref 327 327 gtss_find_cond_frame_ 000046 constant entry external dcl 6-110 ref 291 gtss_interp_prim_$sysret 000052 constant entry external dcl 6-128 ref 297 337 350 gtss_pnterr 000306 constant structure level 1 packed unaligned dcl 3-9 gtss_spa based structure level 1 dcl 9-9 gtss_update_safe_store_ 000054 constant entry external dcl 6-148 ref 66 101 304 322 gtss_ust 000056 external static structure level 2 dcl 7-16 gtss_ust_ext_$ust 000056 external static structure level 1 dcl 7-16 hbound builtin function dcl 380 ref 69 i 000126 automatic fixed bin(17,0) dcl 381 set ref 69* 70 78* 232* 260* i_opcode 0(18) based bit(9) level 2 packed unaligned dcl 410 ref 124 i_ptr 000130 automatic pointer dcl 382 set ref 123* 124 ic based fixed bin(17,0) level 2 packed unaligned dcl 406 set ref 75* 306* 318 ic_i 000132 automatic bit(36) dcl 383 set ref 75 76 224 306 307 318 319 ic_ir 20 based structure level 3 dcl 9-9 if 5(29) based bit(1) level 3 packed unaligned dcl 4-56 set ref 100* 238* 250* 265* 321* ilc 4 based bit(18) level 2 packed unaligned dcl 4-56 set ref 75 99* 99 123 233 233 249* 306 320* ind 0(18) based bit(18) level 2 packed unaligned dcl 406 set ref 76* 307* 319 infoptr 14 000162 automatic pointer level 2 dcl 442 set ref 232* 260* initial_sect_out 133 000056 external static fixed bin(18,0) level 4 packed unsigned unaligned dcl 7-16 ref 284 instruction based structure level 1 dcl 410 ir 4(18) based structure level 2 packed unaligned dcl 4-56 ref 76 307 lcfio 132 000056 external static structure level 3 dcl 7-16 lcfst 133 000056 external static structure level 3 dcl 7-16 lcjid 135 000056 external static bit(36) level 3 dcl 7-16 ref 276 lflg2 54 000056 external static structure level 3 dcl 7-16 limit 22(18) 000056 external static bit(18) level 4 packed unaligned dcl 7-16 ref 228 314 literal_sw 1(05) 000214 automatic bit(1) initial level 3 packed unaligned dcl 2-7 set ref 2-7* loc_ptr 20 000162 automatic pointer level 2 dcl 442 set ref 96 lower_limit 000133 automatic bit(18) unaligned dcl 387 set ref 227* 229 lsize 22 000056 external static structure level 3 dcl 7-16 lsztm 20 based structure level 2 dcl 9-9 mc based structure level 1 dcl 4-12 mcp 000232 automatic pointer dcl 4-10 set ref 63* 98 101* 275* 287 291* 292 303 304* 322* mcpp parameter pointer dcl 388 ref 270 275 mcptr 000162 automatic pointer level 2 dcl 442 set ref 60 62 63 66* 232* 233* 260* 261* null builtin function dcl 390 ref 54 54 60 232 232 260 260 292 2-7 2-7 2-7 p 000134 automatic pointer dcl 391 set ref 217* 218 218 222* 223 232* 260* 311* 312 312 313 padding 1(07) 000214 automatic bit(29) initial level 3 packed unaligned dcl 2-7 set ref 2-7* pnterr_mess 000136 automatic varying char(70) initial dcl 392 set ref 105* 113* 137* 146* 167* 175* 183* 191* 203* 233* 257* 261* 392* ppr based structure level 2 packed unaligned dcl 4-56 prefix_vector based bit(36) array dcl 393 set ref 224* 229 229 prompt_after_explanation 1(06) 000214 automatic bit(1) initial level 3 packed unaligned dcl 2-7 set ref 2-7* psr 0(03) based bit(15) level 3 packed unaligned dcl 4-56 ref 72 288 query_code 3 000214 automatic fixed bin(35,0) initial level 2 dcl 2-7 set ref 2-7* query_info 000214 automatic structure level 1 dcl 2-7 question_iocbp 4 000214 automatic pointer initial level 2 dcl 2-7 set ref 2-7* regs 20 based structure level 2 packed unaligned dcl 4-12 repeat_time 10 000214 automatic fixed bin(71,0) initial level 2 dcl 2-7 set ref 2-7* rfi 5(27) based bit(1) level 3 packed unaligned dcl 4-56 set ref 100* 238* 250* 265* 321* scu based structure level 1 dcl 4-56 in procedure "gtss_fault_processor_" scu 30 based bit(36) array level 2 in structure "mc" packed unaligned dcl 4-12 in procedure "gtss_fault_processor_" set ref 62 287 303 scup 000234 automatic pointer dcl 4-54 set ref 62* 72 75 76 99 99 100 100 123 233 233 238 238 249 250 250 265 265 287* 288 303* 306 307 320 321 321 sect_in 132(18) 000056 external static fixed bin(18,0) level 4 packed unsigned unaligned dcl 7-16 set ref 284* start_term 133(18) 000056 external static fixed bin(18,0) level 4 packed unsigned unaligned dcl 7-16 set ref 283* status_code 2 000214 automatic fixed bin(35,0) initial level 2 dcl 2-7 set ref 2-7* string builtin function dcl 395 ref 76 307 318 substr builtin function dcl 396 set ref 68 72 96 223* 249 288 313* 314 314 319 320 suppress_name_sw 1(01) 000214 automatic bit(1) initial level 3 packed unaligned dcl 2-7 set ref 2-7* suppress_spacing 1(04) 000214 automatic bit(1) initial level 3 packed unaligned dcl 2-7 set ref 2-7* switches 1 000214 automatic structure level 2 dcl 2-7 timer_manager_$cpu_call 000020 constant entry external dcl 397 ref 327 timer_manager_$reset_cpu_call 000022 constant entry external dcl 398 ref 276 346 timer_ranout 0(05) 000034 external static bit(1) level 2 packed unaligned dcl 5-60 set ref 278 280* tra 21 based bit(36) level 3 packed unaligned dcl 9-9 ref 314 314 314 320 tra_addr based bit(18) level 2 packed unaligned dcl 402 ref 229 229 transfer based structure level 1 dcl 402 type 000026 constant char(32) initial array level 2 dcl 416 ref 70 unspec builtin function dcl 399 ref 249 upper_limit 000161 automatic bit(18) unaligned dcl 400 set ref 228* 229 version 2 000162 automatic fixed bin(17,0) level 2 dcl 442 set ref 53* wcptr 16 000162 automatic pointer level 2 dcl 442 set ref 232* 260* yes_or_no_sw 1 000214 automatic bit(1) initial level 3 packed unaligned dcl 2-7 set ref 2-7* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. abort_code automatic varying char(20) dcl 357 abx internal static fixed bin(17,0) initial dcl 4-42 answer automatic varying char(4) dcl 361 apx internal static fixed bin(17,0) initial dcl 4-42 bbx internal static fixed bin(17,0) initial dcl 4-42 bpx internal static fixed bin(17,0) initial dcl 4-42 command_query_ 000000 constant entry external dcl 363 find_condition_frame_ 000000 constant entry external dcl 374 gse_ext_$drm_rule external static fixed bin(24,0) dcl 8-6 gse_ext_$gcos_debug_pathname external static char(168) unaligned dcl 8-15 gse_ext_$smc_pathname external static char(168) unaligned dcl 8-16 gse_ext_$umc_name external static char(12) unaligned dcl 8-17 gtss_CFP_abort_ 000000 constant entry external dcl 6-9 gtss_CFP_break_ 000000 constant entry external dcl 6-10 gtss_CFP_input_ 000000 constant entry external dcl 6-11 gtss_CFP_output_ 000000 constant entry external dcl 6-12 gtss_abandon_CFP_ 000000 constant entry external dcl 6-13 gtss_abort_dump_ 000000 constant entry external dcl 6-14 gtss_abort_subsystem_$not_imp 000000 constant entry external dcl 6-16 gtss_abs_$abs_equiv 000000 constant entry external dcl 6-19 gtss_abs_$create_absin 000000 constant entry external dcl 6-21 gtss_abs_$get_drm 000000 constant entry external dcl 6-24 gtss_abs_$get_id 000000 constant entry external dcl 6-23 gtss_abs_login_banner_ 000000 constant entry external dcl 6-17 gtss_abs_logout_banner_ 000000 constant entry external dcl 6-18 gtss_adjust_size_ 000000 constant entry external dcl 6-25 gtss_aft_$add 000000 constant entry external dcl 6-26 gtss_aft_$delete 000000 constant entry external dcl 6-27 gtss_aft_$find 000000 constant entry external dcl 6-28 gtss_aft_$initialize 000000 constant entry external dcl 6-29 gtss_ascii_bcd_ 000000 constant entry external dcl 6-30 gtss_attributes_mgr_$get 000000 constant entry external dcl 6-31 gtss_attributes_mgr_$set 000000 constant entry external dcl 6-32 gtss_bcd_ascii_ 000000 constant entry external dcl 6-33 gtss_bcd_ascii_$lc 000000 constant entry external dcl 6-34 gtss_break_vector_ 000000 constant entry external dcl 6-35 gtss_break_vector_$drl_in_progress 000000 constant entry external dcl 6-36 gtss_break_vector_$status 000000 constant entry external dcl 6-37 gtss_build_ 000000 constant entry external dcl 6-38 gtss_com_err_ 000000 constant entry external dcl 6-39 gtss_derail_processor_ 000000 constant entry external dcl 6-40 gtss_derail_processor_$set 000000 constant entry external dcl 6-41 gtss_dq_$catp 000000 constant entry external dcl 6-42 gtss_dq_$create 000000 constant entry external dcl 6-43 gtss_dq_$dibp 000000 constant entry external dcl 6-44 gtss_dq_$entries_info 000000 constant entry external dcl 6-45 gtss_dq_$hdrp 000000 constant entry external dcl 6-46 gtss_dq_$mod_js 000000 constant entry external dcl 6-47 gtss_dq_$open_exc 000000 constant entry external dcl 6-48 gtss_dq_$open_gen 000000 constant entry external dcl 6-49 gtss_drl_abort_ 000000 constant entry external dcl 6-50 gtss_drl_addmem_ 000000 constant entry external dcl 6-51 gtss_drl_callss_ 000000 constant entry external dcl 6-52 gtss_drl_corfil_ 000000 constant entry external dcl 6-53 gtss_drl_defil_ 000000 constant entry external dcl 6-54 gtss_drl_defil_$subr 000000 constant entry external dcl 6-55 gtss_drl_dio_ 000000 constant entry external dcl 6-56 gtss_drl_drlimt_ 000000 constant entry external dcl 6-57 gtss_drl_drlsav_ 000000 constant entry external dcl 6-58 gtss_drl_filact_ 000000 constant entry external dcl 6-59 gtss_drl_filsp_ 000000 constant entry external dcl 6-60 gtss_drl_grow_ 000000 constant entry external dcl 6-61 gtss_drl_gwake_ 000000 constant entry external dcl 6-62 gtss_drl_jsts_ 000000 constant entry external dcl 6-63 gtss_drl_kin_ 000000 constant entry external dcl 6-64 gtss_drl_kotnow_ 000000 constant entry external dcl 6-65 gtss_drl_kotnow_$gtss_drl_kout_ 000000 constant entry external dcl 6-66 gtss_drl_koutn_ 000000 constant entry external dcl 6-67 gtss_drl_morlnk_ 000000 constant entry external dcl 6-68 gtss_drl_msub_ 000000 constant entry external dcl 6-69 gtss_drl_objtim_ 000000 constant entry external dcl 6-70 gtss_drl_part_ 000000 constant entry external dcl 6-71 gtss_drl_pasaft_ 000000 constant entry external dcl 6-72 gtss_drl_pasdes_ 000000 constant entry external dcl 6-73 gtss_drl_pasust_ 000000 constant entry external dcl 6-74 gtss_drl_pdio_ 000000 constant entry external dcl 6-75 gtss_drl_prgdes_ 000000 constant entry external dcl 6-76 gtss_drl_pseudo_ 000000 constant entry external dcl 6-77 gtss_drl_relmem_ 000000 constant entry external dcl 6-78 gtss_drl_restor_ 000000 constant entry external dcl 6-79 gtss_drl_retfil_ 000000 constant entry external dcl 6-80 gtss_drl_return_ 000000 constant entry external dcl 6-81 gtss_drl_rew_ 000000 constant entry external dcl 6-82 gtss_drl_rstswh_ 000000 constant entry external dcl 6-83 gtss_drl_setlno_ 000000 constant entry external dcl 6-84 gtss_drl_setswh_ 000000 constant entry external dcl 6-85 gtss_drl_snumb_ 000000 constant entry external dcl 6-86 gtss_drl_spawn_ 000000 constant entry external dcl 6-87 gtss_drl_spawn_$gtss_drl_pasflr_ 000000 constant entry external dcl 6-88 gtss_drl_stoppt_ 000000 constant entry external dcl 6-89 gtss_drl_switch_ 000000 constant entry external dcl 6-90 gtss_drl_sysret_ 000000 constant entry external dcl 6-91 gtss_drl_t_cfio_ 000000 constant entry external dcl 6-92 gtss_drl_t_cmov_ 000000 constant entry external dcl 6-93 gtss_drl_t_err_ 000000 constant entry external dcl 6-94 gtss_drl_t_goto_ 000000 constant entry external dcl 6-95 gtss_drl_t_linl_ 000000 constant entry external dcl 6-96 gtss_drl_t_rscc_ 000000 constant entry external dcl 6-97 gtss_drl_tapein_ 000000 constant entry external dcl 6-98 gtss_drl_task_ 000000 constant entry external dcl 6-99 gtss_drl_termtp_ 000000 constant entry external dcl 6-100 gtss_drl_time_ 000000 constant entry external dcl 6-101 gtss_drun_ 000000 constant entry external dcl 6-102 gtss_dsd_lookup_ 000000 constant entry external dcl 6-103 gtss_dsd_process_ 000000 constant entry external dcl 6-104 gtss_edit_dsd_ 000000 constant entry external dcl 6-105 gtss_expand_pathname_ 000000 constant entry external dcl 6-107 gtss_expand_pathname_$verify_umc 000000 constant entry external dcl 6-108 gtss_ext_$CFP_bits external static structure level 1 dcl 5-37 gtss_ext_$SYstarstar_file_no external static fixed bin(24,0) dcl 5-33 gtss_ext_$aem external static fixed bin(17,0) dcl 5-8 gtss_ext_$aft external static structure level 1 dcl 5-78 gtss_ext_$com_reg external static structure level 1 dcl 5-45 gtss_ext_$db external static bit(1) array unaligned dcl 5-10 gtss_ext_$deferred_catalogs_ptr external static pointer dcl 5-11 gtss_ext_$drl_rtrn external static label variable array dcl 5-13 gtss_ext_$drm_path external static char(168) unaligned dcl 5-14 gtss_ext_$drun_jid external static char(5) unaligned dcl 5-15 gtss_ext_$event_channel external static fixed bin(71,0) dcl 5-16 gtss_ext_$fast_lib external static structure level 1 dcl 5-98 gtss_ext_$finished external static label variable dcl 5-17 gtss_ext_$gdb_name external static char(8) unaligned dcl 5-18 gtss_ext_$get_line external static entry variable dcl 5-19 gtss_ext_$hcs_work_area_ptr external static pointer dcl 5-21 gtss_ext_$homedir external static char(64) unaligned dcl 5-22 gtss_ext_$last_k_was_out external static bit(1) dcl 5-23 gtss_ext_$mcfc external static structure level 1 dcl 5-109 gtss_ext_$pdir external static varying char(168) dcl 5-24 gtss_ext_$popup_from_pi external static label variable dcl 5-25 gtss_ext_$ppt external static pointer dcl 5-94 gtss_ext_$process_type external static fixed bin(17,0) dcl 5-26 gtss_ext_$put_chars external static entry variable dcl 5-27 gtss_ext_$restart_from_pi external static label variable dcl 5-28 gtss_ext_$restart_seg_ptr external static pointer dcl 5-29 gtss_ext_$sig_ptr external static pointer dcl 5-30 gtss_ext_$statistics external static structure level 1 dcl 5-72 gtss_ext_$suspended_process external static bit(1) unaligned dcl 5-32 gtss_ext_$user_id external static varying char(26) dcl 5-34 gtss_ext_$work_area_ptr external static pointer dcl 5-35 gtss_fault_processor_ 000000 constant entry external dcl 6-109 gtss_filact_error_status_ 000000 constant entry external dcl 6-112 gtss_filact_funct02_ 000000 constant entry external dcl 6-113 gtss_filact_funct03_ 000000 constant entry external dcl 6-114 gtss_filact_funct04_ 000000 constant entry external dcl 6-115 gtss_filact_funct05_ 000000 constant entry external dcl 6-116 gtss_filact_funct08_ 000000 constant entry external dcl 6-117 gtss_filact_funct10_ 000000 constant entry external dcl 6-118 gtss_filact_funct11_ 000000 constant entry external dcl 6-119 gtss_filact_funct14_ 000000 constant entry external dcl 6-120 gtss_filact_funct18_ 000000 constant entry external dcl 6-121 gtss_filact_funct19_ 000000 constant entry external dcl 6-122 gtss_filact_funct21_ 000000 constant entry external dcl 6-123 gtss_filact_funct22_ 000000 constant entry external dcl 6-124 gtss_interp_prim_ 000000 constant entry external dcl 6-126 gtss_interp_prim_$callss 000000 constant entry external dcl 6-127 gtss_interp_prim_$t_goto 000000 constant entry external dcl 6-129 gtss_ios_change_size_ 000000 constant entry external dcl 6-130 gtss_ios_close_ 000000 constant entry external dcl 6-131 gtss_ios_exchange_names_ 000000 constant entry external dcl 6-132 gtss_ios_initialize_ 000000 constant entry external dcl 6-133 gtss_ios_io_ 000000 constant entry external dcl 6-134 gtss_ios_open_ 000000 constant entry external dcl 6-135 gtss_ios_position_ 000000 constant entry external dcl 6-136 gtss_mcfc_$close 000000 constant entry external dcl 6-139 gtss_mcfc_$delete 000000 constant entry external dcl 6-137 gtss_mcfc_$open 000000 constant entry external dcl 6-138 gtss_mcfc_empty 000000 constant entry external dcl 6-106 gtss_mcfc_init_ 000000 constant entry external dcl 6-125 gtss_read_starCFP_ 000000 constant entry external dcl 6-140 gtss_read_starCFP_$last_os 000000 constant entry external dcl 6-141 gtss_run_subsystem_ 000000 constant entry external dcl 6-142 gtss_run_subsystem_$finish 000000 constant entry external dcl 6-143 gtss_run_subsystem_$restor 000000 constant entry external dcl 6-144 gtss_run_subsystem_$restor_perm 000000 constant entry external dcl 6-145 gtss_set_slave_ 000000 constant entry external dcl 6-146 gtss_set_slave_$load_bar 000000 constant entry external dcl 6-147 gtss_verify_access_ 000000 constant entry external dcl 6-149 gtss_verify_access_$check_forced_access 000000 constant entry external dcl 6-150 gtss_write_starCFP_ 000000 constant entry external dcl 6-151 initialized internal static bit(1) initial unaligned dcl 384 ioa_ 000000 constant entry external dcl 385 j automatic fixed bin(17,0) dcl 386 lbx internal static fixed bin(17,0) initial dcl 4-42 lpx internal static fixed bin(17,0) initial dcl 4-42 nop internal static bit(36) initial dcl 389 query_info_version_3 internal static fixed bin(17,0) initial dcl 2-33 query_info_version_4 internal static fixed bin(17,0) initial dcl 2-34 query_info_version_5 internal static fixed bin(17,0) initial dcl 2-35 query_info_version_6 internal static fixed bin(17,0) initial dcl 2-36 sbx internal static fixed bin(17,0) initial dcl 4-42 scux based structure level 1 dcl 4-207 sp automatic pointer dcl 394 spx internal static fixed bin(17,0) initial dcl 4-42 NAMES DECLARED BY EXPLICIT CONTEXT. abrt 003031 constant label dcl 231 common_flow 002662 constant label dcl 166 ref 155 160 fault 000000 constant label array(22) dcl 82 set ref 78 gtss_fault_processor_ 002235 constant entry external dcl 14 pass_it_on 002433 constant label dcl 83 ref 60 68 72 shut_down 003744 constant label dcl 342 ref 278 timer_runout 003314 constant entry external dcl 270 user_fault 002773 constant label dcl 220 ref 109 117 141 150 179 187 207 user_faultx 002764 constant label dcl 216 set ref 171 196 NAMES DECLARED BY CONTEXT OR IMPLICATION. baseno builtin function ref 72 288 binary builtin function ref 227 314 bit builtin function ref 99 223 227 313 314 318 STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 4342 4424 4030 4352 Length 5026 4030 62 365 311 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME gtss_fault_processor_ 250 external procedure is an external procedure. on unit on line 274 64 on unit STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME gtss_fault_processor_ 000100 code gtss_fault_processor_ 000110 derail_in_progress gtss_fault_processor_ 000111 fault_flags gtss_fault_processor_ 000112 fault_type gtss_fault_processor_ 000113 fault_vector gtss_fault_processor_ 000114 gcos_error_code gtss_fault_processor_ 000116 gseg gtss_fault_processor_ 000126 i gtss_fault_processor_ 000130 i_ptr gtss_fault_processor_ 000132 ic_i gtss_fault_processor_ 000133 lower_limit gtss_fault_processor_ 000134 p gtss_fault_processor_ 000136 pnterr_mess gtss_fault_processor_ 000161 upper_limit gtss_fault_processor_ 000162 cond_info gtss_fault_processor_ 000214 query_info gtss_fault_processor_ 000232 mcp gtss_fault_processor_ 000234 scup gtss_fault_processor_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. alloc_cs call_ext_out_desc call_ext_out return tra_label_var signal enable shorten_stack ext_entry ext_entry_desc int_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. com_err_ condition_interpreter_ continue_to_signal_ find_condition_info_ gcos_debug_$breaktime gtss_abort_subsystem_ gtss_abs_$cpu_runout gtss_abs_$dabt_check gtss_fault_processor_$timer_runout gtss_find_cond_frame_ gtss_interp_prim_$sysret gtss_update_safe_store_ timer_manager_$cpu_call timer_manager_$reset_cpu_call THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. gse_ext_$modes gtss_ext_$bad_drl_rtrn gtss_ext_$dispose_of_drl gtss_ext_$flags gtss_ext_$gtss_slave_area_seg gtss_ext_$stack_level_ gtss_ust_ext_$ust LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 367 002174 392 002175 2 7 002202 14 002234 53 002243 54 002245 55 002264 56 002266 58 002315 60 002320 62 002324 63 002327 66 002331 68 002340 69 002360 70 002367 72 002376 75 002416 76 002424 78 002426 80 002430 82 002432 83 002433 84 002434 85 002443 86 002445 88 002474 90 002477 94 002500 96 002501 98 002506 99 002510 100 002520 101 002524 102 002532 105 002533 106 002540 107 002542 108 002544 109 002545 112 002546 113 002547 114 002554 115 002556 116 002560 117 002562 120 002563 121 002564 122 002567 123 002572 124 002577 126 002604 127 002610 132 002611 133 002612 134 002613 135 002614 136 002615 137 002616 138 002623 139 002625 140 002627 141 002630 144 002631 145 002632 146 002633 147 002640 148 002642 149 002644 150 002646 153 002647 154 002650 155 002652 158 002653 159 002654 160 002656 163 002657 164 002660 166 002662 167 002663 168 002670 169 002672 170 002674 171 002676 174 002677 175 002700 176 002705 177 002707 178 002711 179 002712 182 002713 183 002714 184 002721 185 002723 186 002725 187 002726 190 002727 191 002730 192 002735 193 002737 194 002741 195 002743 196 002745 199 002746 200 002747 201 002750 202 002751 203 002752 204 002757 205 002761 206 002762 207 002763 216 002764 217 002765 218 002771 220 002773 222 002774 223 003000 224 003005 227 003011 228 003016 229 003022 231 003031 232 003032 233 003105 238 003145 239 003152 248 003153 249 003154 250 003157 251 003163 256 003164 257 003165 258 003172 259 003174 260 003176 261 003251 265 003302 266 003307 270 003310 274 003330 275 003345 276 003351 278 003367 280 003373 281 003375 283 003401 284 003403 286 003407 287 003414 288 003417 291 003433 292 003450 294 003454 296 003501 297 003502 298 003507 300 003510 303 003512 304 003515 305 003524 306 003527 307 003535 308 003537 309 003541 310 003543 311 003545 312 003554 313 003557 314 003564 318 003605 319 003614 320 003620 321 003622 322 003626 323 003634 324 003635 327 003652 329 003675 334 003703 337 003736 338 003743 342 003744 346 003745 347 003757 349 004004 350 004005 351 004012 ----------------------------------------------------------- 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