COMPILATION LISTING OF SEGMENT azm_requests_1_ Compiled by: Multics PL/I Compiler, Release 30, of February 16, 1988 Compiled at: Honeywell Bull, Phoenix AZ, SysM Compiled on: 07/20/88 1021.2 mst Wed Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Bull Inc., 1987 * 4* * * 5* * Copyright, (C) Honeywell Information Systems Inc., 1983 * 6* * * 7* *********************************************************** */ 8 9 10 /****^ HISTORY COMMENTS: 11* 1) change(87-01-14,Parisek), approve(87-07-09,MCR7746), 12* audit(87-07-17,Fawcett), install(87-07-28,MR12.1-1049): 13* Check online libraries for segment when "display" cannot locate it in the 14* translation_table (when instruction format is not wanted). Print message 15* stating seg was not found in fdump, then display data from online copy. 16* (phx19329). 17* 2) change(87-01-16,Parisek), approve(87-07-09,MCR7746), 18* audit(87-07-17,Fawcett), install(87-07-28,MR12.1-1049): 19* Bypass call to amu_$fdump_mpt_revert_idx if segment was previously 20* replaced by another segment (via "replace" request) so the subsequent 21* call to amu_$get_name_ will return the replaced segment path. 22* 3) change(87-02-24,Parisek), approve(87-07-09,MCR7746), 23* audit(87-07-17,Fawcett), install(87-07-28,MR12.1-1049): 24* If structure name given with display -as is "dte" then interpret it as 25* ioi_dte as defined in the structure_names info segment. 26* END HISTORY COMMENTS */ 27 28 29 azm_requests_1_: proc (); 30 31 return; /* not an entrypoint */ 32 33 /* format: style4,delnl,insnl,ifthenstmt,indnoniterend,ifthendo,ifthen,^thendo */ 34 35 36 /* Assorted requests for analyze_multics. */ 37 38 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 39 /* */ 40 /* 0) Created: 06/25/83 by B. Braun to divide up old azm_misc_requests_. This module */ 41 /* contains the requests apte, aste, machine_conditions, list_processes, select_process, */ 42 /* history_regs, apply, display, display_absolute, sdw, configuration_deck. */ 43 /* */ 44 /* Modified 19 Jan 84 by BLB changes to machine_conditions so -prds and -pds accept long */ 45 /* names (phx16722), interprets a virt-addr better (phx16723) drop EIS data from default */ 46 /* mc output (phx16724), fix mc -dump so doesn't fault thru invalid ptr. */ 47 /* Modified 19 Jan 84 by BLB changes to list_processes so -count in AF works (phx16580) */ 48 /* Modified 03 Oct 84 by BLB to fix "mc -anything -pds". */ 49 /* Modified 18 Oct 84 by BLB to fix aste to work with unpaged_page_tables. */ 50 /* Modified 08 Nov 84 by BLB to fix display AF error message. */ 51 /* Modified 21 Jan 85 by BLB to fix sdw request, to print all sdws, not just ones where */ 52 /* the directed fault bit is on. */ 53 /* Modified March 86 by P. Leatherman to fix core map entry offset. */ 54 /* Modified March 86 by P. Leatherman to fix pointers arg to the mc request. */ 55 /* Modified March 86 by P. Leatherman to have the display command say if the segment */ 56 /* isn't in the dump and then search hardcore for it. */ 57 /* */ 58 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 59 60 dcl ( 61 P_sci_ptr pointer, 62 P_azm_info_ptr pointer 63 ) parameter; 64 65 /* Automatic */ 66 67 dcl PTWF char (32); 68 dcl af_sw bit (1) aligned; 69 dcl arg_position fixed bin; 70 dcl all_sw bit (1); 71 dcl axp ptr init (null); 72 dcl apte_array_ptr ptr; 73 dcl apte_array_index fixed bin; 74 dcl apte_offset fixed bin (18); 75 dcl argl fixed bin (21); 76 dcl argno fixed bin; 77 dcl argp pointer; 78 dcl axstring char (9) init (""); 79 dcl bd_sdw fixed bin (24); 80 dcl bitcount fixed bin(35); 81 dcl block fixed bin; 82 dcl brief_sw bit (1) init ("0"b); 83 dcl cleanup condition; 84 dcl cdevadd char (16); 85 dcl coremaptr ptr; 86 dcl code fixed bin (35); 87 dcl command_arg fixed bin; 88 dcl cond_frame bit (1); 89 dcl config_arg_str char (256) var; 90 dcl core_add fixed (18); 91 dcl configp ptr init (null); 92 dcl copy_ptr pointer; 93 dcl cpu_name char (1); 94 dcl cpu_sw bit(1); 95 dcl cur_sw bit(1); 96 dcl cur_erf bit (1) init ("0"b); 97 dcl ct_sw bit(1); 98 dcl data_buf_ptr ptr; 99 dcl dbr fixed bin (24); 100 dcl dbr_sw bit(1); 101 dcl del_cur_erf bit (1) init ("0"b); 102 dcl del_erf bit (1) init ("0"b); 103 dcl devadd bit (22); 104 dcl devadd_nulled_flag bit (1) defined (devadd); 105 dcl devadd_record_no bit (18) defined (devadd); 106 dcl devadd_add_type bit (4) defined (devadd) pos (19); 107 dcl dir_name char (168); 108 dcl dir_name_lth fixed bin; 109 dcl dir_sw bit (1) init ("0"b); 110 dcl display_ptr pointer; 111 dcl display_size fixed bin (18); 112 dcl dsegp ptr init (null); 113 dcl erfs_found bit (1) init ("0"b); 114 dcl entryname char (32); 115 dcl expand_ptr_sw bit (1) init ("0"b); 116 dcl expand_sw bit (1) init ("0"b); /* "1"b = expand syserr binary data */ 117 dcl interpreted_hregs bit (1); 118 dcl fdevadd fixed (18); 119 dcl first fixed bin (18); 120 dcl first_segno fixed bin; 121 dcl first1 fixed bin (18); 122 dcl first_erf bit (1) init ("0"b); 123 dcl first_ptr_arg fixed bin; 124 dcl first_value_set bit (1) init ("0"b); 125 dcl forward_search bit (1) init ("0"b); 126 dcl frame_entry bit (1) init ("0"b); 127 dcl 1 hard_ptr_space like hardcore_cur; 128 dcl header_sw bit(1); 129 dcl hdr_printed bit (1) init ("0"b); 130 dcl hold_index fixed bin; 131 dcl hr_switches bit (5); 132 dcl hregs_from_dump bit (1); 133 dcl hregs_from_pds bit (1); 134 dcl hregs_fm_ptrval bit (1); 135 dcl ignore fixed bin; 136 dcl index_changed bit (1); 137 dcl is_wired bit (1); 138 dcl is_paged bit (1); 139 dcl (i, k) fixed bin; /* for iterations */ 140 dcl last fixed bin init (0); 141 dcl last_erf bit (1) init ("0"b); 142 dcl last_ptw bit (36); 143 dcl last_segno fixed bin; 144 dcl list_erfs bit (1) init ("0"b); 145 dcl list_state(0:6) bit(1); 146 dcl ll fixed bin init (0); 147 dcl ln fixed bin init (0); 148 dcl long_sw bit (1); 149 dcl match_names (10) char (32) varying; 150 dcl match_str char (256) var init (""); /* the syserr string to match on */ 151 dcl mc_from_ptrval bit (1); 152 153 dcl 1 mc_area like mc; 154 dcl mc_arg bit (36) aligned; /* place in stack to keep the arg bits passed to azm_display_mc_ */ 155 dcl mcp_fim_sw bit (1); 156 dcl mcp_pgflt_sw bit (1); 157 dcl mcp_sig_sw bit (1); 158 dcl mcpr_fim_sw bit (1); 159 dcl mcpr_int_sw bit (1); 160 dcl mcpr_systroub_sw bit (1); 161 dcl mem_addr fixed bin (24); 162 dcl mem_dump bit (1); 163 164 dcl 1 modes_sw aligned, 165 2 char_sw bit (1) unal, 166 2 inst_sw bit (1) unal, 167 2 bcd_sw bit (1) unal, 168 2 ptr_sw bit (1) unal, 169 2 pptr_sw bit (1) unal, 170 2 bit4_sw bit (1) unal, 171 2 ebcdic8_sw bit (1) unal, 172 2 ebcdic9_sw bit (1) unal; 173 dcl mem_tag fixed bin; 174 dcl n_match_names fixed bin; 175 dcl n_subscripts fixed bin; 176 dcl nargs fixed bin; 177 dcl new_range fixed bin (21); 178 dcl next_erf bit (1) init ("0"b); 179 dcl no_aste_tr_info bit(1); 180 dcl offset fixed bin (18); 181 dcl only_au bit (1); 182 dcl only_cu bit (1); 183 dcl only_du bit (1); 184 dcl only_ou bit (1); 185 dcl octal_sw bit(1); 186 dcl outername char (32); 187 dcl pidbit bit(36); 188 dcl pid fixed bin(36); 189 dcl pcd_args char (256); 190 dcl pcd_argsp ptr; 191 dcl pcd_args_len fixed bin (21); 192 dcl pds_sw bit (1); 193 dcl prev_erf bit (1) init ("0"b); 194 dcl prds_sw bit (1); 195 dcl print_all_trans bit (1) init ("0"b); 196 dcl proc_ptr pointer; 197 dcl procl fixed bin(21); 198 dcl proc_sw bit(1); 199 dcl process_idx fixed bin; 200 dcl pts fixed bin (24); 201 dcl pvtx_name char (16) varying; 202 dcl range fixed bin (18); 203 dcl range1 fixed bin (18); 204 dcl range_value_set bit (1) init ("0"b); 205 dcl raw_syserr_data bit (1) init ("0"b); /* "1"b = print it in octal */ 206 dcl real_address fixed bin (35); 207 dcl reason char (80) var; 208 dcl repeat_ bit (1); 209 dcl ret_str char (168) var init (""); 210 dcl rv_lth fixed bin (21); 211 dcl rv_ptr ptr; 212 dcl sci_ptr pointer; /* assorted info pointers */ 213 dcl sdw_address fixed bin(26); 214 dcl segln fixed bin (35) init (0); 215 dcl segno fixed bin; 216 dcl segno1 fixed bin; 217 dcl sigstp ptr; 218 dcl slog_code fixed bin init (3); /* the syserr_code, default to =< 3 */ 219 dcl sptp ptr; 220 dcl start_configp ptr init (null); 221 dcl str char (16); 222 dcl struct_name char (256) varying; 223 dcl struct_sw bit (1) init ("0"b); 224 dcl subscripts (2, 16) fixed bin (24); 225 dcl symbol_ptr ptr; 226 dcl t_pr_name char (4); 227 dcl temp_name char (32); 228 dcl temp_num fixed bin; 229 dcl temp_ptr ptr; 230 dcl temp_ptr1 ptr; 231 dcl temp_range fixed bin (18); 232 dcl temp_str char (24) var init (""); 233 dcl threaded_hregs bit (1); 234 dcl tally_states (0:6) fixed bin; 235 dcl totals_only bit(1); 236 dcl trailer_sw bit (1); 237 dcl unsubscripted_name char (256); 238 dcl vs char (99) varying; 239 dcl why_erf bit (1) init ("0"b); 240 241 242 /* Based */ 243 244 dcl 1 apte_array (apte_array_index) based (apte_array_ptr), 245 2 ptr ptr, 246 2 off fixed bin (18), 247 2 index fixed bin; 248 249 dcl arg char (argl) based (argp); 250 dcl proc_arg char (procl) based (proc_ptr); 251 dcl pt_word fixed based (ptp); 252 dcl ret_ptr ptr based (data_buf_ptr); 253 dcl rv_str char (rv_lth) varying based (rv_ptr); 254 dcl RS (range) bit (36) based (data_buf_ptr); 255 dcl RSP (range) ptr aligned based (data_buf_ptr); 256 dcl RSPP (range) ptr unal based (data_buf_ptr); 257 258 dcl 1 sig_stack like signaller_stack based (sigstp); 259 260 261 /* Constants */ 262 263 dcl CPU_NAME char (8) init ("abcdefgh") internal static options (constant); 264 265 dcl (RUN init(1), 266 RDY init(2), 267 WAIT init(3), 268 BLK init(4), 269 STP init(5), 270 PTL init(6)) 271 fixed bin int static options (constant); 272 273 dcl process_st (0:6) char (9) varying int static options (constant) 274 init ("empty", "running", "ready", "waiting", "blocked", "stopped", "ptlocking"); 275 276 /* Builtins */ 277 278 dcl (addr, addrel, baseno, baseptr, 279 char, convert, divide, fixed, hbound, 280 index, lbound, length, ltrim, mod, null, 281 pointer, rel, rtrim, size, substr, unspec) builtin; 282 283 /* Conditions */ 284 285 286 287 /* External Entries */ 288 289 dcl adjust_bit_count_ entry (char(168), char(32), bit(1) aligned, fixed bin(35), fixed bin(35)); 290 dcl amu_$definition_ptr entry (ptr, char (*), char (*), fixed bin (35)) returns (ptr); 291 dcl amu_$definition_set_from entry (ptr, char (*), ptr, fixed bin (35)); 292 dcl amu_$definition_get_prn entry (ptr, char (*), ptr, fixed bin (35)); 293 dcl amu_$definition_set_prn entry (ptr, char (*), fixed bin, fixed bin (18), fixed bin (35)); 294 dcl amu_$do_translation entry (ptr, fixed bin, ptr, fixed bin (18), fixed bin (18), fixed bin (35)); 295 dcl amu_$do_translation_hunt_ptr entry (ptr, ptr, ptr, fixed bin (35)); 296 dcl amu_$do_translation_hunt entry (ptr, fixed bin, ptr, fixed bin (18), fixed bin (18), fixed bin (35)); 297 dcl amu_$error_for_caller entry () options (variable); 298 dcl amu_$fdump_mpt_fill_proc_table entry (ptr, fixed bin (24), fixed bin, char (1), bit(1), fixed bin (35)); 299 dcl amu_$fdump_mpt_current_process entry (ptr); 300 dcl amu_$fdump_mpt_current_process_af entry (ptr, ptr, fixed bin (21)); 301 dcl amu_$fdump_mpt_temp_change_idx entry (ptr, fixed bin); 302 dcl amu_$fdump_mpt_change_idx entry (ptr, fixed bin); 303 dcl amu_$fdump_mpt_revert_idx entry (ptr); 304 dcl amu_$fdump_translate_to_temp_seg entry (ptr, ptr, ptr, fixed bin (35)); 305 dcl amu_$get_name_no_comp entry (ptr, ptr) returns (char (*)); 306 dcl amu_$get_name entry (ptr, ptr) returns (char (*)); 307 dcl amu_$get_segno_from_name entry (ptr, ptr, char(*), fixed bin, fixed bin(35)); 308 dcl amu_$get_va_args entry (ptr, ptr, ptr, fixed bin, ptr); 309 dcl amu_$get_va_args_given_start entry (ptr, ptr, ptr, fixed bin, fixed bin, ptr); 310 dcl amu_$hardcore_info_set_cur_ptrs entry (ptr, ptr); 311 dcl amu_$print_char_dump entry (ptr, fixed bin (18), fixed bin (18)); 312 dcl amu_$print_char_dump_af entry (ptr, fixed bin (18), fixed bin (18), ptr, fixed bin(21)); 313 dcl amu_$print_apte entry (ptr, ptr, fixed bin (18), fixed bin); 314 dcl amu_$print_dump_oct entry (ptr, fixed bin (18), fixed bin (18)); 315 dcl amu_$print_dump_pptr entry (ptr, fixed bin (18), fixed bin (18)); 316 dcl amu_$print_dump_pptr_exp entry (ptr, ptr, fixed bin (18), fixed bin (18)); 317 dcl amu_$print_dump_ptr entry (ptr, fixed bin (18), fixed bin (18)); 318 dcl amu_$print_dump_ptr_exp entry (ptr, ptr, fixed bin (18), fixed bin (18)); 319 dcl amu_$print_inst_dump entry (ptr, fixed bin (18), fixed bin (18)); 320 dcl amu_$return_val_per_process entry (ptr, fixed bin) returns (bit (1)); 321 dcl amu_$slt_search_seg_ptr entry (ptr, ptr, char (32), ptr, fixed bin (35)); 322 dcl amu_$tc_data_get_apt_entry entry (ptr, fixed bin, bit(36), fixed bin(18), ptr, fixed bin); 323 dcl amu_$tc_data_get_dbr entry (ptr, fixed bin (18), fixed bin (24)); 324 dcl amu_$translate_get entry (ptr, fixed bin, ptr, fixed bin (35)); 325 dcl amu_$translate_force_add entry (ptr, ptr, fixed bin, fixed bin (35)); 326 dcl display_data_$for_azm entry (pointer, bit (*) aligned, (*) char (*) varying, fixed bin, pointer, 327 pointer, fixed bin (18), pointer, pointer, (2, *) fixed bin (24), fixed bin, fixed bin (35)); 328 dcl azm_display_mc_ entry (ptr, ptr, ptr, ptr, fixed bin (35)); 329 dcl azm_dump_mem_ entry (ptr, fixed bin (24), fixed bin, fixed bin, fixed bin (18), fixed bin, bit (1), bit (1), fixed bin (35)); 330 dcl azm_find_mem_box_$bf entry (ptr, fixed bin (35), fixed bin, fixed bin (18), fixed bin (35)); 331 dcl hran_$bos_no_thread entry (ptr, ptr, bit (5)); 332 dcl hran_$hran_bos entry (ptr, ptr, bit (1)); 333 dcl hran_$hranl entry (ptr, ptr, bit (1)); 334 dcl hran_$no_thread entry (ptr, ptr, bit (5)); 335 dcl azm_str_util_ entry (ptr, bit (18), fixed bin (35)); 336 dcl cu_$cp entry (ptr, fixed bin (21), fixed bin (35)); 337 dcl (cv_dec_check_, cv_oct_check_) entry (char (*), fixed bin (35)) returns (fixed bin (35)); 338 dcl date_time_ entry (fixed bin (71), char (*)); 339 dcl dump_segment_ entry (ptr, ptr, fixed bin, fixed bin(18), fixed bin(18), bit(*)); 340 dcl dump_segment_$string entry (ptr, fixed bin(21), ptr, fixed bin, fixed bin(18), fixed bin(18), bit(*)); 341 dcl get_line_length_$switch entry (ptr, fixed bin (35)) returns (fixed bin); 342 dcl hcs_$fs_get_path_name entry (ptr, char (*), fixed bin, char (*), fixed bin (35)); 343 dcl ( 344 ioa_, 345 ioa_$nnl, 346 ioa_$rsnnl 347 ) entry options (variable); 348 dcl iox_$user_output ptr ext static; 349 dcl ssu_$abort_line entry options (variable); 350 dcl ssu_$apply_request_util entry (ptr, fixed bin, ptr, fixed bin (21), fixed bin (21)); 351 dcl ssu_$arg_count entry (pointer, fixed bin, bit (1) aligned); 352 dcl ssu_$arg_ptr entry (pointer, fixed bin, pointer, fixed bin (21)); 353 dcl ssu_$get_temp_segment entry (ptr, char(*), ptr); 354 dcl ssu_$print_message entry options (variable); 355 dcl ssu_$release_temp_segment entry (ptr, ptr); 356 dcl ssu_$return_arg entry (ptr, fixed bin, bit (1) aligned, ptr, fixed bin (21)); 357 dcl ssu_$get_subsystem_and_request_name 358 entry (ptr) returns(char(72) var); 359 dcl structure_ref_$parse entry (char (*), char (*), char (*), 360 (2, *) fixed bin (24), fixed bin, (*) char (*) varying, fixed bin, fixed bin (35)); 361 dcl structure_find_$search entry (char (*), pointer, fixed bin (35)); 362 dcl sys_info$max_seg_size fixed bin (35) ext static; 363 364 /* error codes */ 365 366 dcl amu_et_$big_idx fixed bin (35) external static; 367 dcl amu_et_$dbr_not_found fixed bin (35) external static; 368 dcl amu_et_$free_core fixed bin (35) external static; 369 dcl amu_et_$invalid_segno fixed bin (35) ext static; 370 dcl amu_et_$neg_range fixed bin (35) ext static; 371 dcl amu_et_$no_translation fixed bin (35) ext static; 372 dcl amu_et_$not_implemented fixed bin (35) ext static; 373 dcl amu_et_$not_stack_seg fixed bin (35) ext static; 374 dcl amu_et_$proc_not_dumped fixed bin (35) ext static; 375 dcl amu_et_$seg_not_dumped fixed bin (35) ext static; 376 dcl error_table_$badopt fixed bin (35) external static; 377 dcl error_table_$noarg fixed bin (35) external static; 378 dcl error_table_$bad_arg fixed bin (35) external static; 379 dcl error_table_$inconsistent fixed bin (35) external static; 380 dcl error_table_$too_many_args fixed bin (35) external static; 381 382 azm_requests_1_$apte: 383 entry (P_sci_ptr, P_azm_info_ptr); 384 385 call set_up; 386 if ^trans_selected () then call ssu_$abort_line (sci_ptr, 0, "No dump selected."); 387 388 apte_array_ptr = null(); 389 on cleanup begin; 390 if apte_array_ptr ^= null () then 391 call ssu_$release_temp_segment (sci_ptr, apte_array_ptr); 392 end; 393 394 call process_common_args(); 395 396 call ssu_$get_temp_segment (sci_ptr, "azm-apt", apte_array_ptr); 397 398 if ^proc_sw & ^cur_sw then do; 399 do i = 1 to hbound(list_state, 1); 400 apte_array_index = 0; 401 if list_state(i) then do; 402 call amu_$tc_data_get_apt_entry (amu_info_ptr, i, "0"b, -1, apte_array_ptr, apte_array_index); 403 tally_states(i) = apte_array_index; 404 if apte_array_index = 0 & ^(all_sw | ct_sw) then call ioa_("No aptes in the ^a state.", process_st(i)); 405 do k = 1 to apte_array_index; 406 if ^totals_only then call amu_$print_apte (amu_info_ptr, apte_array (k).ptr, apte_array (k).off, 407 apte_array (k).index); 408 end; 409 end; 410 end; 411 if ct_sw then call print_totals(); 412 end; 413 414 else do; 415 if cur_sw then process_idx = amu_info.process_idx; 416 else call determine_process_idx(apte_offset, pid, process_idx); 417 418 if process_idx >= 0 then do; 419 if process_idx > hbound (fdump_process_table.array, 1) then 420 call ssu_$abort_line (sci_ptr, amu_et_$big_idx, "^a.", proc_arg); 421 422 hold_index = amu_info.process_idx; 423 call amu_$fdump_mpt_temp_change_idx (amu_info_ptr, hold_index); 424 call amu_$fdump_mpt_change_idx (amu_info_ptr, process_idx); 425 apte_offset = fdump_process_table.array(process_idx).apte_offset; 426 call amu_$fdump_mpt_revert_idx (amu_info_ptr); 427 end; 428 429 apte_array_index = 0; 430 call amu_$tc_data_get_apt_entry (amu_info_ptr, -1, convert(pidbit, pid), apte_offset, 431 apte_array_ptr, apte_array_index); 432 if apte_array_index = 0 & ^all_sw then call ioa_("No apte with ^[offset ^a^;process_id ^a^] found.", 433 apte_offset>0, proc_arg); 434 do i = 1 to apte_array_index; 435 call amu_$print_apte (amu_info_ptr, apte_array (i).ptr, apte_array (i).off, apte_array (i).index); 436 end; 437 end; 438 439 if apte_array_ptr ^= null() then call ssu_$release_temp_segment (sci_ptr, apte_array_ptr); 440 441 return; 442 443 azm_requests_1_$aste: 444 entry (P_sci_ptr, P_azm_info_ptr); 445 446 dcl (aste_sw, bf_sw, pt_sw) bit (1); 447 448 call set_up; 449 if ^trans_selected () then call ssu_$abort_line (sci_ptr, 0, "No dump selected."); 450 451 code = 0; 452 if nargs = 0 then call ssu_$abort_line (sci_ptr, error_table_$noarg, "^/Usage: aste segno/segname {-ctl_args}."); 453 segno = -1; 454 offset = -1; 455 aste_sw, bf_sw, pt_sw, trailer_sw, no_aste_tr_info = "0"b; 456 arg_position = 0; 457 data_buf_ptr = null; 458 on condition(cleanup) begin; 459 if data_buf_ptr ^= null() then call ssu_$release_temp_segment(sci_ptr, data_buf_ptr); 460 end; 461 462 ll = get_line_length_$switch (null (), segln); /* get terminal lin length */ 463 464 do argno = 1 to nargs; 465 call ssu_$arg_ptr (sci_ptr, argno, argp, argl); 466 467 if char(arg, 1) ^= "-" then do; /* assume it's a segno/segname */ 468 arg_position = argno; 469 end; 470 471 else if arg = "-tr" | arg = "-trailer" then trailer_sw = "1"b; 472 else if arg = "-pt" | arg = "-page_table" then pt_sw = "1"b; 473 else if arg = "-aste" then aste_sw = "1"b; 474 else if arg = "-bf" | arg = "-brief" then do; 475 aste_sw, trailer_sw = "1"b; 476 pt_sw = "0"b; 477 end; 478 else if arg = "-lg" | arg = "-long" then 479 aste_sw, trailer_sw, pt_sw = "1"b; 480 else call ssu_$abort_line (sci_ptr, error_table_$bad_arg, """^a.""", arg); 481 end; 482 483 if arg_position = 0 then call ssu_$abort_line (sci_ptr, error_table_$noarg, " Missing the segno/segname."); 484 else do; 485 call ssu_$arg_ptr (sci_ptr, arg_position, argp, argl); 486 segno = cv_oct_check_ (arg, code); 487 if code ^= 0 then do; /* see if name */ 488 if index(arg, "$|") > 0 then call ssu_$abort_line (sci_ptr, 0, 489 "Segment name is not valid. It has an offset or name is a symbol. ^a", arg); 490 call amu_$get_segno_from_name (sci_ptr, amu_info_ptr, arg, segno, code); 491 if code ^= 0 then call ssu_$abort_line (sci_ptr, code, "^a", arg); 492 end; 493 end; 494 495 hardcore_cur_ptr = addr (hard_ptr_space); 496 call amu_$hardcore_info_set_cur_ptrs (amu_info_ptr, hardcore_cur_ptr); 497 if hardcore_cur.sstp = null then do; 498 call ssu_$abort_line (sci_ptr, 0, "No sst."); 499 return; 500 end; 501 502 if ^(aste_sw | trailer_sw | pt_sw) then /* set the default */ 503 aste_sw, pt_sw = "1"b; 504 505 sstp = hardcore_cur.sstp; 506 upt_ptr = hardcore_cur.uptp; 507 call amu_$do_translation_hunt_ptr (amu_info_ptr, pointer (baseptr (hardcore_info.dseg), (2 * segno)), sdwp, 508 code); /* get a pointer to the SDW for the segment */ 509 if code ^= 0 then call ssu_$abort_line (sci_ptr, code, "Cannot get pointer to SDW for SEGNO ^o.", segno); 510 511 512 if ^(sdw.df) then call ssu_$abort_line (sci_ptr, 0, "No aste for segment ^o.", segno); 513 514 515 if sdw.unpaged then do; /* see if the segment is paged */ 516 call ioa_ ("Segment ^o is not paged.", segno); 517 return; 518 end; 519 520 sdw_address = fixed (sdw.add, 26); 521 if upt_ptr ^= null() then do; 522 if (((sdw_address > upt.upt_absloc & sdw_address < upt.upt_last_loc)) /* found in unpaged_page_tables */ 523 | ((sdw_address > upt.iupt_absloc & sdw_address < upt.iupt_last_loc))) /* found in int_unpaged_page_tables */ 524 then do; 525 no_aste_tr_info = "1"b; 526 if aste_sw | trailer_sw then call ioa_("No ^[aste^] ^[or ^]^[trailer^] info for ^a (Seg ^o).", 527 aste_sw, (aste_sw & trailer_sw), trailer_sw, 528 amu_$get_name_no_comp (amu_info_ptr, baseptr (segno)), segno); 529 end; 530 end; 531 532 if ^(no_aste_tr_info) then do; 533 astep = pointer (sstp, fixed (sdw.add, 24) - fixed (sst.ptwbase, 18) - sst.astsize); 534 /* get a pointer to the ast entry */ 535 offset = fixed (rel (astep), 18) - fixed (rel (sstp), 18); 536 call ioa_ ("ASTE For ^a (Seg ^o), at SST|^o.", amu_$get_name_no_comp (amu_info_ptr, baseptr (segno)), segno, 537 offset); 538 end; 539 540 if aste_sw & ^(no_aste_tr_info) then do; 541 first1 = sst.astsize; 542 call amu_$print_dump_oct (astep, offset, first1); 543 call amu_$slt_search_seg_ptr (hardcore_cur.sltp, hardcore_cur.sltntp, "pvt", temp_ptr, code); 544 if code ^= 0 then call ssu_$abort_line (sci_ptr, 0, "Cannot get pvt."); 545 call amu_$do_translation_hunt_ptr (amu_info_ptr, temp_ptr, pvtp, code); 546 if code ^= 0 then call ssu_$abort_line (sci_ptr, 0, "Cannot get pvt."); 547 pvt_arrayp = addr (pvt.array); 548 pvtep = addr (pvt_array (aste.pvtx)); 549 if substr (pvte.devname, 1, 3) = "dsk" then 550 call ioa_$rsnnl ("^a device ^d", pvtx_name, ln, pvte.devname, pvte.logical_area_number); 551 else pvtx_name = ""; 552 553 call ioa_ ("^/uid = ^w, vtocx ^o on pvtx ^o^[ (^a)^]", fixed (aste.uid, 35), aste.vtocx, aste.pvtx, 554 pvtx_name ^= "", pvtx_name); 555 call ioa_ ("max len ^d, ^d recs used, ^d in core, cur len ^d", fixed (aste.msl, 9), fixed (aste.records, 9), 556 fixed (aste.np, 9), fixed (aste.csl, 9)); 557 if aste.dtu then 558 call ioa_ ("Used ^a", dtc (aste.dtu)); 559 else call ioa_ ("Not updated as used."); 560 if aste.dtm then 561 call ioa_ ("Modified ^a", dtc (aste.dtm)); 562 else call ioa_ ("Not updated as modified."); 563 if aste.par_astep | aste.infl | aste.infp then 564 call ioa_ ("Par astep = ^o, Son = ^o, brother = ^o", fixed (aste.par_astep, 18), fixed (aste.infp, 18), 565 fixed (aste.infl, 18)); 566 if aste.uid = "0"b then call ioa_ ("Hardcore segno = ^o", fixed (aste.strp, 18)); 567 else if aste.strp then call ioa_ ("Trailer thread = ^o", fixed (aste.strp, 18)); 568 else call ioa_ ("No trailer thread."); 569 570 if aste.dirsw then do; 571 if aste.master_dir then 572 call ioa_ ("Aste for a master directory."); 573 else call ioa_ ("Aste for a directory."); 574 end; 575 else if aste.master_dir then call ioa_ ("Says master dir, but not directory."); 576 577 if aste.quota (0) ^= 0 | aste.quota (1) ^= 0 then 578 call ioa_ (" Quota (S D) = (^d ^d)", aste.quota (0), aste.quota (1)); 579 if aste.used (0) ^= 0 | aste.used (1) ^= 0 then 580 call ioa_ (" QUsed (S D) = (^d ^d)", aste.used (0), aste.used (1)); 581 582 vs = ""; 583 call ioa_$nnl ("^/"); 584 if aste.usedf then call vput ("usedf "); 585 if aste.init then call vput ("init "); 586 if aste.gtus then call vput ("gtus "); 587 if aste.hc then call vput ("hc "); 588 if aste.hc_sdw then call vput ("hc_sdw "); 589 if aste.any_access_on then call vput ("aaon "); 590 if aste.write_access_on then call vput ("waccon "); 591 if aste.inhibit_cache then call vput ("inhcch "); 592 if aste.explicit_deact_ok then call vput ("xdok "); 593 if aste.ehs then call vput ("ehs "); 594 if aste.nqsw then call vput ("nqsw "); 595 if aste.tqsw (0) then call vput ("seg-tqsw "); 596 if aste.tqsw (1) then call vput ("dir-tqsw "); 597 if aste.fmchanged then call vput ("fmch "); 598 if aste.fms then call vput ("fms "); 599 if aste.npfs then call vput ("npfs "); 600 if aste.gtpd then call vput ("gtpd "); 601 if aste.dnzp then call vput ("dnzp "); 602 if aste.per_process then call vput ("per_proc "); 603 if aste.fmchanged1 then call vput ("fmch1 "); 604 if aste.damaged then call vput ("damaged "); 605 if aste.ddnp then call vput ("ddnp "); 606 if aste.pack_ovfl then call vput ("oopv "); 607 608 call vput ("FLUSH"); 609 pts = sst.pts (fixed (aste.ptsi, 3)); 610 611 end; /* if aste_sw */ 612 613 if pt_sw then do; 614 /* get core map pointer */ 615 first = fixed (baseno (sstp)); 616 if first = fixed (baseno (sst.cmp)) then /* core map is in same seg as sst */ 617 coremaptr = pointer (sstp, rel (sst.cmp)); 618 else do; 619 temp_ptr1 = sst.cmp; 620 call ssu_$get_temp_segment (sci_ptr, "azm-data_buf", data_buf_ptr); 621 segno = fixed (baseno (temp_ptr1), 17); 622 first = 0; 623 range = sys_info$max_seg_size; 624 call get_data_ (data_buf_ptr, segno, first, range, code); 625 if code ^= 0 then do; 626 call ssu_$release_temp_segment(sci_ptr, data_buf_ptr); 627 call ssu_$abort_line(sci_ptr, code, ""); 628 end; 629 coremaptr = addrel (data_buf_ptr, first); 630 end; 631 632 if no_aste_tr_info then do; 633 bd_sdw = fixed (sdw.bound, 24) * 16; 634 pts = divide (bd_sdw+1023, 1024, 18); /* always round up */ 635 if ((sdw_address > upt.upt_absloc & sdw_address < upt.upt_last_loc)) then 636 sptp = addrel(upt_ptr, (sdw_address - upt.upt_absloc)); 637 else if (sdw_address > upt.iupt_absloc & sdw_address < upt.iupt_last_loc) then 638 sptp = addrel(upt_ptr, (sdw_address - upt.iupt_absloc)); 639 end; 640 else sptp = addrel (astep, size (aste)); 641 repeat_ = "0"b; 642 /* print header only if have ptws */ 643 if (pts - 1) >=0 then call ioa_ ("^/PAGE PT DEVADD PD COPY^/"); 644 do i = 0 to pts - 1 by 1; 645 ptp = addr (sptp -> ptwa (i)); 646 devadd = ptp -> mptw.devadd; 647 if i ^= 0 & i ^= pts - 1 & unspec (ptw) = last_ptw & devadd_add_type = "000"b & ^ptw.df then 648 repeat_ = "1"b; 649 else do; 650 if repeat_ then do; 651 repeat_ = "0"b; 652 call ioa_ ("===="); 653 end; 654 else ; 655 if ptw.df then do; 656 core_add = fixed (devadd_record_no); 657 core_add = divide (core_add, 16, 18, 0) + 2; 658 if coremaptr ^= null then do; 659 cmep = addr (coremaptr -> cma (core_add)); 660 devadd = cme.devadd; 661 end; 662 else devadd = "0"b; 663 end; 664 str = ""; 665 PTWF = ""; 666 if ptw.df then 667 call ioa_$rsnnl ("^[phu^x^]^[phm1^x^]^[nypd^x^]^[phm^x^]^[phu1^x^]^[wired^x^]^[os^x^]", 668 PTWF,ln,ptw.phu,ptw.phm1,ptw.nypd,ptw.phm,ptw.phu1,ptw.wired,ptw.os); 669 fdevadd = fixed (devadd_record_no); 670 if devadd_add_type & add_type.non_null then 671 call ioa_$rsnnl ("^6o", cdevadd, ln, fdevadd); 672 else cdevadd = " null"; 673 if devadd_nulled_flag & devadd_add_type = add_type.disk then do; 674 devadd_nulled_flag = "0"b; 675 fdevadd = fixed (devadd_record_no); 676 call ioa_ ("^4o ^w ^6o^31t(nulled)^5x^a", i, pt_word, fdevadd, PTWF); 677 end; 678 else call ioa_ ("^4o ^w ^6a^31t^13x^a", i, pt_word, cdevadd, PTWF); 679 end; 680 last_ptw = unspec (ptw); 681 end; 682 end; /* if pt_sw */ 683 684 if trailer_sw & ^(no_aste_tr_info) then do; 685 if ((aste.strp ^= "0"b) & (aste.uid ^= "0"b)) then do; 686 call ioa_ ("Known as:"); 687 call azm_str_util_ (amu_info_ptr, aste.strp, code); 688 if code ^= 0 then call ssu_$abort_line (sci_ptr, code, ""); 689 end; 690 else call ioa_("^/No Trailer Information."); 691 end; 692 693 if data_buf_ptr ^= null() then call ssu_$release_temp_segment(sci_ptr, data_buf_ptr); 694 return; 695 696 azm_requests_1_$config_deck: 697 entry (P_sci_ptr, P_azm_info_ptr); 698 699 call set_up; 700 if ^trans_selected () then call ssu_$abort_line (sci_ptr, 0, "No dump selected."); 701 702 data_buf_ptr = null; 703 on condition(cleanup) begin; 704 if data_buf_ptr ^= null() then call ssu_$release_temp_segment(sci_ptr, data_buf_ptr); 705 end; 706 707 reason = ""; 708 temp_name = "config_deck"; 709 hardcore_cur_ptr = addr (hard_ptr_space); 710 call amu_$hardcore_info_set_cur_ptrs (amu_info_ptr, hardcore_cur_ptr); 711 call amu_$slt_search_seg_ptr (hardcore_cur.sltp, hardcore_cur.sltntp, temp_name, temp_ptr, code); 712 713 if code ^= 0 then do; 714 reason = "config_deck not found."; 715 goto four_letter_word; 716 end; 717 718 call ssu_$get_temp_segment (sci_ptr, "azm-cd", data_buf_ptr); 719 720 range = sys_info$max_seg_size; 721 call get_data_ (data_buf_ptr, fixed (baseno (temp_ptr), 18), 0, range, code); 722 if code ^= 0 then do; /* set by get_data_ */ 723 reason = "translating config deck."; 724 go to four_letter_word; 725 end; 726 727 argno = 1; 728 config_arg_str = ""; 729 do argno = argno to nargs; /* build arg str to pass on to pcd */ 730 call ssu_$arg_ptr (sci_ptr, argno, argp, argl); 731 if arg = "-pn" | arg = "-pathname" then 732 call ssu_$abort_line (sci_ptr, error_table_$bad_arg, """^a"" is not allowed within azm.", arg); 733 734 config_arg_str = config_arg_str || " " || arg; 735 end; 736 737 call hcs_$fs_get_path_name (data_buf_ptr, dir_name, dir_name_lth, entryname, code); 738 if code ^= 0 then do; 739 call ssu_$abort_line (sci_ptr, code, "Expanding name of temp config_deck."); 740 go to four_letter_word; 741 end; 742 743 call adjust_bit_count_(dir_name, entryname, "1"b, bitcount, code); 744 if code ^= 0 then do; 745 call ssu_$abort_line (sci_ptr, code, "Adjusting bitcount of temp config_deck."); 746 go to four_letter_word; 747 end; 748 749 pcd_args = "pcd " || rtrim (config_arg_str) || " -pn " || rtrim (dir_name) || ">" || rtrim (entryname); 750 pcd_args_len = length (pcd_args); 751 pcd_argsp = addr (pcd_args); 752 call cu_$cp (pcd_argsp, pcd_args_len, code); 753 if code ^= 0 then do; 754 reason = "Calling pcd."; 755 go to four_letter_word; 756 end; 757 758 four_letter_word: 759 if data_buf_ptr ^= null then call ssu_$release_temp_segment (sci_ptr, data_buf_ptr); 760 if reason ^= "" then call ssu_$abort_line (sci_ptr, code, reason); 761 return; 762 763 azm_requests_1_$display_abs: 764 entry (P_sci_ptr, P_azm_info_ptr); 765 766 mem_dump = "1"b; 767 goto COMMON_DISPLAY; 768 769 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 770 771 azm_requests_1_$display: 772 entry (P_sci_ptr, P_azm_info_ptr); 773 774 mem_dump = "0"b; 775 776 COMMON_DISPLAY: 777 call set_up; 778 if ^trans_selected () then call ssu_$abort_line (sci_ptr, 0, "No dump selected."); 779 780 if af_sw then rv_str = ""; 781 unsubscripted_name, match_names = ""; 782 n_match_names, subscripts (*,*), n_subscripts = 0; 783 display_ptr, copy_ptr, symbol_ptr = null(); 784 data_buf_ptr = null(); 785 on condition(cleanup) begin; 786 if data_buf_ptr ^= null() then call ssu_$release_temp_segment(sci_ptr, data_buf_ptr); 787 if display_ptr ^= null() then call ssu_$release_temp_segment(sci_ptr, display_ptr); 788 end; 789 790 unspec (modes_sw) = "0"b; 791 long_sw, struct_sw = "0"b; 792 process_idx = -1; 793 if nargs = 0 then call ssu_$abort_line (sci_ptr, error_table_$noarg, 794 "^/Usage: ^[da ^;display {+-exp}^] {range} {-ctl_args}", mem_dump); 795 796 argno = 1; 797 call ssu_$arg_ptr (sci_ptr, argno, argp, argl); 798 799 if mem_dump then do; 800 mem_addr = cv_oct_check_ (arg, code); 801 first = mem_addr; 802 if code ^= 0 then call ssu_$abort_line (sci_ptr, 0, "Address to dump must be octal ""^a"".", arg); 803 804 if nargs < 2 then 805 range = 1; 806 else do; 807 argno = argno + 1; 808 call ssu_$arg_ptr (sci_ptr, argno, argp, argl); 809 range = cv_oct_check_ (arg, code); 810 if code ^= 0 then do; 811 goto GET_DUMP_CTL_ARGS; /* assume ctl_arg */ 812 end; 813 end; 814 argno = argno + 1; 815 end; 816 817 else do; /* display request with virtual-addr */ 818 va_args_ptr = addr(va_args); 819 va.range = 1; 820 va.segno, va.offset, va.offset_modifier, 821 va.va_position, va.ecode = 0; 822 va.va_switches = "0"b; 823 va.error_msg, va.va_string = ""; 824 va.resolved_va = null(); 825 call amu_$get_va_args(sci_ptr, amu_info_ptr, argp, nargs, va_args_ptr); 826 if va.ecode ^= 0 | va.error_msg ^="" then call ssu_$abort_line (sci_ptr, va.ecode, "^a", va.error_msg); 827 segno = va.segno; 828 first = va.offset; 829 range = va.range; 830 end; 831 832 GET_DUMP_CTL_ARGS: 833 do argno = argno to nargs; 834 call ssu_$arg_ptr (sci_ptr, argno, argp, argl); 835 if arg = "-ch" | arg = "-ascii" | arg = "-character" then do; 836 modes_sw.char_sw = "1"b; 837 end; 838 else if arg = "-ptr" | arg = "-p" then modes_sw.ptr_sw = "1"b; 839 else if arg = "-pptr" | arg = "-pp" then modes_sw.pptr_sw = "1"b; 840 else if arg = "-pptrx" | arg = "-ppx" then do; 841 if af_sw then go to DUMP_AF_ARG_ERR; 842 modes_sw.pptr_sw = "1"b; 843 expand_ptr_sw = "1"b; 844 end; 845 else if arg = "-ptrx" | arg = "-px" then do; 846 if af_sw then go to DUMP_AF_ARG_ERR; 847 expand_ptr_sw = "1"b; 848 modes_sw.ptr_sw = "1"b; 849 end; 850 else if arg = "-as" then do; 851 if af_sw then go to DUMP_AF_ARG_ERR; 852 struct_sw = "1"b; 853 call get_next_arg("structure_name", argp, argl); 854 outername = arg; 855 if outername = "dte" then struct_name = "ioi_dte"; 856 /* KLUDGE to interpret correct dte structure */ 857 else struct_name = arg; 858 end; 859 else if arg = "-long" | arg = "-lg" then do; 860 if af_sw then go to DUMP_AF_ARG_ERR; 861 long_sw = "1"b; 862 end; 863 else if arg = "-inst" | arg = "-i" | arg = "-instruction" then do; 864 if af_sw then go to DUMP_AF_ARG_ERR; 865 modes_sw.inst_sw = "1"b; 866 end; 867 else if arg = "-oc" | arg = "-octal" then ; 868 else do; 869 if mem_dump then call ssu_$abort_line(sci_ptr, error_table_$badopt, " ^a", arg); 870 if ^va_arg(argno) then do; 871 if substr(arg,1,1) = "-" then code = error_table_$badopt; 872 else code = error_table_$bad_arg; 873 call ssu_$abort_line(sci_ptr, code, " ^a", arg); 874 end; 875 end; 876 end; 877 878 if (struct_sw | long_sw) & mem_dump then call ssu_$abort_line (sci_ptr, error_table_$badopt, 879 "^[-as^;-long^].", struct_sw); 880 if long_sw & ^struct_sw then call ssu_$abort_line (sci_ptr, 0, "-long is only valid with -as.", ""); 881 if struct_sw & unspec (modes_sw) ^= "0"b then call ssu_$abort_line (sci_ptr, 882 error_table_$inconsistent, "-as and other control args.", ""); 883 884 call ssu_$get_temp_segment (sci_ptr, "azm-display", data_buf_ptr); 885 886 if struct_sw then do; 887 call dump_as_structure(long_sw); 888 goto END_OF_DUMP; 889 end; 890 891 if range < 0 then call ssu_$abort_line(sci_ptr, amu_et_$neg_range, "^a", va.va_string); 892 if range = 0 then range = 1; 893 offset = range; 894 if modes_sw.ptr_sw then do; 895 if mod (first, 2) ^= 0 then do; /* MUST be on even wd bndry */ 896 call ssu_$abort_line (sci_ptr, 0, "Dump of pointer must start on even word boundary."); 897 go to END_OF_DUMP; 898 end; 899 temp_range = range * 2; 900 go to GET_DUMP_DATA; 901 end; 902 903 if range = 1 then 904 temp_range = 2; 905 else temp_range = range; 906 907 GET_DUMP_DATA: 908 909 if mem_dump then do; 910 call azm_dump_mem_ (amu_info_ptr, mem_addr, process_idx, segno, first, mem_tag, is_wired, is_paged, code); 911 912 if code ^= 0 then do; 913 if af_sw then go to DUMP_AF_ERROR; 914 if code = amu_et_$free_core then do; 915 call ioa_ ("^/Mem Addr ^8o is in free core (MEM ^a).", mem_addr, 916 substr (CPU_NAME, (mem_tag + 1), 1)); 917 goto END_OF_DUMP; 918 end; 919 if code = amu_et_$proc_not_dumped then do; 920 call ioa_ ("^/Mem Addr ^8o (MEM ^a) owned by a process not dumped (SEGNO ^o).", mem_addr, 921 substr (CPU_NAME, (mem_tag + 1), 1), segno); 922 goto END_OF_DUMP; 923 end; 924 call ssu_$abort_line (sci_ptr, code, ""); 925 end; 926 call amu_$fdump_mpt_temp_change_idx (amu_info_ptr, process_idx); 927 index_changed = "1"b; 928 end; /* of if mem_dump */ 929 930 temp_ptr = pointer (baseptr (segno), first); 931 if ^modes_sw.inst_sw then 932 call get_data_ (data_buf_ptr, segno, first, temp_range, code); 933 else call hunt_for_code (segno, first, temp_range); 934 935 chk_range: 936 if temp_range = 0 then call ssu_$abort_line (sci_ptr, 0, "Location ^o not found in Seg ^o.", first + range, segno); 937 938 if code ^= 0 then do; 939 if code = amu_et_$seg_not_dumped & ^modes_sw.inst_sw then do; 940 call ssu_$print_message (sci_ptr, code, " ^o|^o ^|^10xGetting data from the online storage.", segno, range); 941 code = 0; 942 call hunt_for_code (segno, first, temp_range); 943 goto chk_range; 944 end; 945 if data_buf_ptr ^= null() then call ssu_$release_temp_segment(sci_ptr, data_buf_ptr); 946 call ssu_$abort_line (sci_ptr, code, " ^o|^o", segno, range); 947 end; 948 949 if af_sw then do; 950 if temp_range < range then range = temp_range; 951 go to DUMP_AF; 952 end; 953 else if temp_range < range then do; 954 range = temp_range; 955 call ioa_ ("Last loc is ^o range will be ^o",(first + range),range); 956 end; 957 real_address = mem_addr; 958 if mem_dump then call azm_find_mem_box_$bf (amu_info_ptr, real_address, segno, first, code); 959 call ioa_ ("^[ABS_WIRED ^]^[Un-Paged ^]^[Paged ^]Segno ^o ^a^[,Owned by Process index ^d:^]", 960 (mem_dump & is_wired), (mem_dump & ^is_paged), (mem_dump & is_paged), segno, 961 amu_$get_name (amu_info_ptr, temp_ptr), process_idx^= -1, process_idx); 962 963 if unspec (modes_sw) = "0"b then do; 964 if mod (first, 2) = 0 then do; /* check for its pointer */ 965 if range = 1 then do; 966 if data_buf_ptr -> its.its_mod = ITS_MODIFIER | data_buf_ptr -> its.its_mod = ITP_MODIFIER then 967 range = 2; 968 end; 969 end; 970 971 call amu_$print_dump_oct (data_buf_ptr, first, range); 972 end; 973 else if modes_sw.ptr_sw then do; 974 range = mod(range,2) + range; 975 if expand_ptr_sw = "0"b then 976 call amu_$print_dump_ptr (data_buf_ptr, first, range); 977 else call amu_$print_dump_ptr_exp (amu_info_ptr, data_buf_ptr, first, range); 978 end; 979 980 else if modes_sw.pptr_sw then do; 981 if expand_ptr_sw = "0"b then 982 call amu_$print_dump_pptr (data_buf_ptr, first, range); 983 else call amu_$print_dump_pptr_exp (amu_info_ptr, data_buf_ptr, first, range); 984 end; 985 else if modes_sw.char_sw then do; 986 call amu_$print_char_dump (data_buf_ptr, first, range); 987 end; 988 else if modes_sw.inst_sw then do; 989 call amu_$print_inst_dump (data_buf_ptr, first, range); 990 end; 991 992 if offset > range then 993 call ioa_ ("dump: Offset ^o not found in Seg ^o, Last location = ^o.", first + offset, segno, 994 (first + range) - 1); 995 996 997 go to END_OF_DUMP; 998 DUMP_AF: 999 1000 if unspec (modes_sw) = "0"b then /* octal dump */ 1001 call ioa_$rsnnl ("^v(^w ^)", rv_str, ignore, range, RS); 1002 1003 else if modes_sw.ptr_sw then /* as a ptr */ 1004 call ioa_$rsnnl ("^v(^p ^)", rv_str, ignore, range, RSP); 1005 1006 else if modes_sw.pptr_sw then /* as a packed ptr */ 1007 call ioa_$rsnnl ("^v(^p ^)", rv_str, ignore, range, RSPP); 1008 1009 else if modes_sw.char_sw then 1010 call amu_$print_char_dump_af (data_buf_ptr, first, range, rv_ptr, rv_lth); 1011 1012 END_OF_DUMP: 1013 if index_changed = "1"b then do; 1014 call amu_$fdump_mpt_revert_idx (amu_info_ptr); 1015 index_changed = "0"b; 1016 end; 1017 if data_buf_ptr ^= null() then call ssu_$release_temp_segment(sci_ptr, data_buf_ptr); 1018 return; /* end of dump entry */ 1019 1020 DUMP_AF_ARG_ERR: 1021 if data_buf_ptr ^= null() then call ssu_$release_temp_segment(sci_ptr, data_buf_ptr); 1022 call ssu_$abort_line (sci_ptr, 0, "^a not available in the active request.", arg); 1023 return; 1024 1025 DUMP_AF_ERROR: 1026 if data_buf_ptr ^= null() then call ssu_$release_temp_segment(sci_ptr, data_buf_ptr); 1027 call ssu_$abort_line (sci_ptr, code, ""); 1028 return; 1029 1030 1031 azm_requests_1_$ds: 1032 entry (P_sci_ptr, P_azm_info_ptr); 1033 1034 call set_up; 1035 if ^trans_selected () then call ssu_$abort_line (sci_ptr, 0, "No Dump has been specified."); 1036 1037 if nargs = 0 then call ssu_$abort_line (sci_ptr, error_table_$noarg, 1038 "^/Usage: ds {+-offset_modifier} {range} {-ctl_args}"); 1039 1040 display_ptr, copy_ptr, symbol_ptr = null(); 1041 data_buf_ptr = null(); 1042 on condition(cleanup) begin; 1043 if data_buf_ptr ^= null() then call ssu_$release_temp_segment(sci_ptr, data_buf_ptr); 1044 if display_ptr ^= null() then call ssu_$release_temp_segment(sci_ptr, display_ptr); 1045 end; 1046 1047 /* init va_args */ 1048 1049 va_args_ptr = addr(va_args); 1050 va.range = 1; 1051 va.segno, va.offset, va.offset_modifier, 1052 va.va_position, va.ecode = 0; 1053 va.va_switches = "0"b; 1054 va.error_msg, va.va_string = ""; 1055 va.resolved_va = null(); 1056 1057 call ssu_$arg_ptr (sci_ptr, 1, argp, argl); 1058 call amu_$get_va_args(sci_ptr, amu_info_ptr, argp, nargs, va_args_ptr); 1059 if va.ecode ^= 0 | va.error_msg ^="" then do; 1060 call ssu_$abort_line (sci_ptr, va.ecode, "^a", va.error_msg); 1061 end; 1062 1063 1064 /* Set defaults for the call to dump_segment_. These don't 1065* necessary related to what the user specified on the request line 1066**/ 1067 dump_segment_format_structure = "0"b; 1068 dump_segment_format_structure.octal, 1069 dump_segment_format_structure.offset, 1070 dump_segment_format_structure.raw_data, 1071 dump_segment_format_structure.suppress_duplicates, 1072 dump_segment_format_structure.interpreted_data = "1"b; 1073 1074 if af_sw then do; /* set defaults for active_request */ 1075 dump_segment_format_structure.suppress_duplicates, /* -nsd */ 1076 dump_segment_format_structure.interpreted_data, /* -nit */ 1077 dump_segment_format_structure.offset = "0"b; /* -no_address */ 1078 end; 1079 1080 /* init other things */ 1081 1082 process_idx = -1; 1083 block, code = 0; 1084 unsubscripted_name, match_names = ""; 1085 n_match_names, subscripts (*,*), n_subscripts = 0; 1086 1087 if af_sw then header_sw = "0"b; /* no header for active request */ 1088 else header_sw = "1"b; /* default is to print header */ 1089 struct_sw, long_sw, index_changed = "0"b; 1090 argno = 1; 1091 do argno = argno to nargs; 1092 call ssu_$arg_ptr (sci_ptr, argno, argp, argl); 1093 if (arg = "-long" | arg = "-lg") then do; 1094 dump_segment_format_structure.long, long_sw = "1"b; 1095 dump_segment_format_structure.short = "0"b; 1096 end; 1097 else if (arg = "-suppress_duplicates" | arg = "-sd") then do; 1098 if af_sw then goto AF_DS_ERROR; 1099 dump_segment_format_structure.suppress_duplicates = "1"b; 1100 end; 1101 else if (arg = "-no_suppress_duplicates" | arg = "-nsd") then 1102 dump_segment_format_structure.suppress_duplicates = "0"b; 1103 else if arg = "-raw" then 1104 dump_segment_format_structure.raw_data = "1"b; 1105 else if arg = "-no_raw" | arg = "-nraw" then 1106 dump_segment_format_structure.raw_data = "0"b; 1107 else if arg = "-interpreted" | arg = "-it" then do; 1108 if af_sw then goto AF_DS_ERROR; 1109 dump_segment_format_structure.interpreted_data = "1"b; 1110 end; 1111 else if arg = "-no_interpret" | arg = "-nit" then 1112 dump_segment_format_structure.interpreted_data = "0"b; 1113 else if arg = "-character" | arg = "-ch" | arg = "-ascii" then do; 1114 dump_segment_format_structure.ascii, dump_segment_format_structure.interpreted_data = "1"b; 1115 dump_segment_format_structure.bit4, dump_segment_format_structure.ebcdic8, 1116 dump_segment_format_structure.ebcdic9, dump_segment_format_structure.bcd = "0"b; 1117 end; 1118 else if arg = "-bcd" then do; 1119 dump_segment_format_structure.bcd, dump_segment_format_structure.interpreted_data = "1"b; 1120 dump_segment_format_structure.ascii, dump_segment_format_structure.bit4, 1121 dump_segment_format_structure.ebcdic8, dump_segment_format_structure.ebcdic9 = "0"b; 1122 end; 1123 else if arg = "-ebcdic9" then do; 1124 dump_segment_format_structure.ebcdic9, dump_segment_format_structure.interpreted_data = "1"b; 1125 dump_segment_format_structure.ascii, dump_segment_format_structure.bit4, 1126 dump_segment_format_structure.ebcdic8 = "0"b; 1127 end; 1128 else if arg = "-ebcdic8" then do; 1129 dump_segment_format_structure.ebcdic8, dump_segment_format_structure.interpreted_data = "1"b; 1130 dump_segment_format_structure.ascii, dump_segment_format_structure.bit4, 1131 dump_segment_format_structure.ebcdic9 = "0"b; 1132 end; 1133 else if arg = "-4bit" then do; 1134 dump_segment_format_structure.bit4, dump_segment_format_structure.interpreted_data = "1"b; 1135 dump_segment_format_structure.ascii, dump_segment_format_structure.ebcdic8, 1136 dump_segment_format_structure.ebcdic9 = "0"b; 1137 end; 1138 else if arg = "-hex8" then do; 1139 dump_segment_format_structure.hex8, dump_segment_format_structure.raw_data = "1"b; 1140 dump_segment_format_structure.hex9, dump_segment_format_structure.octal = "0"b; 1141 end; 1142 else if arg = "-hex9" then do; 1143 dump_segment_format_structure.hex9, dump_segment_format_structure.raw_data = "1"b; 1144 dump_segment_format_structure.hex8, dump_segment_format_structure.octal = "0"b; 1145 end; 1146 else if arg = "-octal" | arg = "-oc" then do; 1147 dump_segment_format_structure.octal, dump_segment_format_structure.raw_data = "1"b; 1148 dump_segment_format_structure.hex8, dump_segment_format_structure.hex9 = "0"b; 1149 end; 1150 else if (arg = "-short" | arg = "-sh") then do; 1151 dump_segment_format_structure.short = "1"b; 1152 dump_segment_format_structure.long = "0"b; 1153 end; 1154 else if (arg = "-address" | arg = "-addr") then do; 1155 if af_sw then goto AF_DS_ERROR; 1156 dump_segment_format_structure.offset = "1"b; 1157 end; 1158 else if (arg = "-no_address" | arg = "-naddr") then dump_segment_format_structure.offset = "0"b; 1159 else if arg = "-as" then do; 1160 if af_sw then goto AF_DS_ERROR; 1161 struct_sw = "1"b; 1162 call get_next_arg("structure_name", argp, argl); 1163 outername, struct_name = arg; 1164 end; 1165 else if (arg = "-header" | arg = "-he") then do; 1166 if af_sw then goto AF_DS_ERROR; 1167 header_sw = "1"b; 1168 end; 1169 else if (arg = "-no_header" | arg = "-nhe") then header_sw = "0"b; 1170 else if (arg = "-block" | arg = "-bk") then do; 1171 if af_sw then goto AF_DS_ERROR; 1172 call get_next_arg("block size", argp, argl); /* check next arg, if octal then use as offset */ 1173 block = cv_oct_check_ (arg, code); 1174 if code ^= 0 then call ssu_$abort_line(sci_ptr, 0, "block size is non-octal ^a", arg); 1175 end; 1176 else do; 1177 if ^va_arg(argno) then do; 1178 if substr(arg,1,1) = "-" then code = error_table_$badopt; 1179 else code = error_table_$bad_arg; 1180 call ssu_$abort_line(sci_ptr, code, " ^a", arg); 1181 end; 1182 end; 1183 end; /* arg processing */ 1184 1185 /* Check for legal formats and finish setting variables */ 1186 1187 if struct_sw then call ssu_$print_message(sci_ptr, 0, "For now other control args are ignored except -lg.^/"); 1188 1189 call ssu_$get_temp_segment (sci_ptr, "azm-display", data_buf_ptr); 1190 1191 segno = va.segno; 1192 first = va.offset; 1193 range = va.range; 1194 1195 if struct_sw then do; 1196 call dump_as_structure(dump_segment_format_structure.long); 1197 goto END_OF_DS; 1198 end; 1199 1200 temp_ptr = pointer (baseptr (segno), first); 1201 call hunt_for_code (segno, first, temp_range); 1202 1203 if mod (first, 2) = 0 then do; /* check for its pointer */ 1204 if range = 1 then do; 1205 if data_buf_ptr -> its.its_mod = ITS_MODIFIER | data_buf_ptr -> its.its_mod = ITP_MODIFIER then 1206 range = 2; 1207 end; 1208 end; 1209 1210 if header_sw then call ioa_ ("Segno ^o ^a^[,Owned by Process index ^d:^]^/", 1211 segno, amu_$get_name (amu_info_ptr, temp_ptr), process_idx^= -1, process_idx); 1212 1213 dump_segment_format_structure.command_output = "1"b; 1214 1215 if af_sw then do; 1216 rv_str = ""; 1217 call dump_segment_$string(rv_ptr, rv_lth, data_buf_ptr, block, first, range, dump_segment_format); 1218 end; 1219 else call dump_segment_(iox_$user_output, data_buf_ptr, block, first, range, dump_segment_format); 1220 1221 END_OF_DS: 1222 if index_changed = "1"b then do; 1223 call amu_$fdump_mpt_revert_idx (amu_info_ptr); 1224 index_changed = "0"b; 1225 end; 1226 if data_buf_ptr ^= null() then call ssu_$release_temp_segment(sci_ptr, data_buf_ptr); 1227 return; /* end of dump entry */ 1228 1229 AF_DS_ERROR: 1230 1231 call ssu_$abort_line (sci_ptr, error_table_$badopt, "^a", arg); 1232 return; 1233 1234 azm_requests_1_$extract_seg: 1235 entry (P_sci_ptr, P_azm_info_ptr); 1236 1237 call set_up; 1238 if ^trans_selected () then call ssu_$abort_line (sci_ptr, 0, "No dump selected."); 1239 1240 if nargs < 2 then call ssu_$abort_line(sci_ptr, error_table_$noarg, "^/Usage: ap virtual-addr {range} command_line"); 1241 1242 /* init va_args */ 1243 1244 va_args_ptr = addr(va_args); 1245 va.range = 0; 1246 va.segno, va.offset, va.offset_modifier, 1247 va.va_position, va.ecode = 0; 1248 va.va_switches = "0"b; 1249 va.error_msg, va.va_string = ""; 1250 va.resolved_va = null(); 1251 1252 call ssu_$arg_ptr (sci_ptr, 1, argp, argl); 1253 call amu_$get_va_args(sci_ptr, amu_info_ptr, argp, nargs, va_args_ptr); 1254 if va.ecode ^= 0 | va.error_msg ^="" then do; 1255 call ssu_$abort_line (sci_ptr, va.ecode, "^a", va.error_msg); 1256 end; 1257 1258 command_arg = -1; 1259 do argno = 1 to nargs; /* looping to catch any invalid args */ 1260 call ssu_$arg_ptr (sci_ptr, argno, argp, argl); 1261 if ^va_arg(argno) then do; 1262 if command_arg < 0 then command_arg = argno; 1263 else call ssu_$abort_line(sci_ptr, error_table_$bad_arg, " ^a", arg); 1264 end; 1265 end; /* arg processing */ 1266 1267 range = va.range; 1268 segno = va.segno; 1269 first = va.offset; 1270 1271 if range = 0 then range = sys_info$max_seg_size; 1272 data_buf_ptr = null (); 1273 on cleanup begin; 1274 if data_buf_ptr ^= null () then 1275 call ssu_$release_temp_segment (sci_ptr, data_buf_ptr); 1276 end; 1277 1278 call ssu_$get_temp_segment (sci_ptr, "azm-apply", data_buf_ptr); 1279 1280 call get_data_ (data_buf_ptr, segno, first, range, code); 1281 if code ^= 0 then do; 1282 call ssu_$release_temp_segment (sci_ptr, data_buf_ptr); 1283 call ssu_$abort_line (sci_ptr, code, "No translation."); 1284 end; 1285 1286 call ssu_$apply_request_util (sci_ptr, command_arg, data_buf_ptr, (range * 4), new_range); 1287 call ssu_$release_temp_segment (sci_ptr, data_buf_ptr); 1288 1289 revert cleanup; 1290 return; /* end of extract_seg */ 1291 1292 1293 azm_requests_1_$history_regs: 1294 1295 entry (P_sci_ptr, P_azm_info_ptr); 1296 1297 dcl want_both bit(1); 1298 1299 call set_up; 1300 if ^trans_selected () then call ssu_$abort_line (sci_ptr, 0, "No dump selected."); 1301 1302 hregs_from_dump, hregs_fm_ptrval, cond_frame, hregs_from_pds = "0"b; 1303 interpreted_hregs, octal_sw, want_both = "0"b; 1304 only_cu, only_ou, only_au, only_du = "0"b; 1305 threaded_hregs = "1"b; /* default */ 1306 data_buf_ptr = null(); 1307 on condition(cleanup) begin; 1308 if data_buf_ptr ^= null() then call ssu_$release_temp_segment(sci_ptr, data_buf_ptr); 1309 end; 1310 1311 do argno = 1 to nargs; 1312 call ssu_$arg_ptr (sci_ptr, argno, argp, argl); 1313 1314 if char(arg, 1) ^= "-" then do; /* assume it's a virtual-addr */ 1315 if hregs_fm_ptrval then call ssu_$abort_line(sci_ptr, error_table_$bad_arg, 1316 "Or virtual address specified more than once. ^a", arg); 1317 hregs_fm_ptrval = "1"b; 1318 arg_position = argno; 1319 end; 1320 else if arg = "-dump" then do; 1321 if amu_info.type = SAVED_PROC_TYPE then call ssu_$abort_line(sci_ptr, 0, 1322 "-dump is not applicable for analyzing process dirs."); 1323 dumpptr = fdump_info.dump_seg_ptr (0); 1324 temp_ptr = addr (dump.ouhist); 1325 hregs_from_dump = "1"b; 1326 end; 1327 else if arg = "-pds" then do; 1328 hregs_from_pds = "1"b; 1329 end; 1330 else if arg = "-cond" | arg = "-condition" then do; 1331 cond_frame = "1"b; 1332 call get_next_arg("virtual-addr", argp, argl); 1333 arg_position = argno; 1334 end; 1335 else if arg = "-cu" then do; 1336 only_cu = "1"b; 1337 threaded_hregs = "0"b; 1338 end; 1339 else if arg = "-ou" then do; 1340 only_ou = "1"b; 1341 threaded_hregs = "0"b; 1342 end; 1343 else if arg = "-au" then do; 1344 only_au = "1"b; 1345 threaded_hregs = "0"b; 1346 end; 1347 else if arg = "-du" then do; 1348 only_du = "1"b; 1349 threaded_hregs = "0"b; 1350 end; 1351 else if arg = "-no_thread" then do; 1352 threaded_hregs = "0"b; 1353 end; 1354 else if arg = "-octal" | arg = "-oc" then do; 1355 octal_sw = "1"b; 1356 end; 1357 else if arg = "-interpret" then do; 1358 interpreted_hregs = "1"b; 1359 end; 1360 else if arg = "-thread" then do; 1361 threaded_hregs = "1"b; 1362 end; 1363 else call ssu_$abort_line(sci_ptr, error_table_$bad_arg, "^a", arg); 1364 end; /* arg processing do loop */ 1365 1366 if ^(hregs_from_dump | hregs_fm_ptrval | cond_frame | hregs_from_pds) 1367 then hregs_from_pds = "1"b; /* set the default */ 1368 else if ((hregs_from_dump & hregs_fm_ptrval) 1369 | (hregs_from_dump & hregs_from_pds) 1370 | (hregs_from_dump & cond_frame) 1371 | (hregs_fm_ptrval & cond_frame) 1372 | (hregs_fm_ptrval & hregs_from_pds)) 1373 then call ssu_$abort_line(sci_ptr, error_table_$inconsistent, 1374 "^[ -dump^]^[ -pds^]^[ -cond^]^[ virtual-addr^]", hregs_from_dump, hregs_from_pds, cond_frame, hregs_fm_ptrval); 1375 1376 if ^(only_cu | only_ou | only_au | only_du) 1377 then only_au, only_cu, only_ou = "1"b; /* set the default */ 1378 if octal_sw then do; 1379 if interpreted_hregs then want_both = "1"b; 1380 end; 1381 else interpreted_hregs = "1"b; /* set default */ 1382 1383 if (hregs_fm_ptrval | cond_frame) then do; /* get the virtual addr */ 1384 /* init va_args */ 1385 va_args_ptr = addr(va_args); 1386 va.range = 0; 1387 va.segno, va.offset, va.offset_modifier, 1388 va.va_position, va.ecode = 0; 1389 va.va_switches = "0"b; 1390 va.error_msg, va.va_string = ""; 1391 va.resolved_va = null(); 1392 call amu_$get_va_args_given_start(sci_ptr, amu_info_ptr, argp, arg_position, nargs, va_args_ptr); 1393 if va.ecode ^= 0 | va.error_msg ^="" then call ssu_$abort_line (sci_ptr, va.ecode, "^a", va.error_msg); 1394 segno = va.segno; 1395 first = va.offset; 1396 end; 1397 1398 call ssu_$get_temp_segment (sci_ptr, "azm-hregs", data_buf_ptr); 1399 1400 if cond_frame then do; 1401 sp = addrel (baseptr (segno), first); /* get stk ptr */ 1402 /* get ret ptr */ 1403 temp_ptr1 = addr (stack_frame.return_ptr); 1404 segno1 = fixed (baseno (temp_ptr1), 18); 1405 first1 = fixed (rel (temp_ptr1), 18); 1406 range = 2; 1407 call get_data_ (data_buf_ptr, segno1, first1, range, code); 1408 if code ^= 0 then goto HREGS_RETURN; 1409 1410 ret_str = amu_$get_name (amu_info_ptr, ret_ptr); 1411 if index (ret_str, "return_to_ring_") ^= 0 | index (ret_str, "signaller") ^= 0 then do; 1412 sigstp = addrel (addr (stack_frame.timer), +1); 1413 temp_ptr1 = addr (sig_stack.history_registers); 1414 first = fixed (rel (temp_ptr1), 18); 1415 go to END_HR_ARGS; 1416 end; 1417 else if index (ret_str, "fim") ^= 0 then do; 1418 first = first + 96; /* from fim */ 1419 go to END_HR_ARGS; 1420 end; 1421 1422 else call ssu_$abort_line (sci_ptr, 0, "^p is not a condition frame.", addrel (baseptr (segno), first)); 1423 end; 1424 1425 END_HR_ARGS: 1426 range = 128; /* need 128 words */ 1427 1428 hr_switches = interpreted_hregs || only_ou || only_cu || only_au || only_du; 1429 1430 if hregs_from_pds then do; /* default is pds */ 1431 temp_ptr = amu_$definition_ptr (amu_info_ptr, "pds", "history_reg_data", code); 1432 if code ^= 0 then do; 1433 call ssu_$abort_line (sci_ptr, code, ""); 1434 return; 1435 end; 1436 segno = fixed (baseno (temp_ptr), 17); 1437 first = fixed (rel (temp_ptr), 18); 1438 end; 1439 1440 1441 temp_ptr1 = addrel (baseptr (segno), first); 1442 call ioa_ ("History Registers at ^[(^p) ^a^;^2s^]^[time of Dump from Bootload CPU^]", ^hregs_from_dump, 1443 temp_ptr1, amu_$get_name (amu_info_ptr, temp_ptr1), hregs_from_dump); 1444 1445 if hregs_from_dump then do; 1446 if threaded_hregs then do; 1447 if want_both | octal_sw then call hran_$hran_bos (temp_ptr, null(), "1"b); 1448 else call hran_$hran_bos (temp_ptr, null (), "0"b); 1449 end; 1450 else do; /* not threaded */ 1451 if want_both then do; 1452 call hran_$bos_no_thread (temp_ptr, null(), hr_switches); 1453 hr_switches = "0"b || only_ou || only_cu || only_au || only_du; 1454 call hran_$bos_no_thread (temp_ptr, null(), hr_switches); /* also display the octal representation */ 1455 end; 1456 else call hran_$bos_no_thread (temp_ptr, null(), hr_switches); 1457 end; 1458 return; /* all done */ 1459 end; 1460 1461 /* get hregs from the pds */ 1462 1463 call get_data_ (data_buf_ptr, segno, first, range, code); 1464 if code ^= 0 then goto HREGS_RETURN; 1465 1466 if threaded_hregs then do; 1467 if want_both | octal_sw then call hran_$hranl (data_buf_ptr, null, "1"b); 1468 else call hran_$hranl (data_buf_ptr, null, "0"b); 1469 end; 1470 else do; /* not threaded */ 1471 if want_both then do; 1472 call hran_$no_thread (data_buf_ptr, null, hr_switches); 1473 hr_switches = "0"b || only_ou || only_cu || only_au || only_du; 1474 call hran_$no_thread (data_buf_ptr, null, hr_switches); /* also display the octal representation */ 1475 end; 1476 else call hran_$no_thread (data_buf_ptr, null, hr_switches); 1477 end; 1478 1479 HREGS_RETURN: 1480 if data_buf_ptr ^= null() then call ssu_$release_temp_segment(sci_ptr, data_buf_ptr); 1481 if code ^= 0 then call ssu_$abort_line (sci_ptr, code, ""); 1482 1483 return; 1484 1485 1486 azm_requests_1_$list_proc: 1487 entry (P_sci_ptr, P_azm_info_ptr); 1488 1489 call set_up; 1490 if ^trans_selected () then call ssu_$abort_line (sci_ptr, 0, "No current dump selected."); 1491 1492 call process_common_args(); 1493 1494 if ^proc_sw then do; 1495 if cur_sw then do; 1496 if af_sw then call amu_$fdump_mpt_current_process_af (amu_info_ptr, rv_ptr, rv_lth); 1497 else call amu_$fdump_mpt_current_process (amu_info_ptr); 1498 end; 1499 else call list_by_state(); 1500 goto END_LSP; 1501 end; 1502 1503 call determine_process_idx (apte_offset, pid, process_idx); 1504 1505 if process_idx >= 0 then do; 1506 if process_idx > hbound (fdump_process_table.array, 1) then 1507 call ssu_$abort_line (sci_ptr, amu_et_$big_idx, "^a.", proc_arg); 1508 1509 hold_index = amu_info.process_idx; 1510 call amu_$fdump_mpt_temp_change_idx (amu_info_ptr, hold_index); 1511 call amu_$fdump_mpt_change_idx (amu_info_ptr, process_idx); 1512 if af_sw then call amu_$fdump_mpt_current_process_af (amu_info_ptr, rv_ptr, rv_lth); 1513 else call amu_$fdump_mpt_current_process (amu_info_ptr); 1514 call amu_$fdump_mpt_revert_idx (amu_info_ptr); 1515 goto END_LSP; 1516 end; 1517 1518 if pid > 0 then do; /* match on process-ids to get the process_idx */ 1519 pidbit = convert(pidbit, pid); 1520 hold_index = amu_info.process_idx; 1521 call amu_$fdump_mpt_temp_change_idx (amu_info_ptr, hold_index); 1522 found = "0"b; 1523 do i = 0 to hbound (fdump_process_table.array, 1) while (^found); 1524 call amu_$fdump_mpt_change_idx (amu_info_ptr, i); 1525 Pproc = fdump_process_table.array(i).process_info_ptr; 1526 if Pproc->process_info.pid = pidbit then do; 1527 found = "1"b; 1528 if af_sw then call amu_$fdump_mpt_current_process_af (amu_info_ptr, rv_ptr, rv_lth); 1529 else call amu_$fdump_mpt_current_process (amu_info_ptr); 1530 end; 1531 end; 1532 call amu_$fdump_mpt_revert_idx (amu_info_ptr); 1533 if ^(found) then call ssu_$abort_line (sci_ptr, 0, "Process with id ^a not found in dump.", proc_arg); 1534 goto END_LSP; 1535 end; 1536 1537 if apte_offset > 0 then do; 1538 hold_index = amu_info.process_idx; 1539 call amu_$fdump_mpt_temp_change_idx (amu_info_ptr, hold_index); 1540 found = "0"b; 1541 do i = 0 to hbound (fdump_process_table.array, 1) while (^found); 1542 call amu_$fdump_mpt_change_idx (amu_info_ptr, i); 1543 if apte_offset = fdump_process_table(i).apte_offset then do; 1544 found = "1"b; 1545 if af_sw then call amu_$fdump_mpt_current_process_af (amu_info_ptr, rv_ptr, rv_lth); 1546 else call amu_$fdump_mpt_current_process (amu_info_ptr); 1547 end; 1548 end; 1549 call amu_$fdump_mpt_revert_idx (amu_info_ptr); 1550 if ^(found) then call ssu_$abort_line (sci_ptr, 0, "Process with APTE offset ^a not found in dump.", proc_arg); 1551 end; 1552 1553 END_LSP: 1554 return; 1555 1556 1557 /* Entry is for displaying machine condition frames */ 1558 1559 azm_requests_1_$mc: 1560 entry (P_sci_ptr, P_azm_info_ptr); 1561 1562 dcl 1 what_regs based (arg_bits_ptr) aligned, 1563 2 dont_care bit(6) unal, 1564 2 registers bit(11) unal, 1565 2 dont_care2 bit(18) unal; 1566 1567 dcl (dump_sw, args_specified, va_sw) bit(1); 1568 1569 call set_up; 1570 if ^trans_selected () then call ssu_$abort_line (sci_ptr, 0, "No dump selected."); 1571 data_buf_ptr = null(); 1572 on condition(cleanup) begin; 1573 if data_buf_ptr ^= null() then call ssu_$release_temp_segment(sci_ptr, data_buf_ptr); 1574 end; 1575 code, range1 = 0; 1576 dump_sw, va_sw, args_specified, octal_sw = "0"b; 1577 mcp_pgflt_sw, mcp_fim_sw, mcp_sig_sw = "0"b; 1578 mcpr_int_sw, mcpr_fim_sw, mcpr_systroub_sw, all_sw = "0"b; 1579 pds_sw, prds_sw, cond_frame, mc_from_ptrval = "0"b; 1580 arg_bits_ptr = addr (mc_arg); 1581 mc_arg = "0"b; 1582 arg_bits_def.set_ptr = "1"b; /* always set temp ptrs when mc request is called */ 1583 1584 if nargs = 0 then do; /* default to -scu -pr6 and the prmc value if ^= null() */ 1585 first_ptr_arg = 0; 1586 arg_bits_def.scu, arg_bits_def.pr (6) = "1"b; 1587 arg_bits_def.tpr, arg_bits_def.mc_err = "1"b; 1588 arg_bits_def.flt, arg_bits_def.tm = "1"b; 1589 arg_bits_def.eis = "1"b; 1590 t_pr_name = "prmc"; 1591 call amu_$definition_get_prn (amu_info_ptr, t_pr_name, temp_ptr, code); 1592 if code ^= 0 then call ssu_$abort_line (sci_ptr, code, "The MC pointer 'prmc' is not set."); 1593 if temp_ptr = null () then call ssu_$abort_line (sci_ptr, 0, 1594 "The machine condition pointer 'prmc' is not set. See the set request."); 1595 segno = fixed (baseno (temp_ptr), 17); 1596 first = fixed (rel (temp_ptr), 18); 1597 goto READY_TO_PRINT; 1598 end; 1599 1600 /* process arguments */ 1601 /* init va_args */ 1602 1603 va_args_ptr = addr(va_args); 1604 va.range = -1; 1605 va.segno, va.offset, va.offset_modifier, 1606 va.va_position, va.ecode = 0; 1607 va.va_switches = "0"b; 1608 va.error_msg, va.va_string = ""; 1609 va.resolved_va = null(); 1610 1611 call ssu_$arg_ptr (sci_ptr, 1, argp, argl); 1612 call amu_$get_va_args(sci_ptr, amu_info_ptr, argp, nargs, va_args_ptr); 1613 if va.valid_va then va_sw = "1"b; 1614 va.range_idx = 0; /* A range is not valid for mc request */ 1615 segno = va.segno; 1616 first = va.offset; 1617 1618 do argno = 1 to nargs; 1619 call ssu_$arg_ptr (sci_ptr, argno, argp, argl); 1620 if arg = "-dump" then do; /* want mc at the time of the FDUMP */ 1621 if amu_info.type = SAVED_PROC_TYPE then call ssu_$abort_line(sci_ptr, 0, 1622 "-dump is not applicable for analyzing process dirs."); 1623 if amu_info.type = FDUMP_TYPE | amu_info.type = FDUMP_PROCESS_TYPE then do; 1624 data_buf_ptr = fdump_info.dump_seg_ptr (0); 1625 arg_bits_def.dump = "1"b; 1626 dump_sw = "1"b; 1627 end; 1628 else call ssu_$abort_line (sci_ptr, 0, "Translation is not an FDUMP."); 1629 end; 1630 1631 else if arg = "-pds" then do; 1632 pds_sw = "1"b; 1633 call get_mc_specifiers(); 1634 end; 1635 1636 else if arg = "-prds" then do; 1637 if amu_info.type = SAVED_PROC_TYPE then call ssu_$abort_line(sci_ptr, 0, 1638 "-prds is not applicable for analyzing process dirs."); 1639 prds_sw = "1"b; 1640 call get_mc_specifiers(); 1641 end; 1642 1643 else if arg = "-misc" then args_specified, arg_bits_def.mis = "1"b; 1644 else if arg = "-mc_err" then args_specified, arg_bits_def.mc_err = "1"b; 1645 else if arg = "-flt" | arg = "-faults" then args_specified, arg_bits_def.flt = "1"b; 1646 else if arg = "-tm" | arg = "-time" then args_specified, arg_bits_def.tm = "1"b; 1647 else if arg = "-eis" then args_specified, arg_bits_def.eis = "1"b; 1648 else if arg = "-lg" | arg = "-long" then args_specified, arg_bits_def.all = "1"b; 1649 else if arg = "-oc" | arg = "-octal" then args_specified, octal_sw = "1"b; 1650 else if arg = "-scu" then args_specified, arg_bits_def.scu = "1"b; 1651 else if arg = "-ppr" then args_specified, arg_bits_def.ppr = "1"b; 1652 else if arg = "-tpr" then args_specified, arg_bits_def.tpr = "1"b; 1653 else if arg = "-regs"| arg = "-registers" then do; 1654 args_specified = "1"b; 1655 call get_mc_reg_list(); 1656 end; 1657 else if arg = "-prs"| arg = "-pointers" then do; 1658 args_specified = "1"b; 1659 call get_mc_pr_list(); 1660 end; 1661 else do; 1662 if ^va_arg(argno) then do; 1663 if substr(arg,1,1) = "-" then code = error_table_$badopt; 1664 else code = error_table_$bad_arg; 1665 call ssu_$abort_line(sci_ptr, code, " ^a", arg); 1666 end; 1667 end; 1668 end; /* arg processing */ 1669 1670 if (dump_sw & prds_sw) | (dump_sw & pds_sw) | (dump_sw & va_sw) | 1671 (prds_sw & pds_sw) | (prds_sw & va_sw) | (pds_sw & va_sw) then 1672 call ssu_$abort_line(sci_ptr, error_table_$inconsistent, " 1673 ^[virtual-address ^]^[-prds ^]^[-pds ^]^[-dump ^]", va_sw, prds_sw, pds_sw, dump_sw); 1674 1675 if ^(args_specified) then do; /* set the default */ 1676 arg_bits_def.scu, arg_bits_def.pr (6) = "1"b; 1677 arg_bits_def.tpr, arg_bits_def.mc_err = "1"b; 1678 arg_bits_def.flt, arg_bits_def.tm = "1"b; 1679 end; 1680 else if octal_sw then do; 1681 if (index (what_regs.registers, "1"b) > 0) | arg_bits_def.eis | arg_bits_def.scu | arg_bits_def.all 1682 then arg_bits_def.long = "1"b; 1683 else call ssu_$abort_line(sci_ptr, error_table_$noarg, "^/ -octal is used in conjunction with -scu | -regs | -eis."); 1684 end; 1685 1686 if ^(dump_sw | prds_sw | pds_sw | va_sw) then do; /* use the default value from prmc if not set then error */ 1687 t_pr_name = "prmc"; 1688 call amu_$definition_get_prn (amu_info_ptr, t_pr_name, temp_ptr, code); 1689 if code ^= 0 then call ssu_$abort_line (sci_ptr, code, "The MC pointer 'prmc' is not set."); 1690 if temp_ptr = null () then call ssu_$abort_line (sci_ptr, 0, 1691 "The machine condition pointer 'prmc' is not set. See the set request."); 1692 segno = fixed (baseno (temp_ptr), 17); 1693 first = fixed (rel (temp_ptr), 18); 1694 end; 1695 1696 if prds_sw | pds_sw then do; 1697 call mc_by_keyword(); 1698 goto END_MC; 1699 end; 1700 1701 if va_sw then do; 1702 call ssu_$get_temp_segment (sci_ptr, "azm-mc", data_buf_ptr); 1703 call get_stack (segno, code); /* returns stack base ptr if a stack */ 1704 if code ^= 0 then do; 1705 if code = amu_et_$not_stack_seg then do; 1706 goto READY_TO_PRINT; 1707 end; 1708 else call ssu_$abort_line(sci_ptr, code); 1709 end; 1710 1711 sp = addrel (sb, first); /* get stk frame ptr */ 1712 /* get return ptr */ 1713 temp_ptr1 = stack_frame.return_ptr; 1714 segno1 = fixed (baseno (temp_ptr1), 18); 1715 first1 = fixed (rel (temp_ptr1), 18); 1716 range1 = 2; 1717 1718 ret_str = amu_$get_name (amu_info_ptr, temp_ptr1); 1719 1720 if index (ret_str, "return_to_ring_0") > 0 1721 | index (ret_str, "signaller") > 0 1722 | index (ret_str, "$fim") ^= 0 1723 then first = first+48; /* goto where machine conditions start in frame */ 1724 1725 else; /* use what the user says */ 1726 end; 1727 1728 READY_TO_PRINT: 1729 1730 call ioa_ ("Machine Conditions from ^[(^p) ^a^;^2s^]^[Dump^].", ^arg_bits_def.dump, 1731 addrel (baseptr (segno), first), amu_$get_name (amu_info_ptr, addrel (baseptr (segno), first)), 1732 arg_bits_def.dump); 1733 1734 call common_mc(); 1735 1736 END_MC: 1737 if data_buf_ptr ^= null() then call ssu_$release_temp_segment(sci_ptr, data_buf_ptr); 1738 if code ^= 0 then call ssu_$abort_line (sci_ptr, code, ""); 1739 1740 return; /* end mc entry */ 1741 1742 azm_requests_1_$sdw: 1743 entry (P_sci_ptr, P_azm_info_ptr); 1744 1745 call set_up; 1746 if ^trans_selected () then call ssu_$abort_line (sci_ptr, 0, "No dump selected."); 1747 1748 if nargs > 2 then call ssu_$abort_line(sci_ptr, error_table_$too_many_args, "^/Usage: sdw {segno/name} {segno/name}."); 1749 1750 segno = hardcore_info.dseg; 1751 code = 0; 1752 data_buf_ptr = null(); 1753 on condition(cleanup) begin; 1754 if data_buf_ptr ^= null() then call ssu_$release_temp_segment(sci_ptr, data_buf_ptr); 1755 end; 1756 1757 first_segno = 0; /* set up default range */ 1758 last_segno = divide (sys_info$max_seg_size, 2, 17, 0) - 1; 1759 if nargs = 0 then goto GET_SDWS; /* wants it ALL */ 1760 1761 /* First argument will be a segno/name */ 1762 1763 call ssu_$arg_ptr (sci_ptr, 1, argp, argl); 1764 first_segno = cv_oct_check_ (arg, code); 1765 if code ^= 0 then do; /* see if name */ 1766 if index(arg, "$|") > 0 then call ssu_$abort_line (sci_ptr, 0, 1767 "Segment name is not valid. It has an offset or name is a symbol. ^a", arg); 1768 call amu_$get_segno_from_name (sci_ptr, amu_info_ptr, arg, first_segno, code); 1769 if code ^= 0 then call ssu_$abort_line (sci_ptr, code, "^a", arg); 1770 end; 1771 1772 if nargs = 2 then do; 1773 call ssu_$arg_ptr (sci_ptr, 2, argp, argl); 1774 last_segno = cv_oct_check_ (arg, code); 1775 if code ^= 0 then do; /* see if name */ 1776 if index(arg, "$|") > 0 then call ssu_$abort_line (sci_ptr, 0, 1777 "Segment name is not valid. It has an offset or name is a symbol. ^a", arg); 1778 call amu_$get_segno_from_name (sci_ptr, amu_info_ptr, arg, last_segno, code); 1779 if code ^= 0 then call ssu_$abort_line (sci_ptr, code, "^a", arg); 1780 end; 1781 end; 1782 else last_segno = first_segno; 1783 1784 if first_segno > last_segno then call ssu_$abort_line (sci_ptr, code, 1785 "The starting segment number ^o must be less than then ending segment ^o.", first_segno, last_segno); 1786 1787 if last_segno > divide (sys_info$max_seg_size, 2, 17, 0) - 1 then 1788 call ssu_$abort_line (sci_ptr, code, "The ^o specified is too large to be contained in DSEG.", last_segno); 1789 1790 GET_SDWS: 1791 1792 if first_segno = last_segno then range, range1 = 2; 1793 else range, range1 = ((last_segno + 1) * 2) - (first_segno * 2); 1794 1795 call ssu_$get_temp_segment (sci_ptr, "azm-sdw", data_buf_ptr); 1796 call get_data_ (data_buf_ptr, segno, (first_segno * 2), range, code); 1797 1798 if range < range1 then do; 1799 i = last_segno - divide ((range1 - range), 2, 0, 17); 1800 if nargs = 0 then call ioa_ ("Segment ^o is not known to this process^[, last known segment is ^o^].", 1801 last_segno, first_segno ^= last_segno, i); 1802 1803 if last_segno = first_segno | first_segno > i then go to SDWERR; 1804 last_segno = i; 1805 end; 1806 1807 hdr_printed = "0"b; 1808 sdwp = data_buf_ptr; 1809 do segno = first_segno to last_segno; 1810 call ioa_$rsnnl ("^[R^; ^]^[E^; ^]^[W^; ^]^[P^; ^]^[U^; ^]^[G^; ^]^[C^; ^]^[DF^; ^]", axstring, (0), 1811 /* generate the REWPUGCDF string */ 1812 sdw.read, sdw.execute, sdw.write, sdw.privileged, sdw.unpaged, sdw.entry_bound_sw, sdw.cache, sdw.df); 1813 1814 if ^hdr_printed then call ioa_ (" ADDRESS RNGS CA-MAX REWPUGCDF EBOUND SEGNO SEGMENT-NAME"); 1815 hdr_printed = "1"b; 1816 call ioa_ ("^8o ^.3b^.3b^.3b ^6o ^9a ^6o ^5o ^a", fixed (sdw.add, 24), sdw.r1, sdw.r2, sdw.r3, 1817 ((fixed ("0"b || sdw.bound, 18) + 1) * 16) - 1, axstring, fixed (sdw.entry_bound, 14), segno, 1818 amu_$get_name_no_comp (amu_info_ptr, baseptr (segno))); 1819 1820 if sdw.df_no ^= "0"b then call ioa_ ("****The sdw.df_no is ^.3b, should be 0****", "0"b || sdw.df_no); 1821 1822 sdwp = addrel (sdwp, 2); 1823 end; /* end loop */ 1824 1825 SDWERR: 1826 if data_buf_ptr ^= null then call ssu_$release_temp_segment (sci_ptr, data_buf_ptr); 1827 1828 if ^(hdr_printed) then call ioa_ ("No valid SDW^[s^] found (^o^[ - ^o^]).", 1829 first_segno ^= last_segno, first_segno, first_segno ^= last_segno, last_segno); 1830 1831 return; 1832 1833 azm_requests_1_$select_proc: 1834 entry (P_sci_ptr, P_azm_info_ptr); 1835 1836 dcl found bit(1); 1837 dcl Pproc ptr; 1838 1839 call set_up; 1840 if ^trans_selected () then call ssu_$abort_line (sci_ptr, 0, "No current dump selected."); 1841 1842 proc_ptr = null(); 1843 proc_sw, dbr_sw, brief_sw, cpu_sw = "0"b; 1844 dbr, pid, apte_offset = 0; 1845 cpu_name = ""; 1846 process_idx = -1; 1847 1848 if nargs = 0 then do; 1849 process_idx = amu_info.process_idx; 1850 goto PRINT_CURRENT; 1851 end; 1852 1853 do argno = 1 to nargs; 1854 call ssu_$arg_ptr (sci_ptr, argno, argp, argl); 1855 1856 if substr (arg, 1, 1) ^= "-" then do; 1857 procl = argl; 1858 proc_ptr = argp; 1859 proc_arg = arg; 1860 proc_sw = "1"b; 1861 end; 1862 else if arg = "-cpu" then do; 1863 call get_next_arg ("CPU tag", proc_ptr, procl); 1864 cpu_sw = "1"b; 1865 end; 1866 else if arg = "-dbr" then do; 1867 call get_next_arg ("dbr_value", proc_ptr, procl); 1868 dbr_sw = "1"b; 1869 end; 1870 else if arg = "-bf" | arg = "-brief" then brief_sw = "1"b; 1871 else if arg = "-lg" | arg = "-long" then brief_sw = "0"b; 1872 else do; 1873 call ssu_$abort_line (sci_ptr, error_table_$badopt, "Not a valid arg ""^a"".", arg); 1874 end; 1875 end; 1876 1877 if proc_sw & (dbr_sw | cpu_sw) then call ssu_$abort_line (sci_ptr, error_table_$inconsistent, 1878 "process_specifier and^[ -dbr^]^[ -cpu^]", dbr_sw, cpu_sw); 1879 1880 if ^(proc_sw) then if ^(dbr_sw | cpu_sw) then call ssu_$abort_line (sci_ptr, 0, 1881 "No process specified.^/Usage: slp {process_specifier | -dbr dbr_value | -cpu TAG} {-bf | -lg}"); 1882 1883 if dbr_sw then do; 1884 dbr = cv_oct_check_ (proc_arg, code); 1885 if code ^= 0 then do; 1886 call ssu_$abort_line (sci_ptr, error_table_$badopt, "DBR value not octal ""^a"".", proc_arg); 1887 end; 1888 end; 1889 else if cpu_sw then do; 1890 if procl >= 2 then goto bad_name; 1891 i = index (CPU_NAME, proc_arg); 1892 if i = 0 then do; 1893 bad_name: 1894 call ssu_$abort_line (sci_ptr, error_table_$bad_arg, "CPU tag must be a thru h ""^a"".", proc_arg); 1895 end; 1896 cpu_name = proc_arg; 1897 end; 1898 else do; /* have a process indicator */ 1899 apte_offset, pid = 0; 1900 call determine_process_idx (apte_offset, pid, process_idx); 1901 end; 1902 1903 if apte_offset > 0 then do; 1904 index_changed = "1"b; 1905 call amu_$fdump_mpt_temp_change_idx (amu_info_ptr, lbound (fdump_process_table.array, 1)); 1906 call amu_$tc_data_get_dbr (amu_info_ptr, apte_offset, dbr); 1907 if dbr = -1 then do; 1908 call ioa_ ("APTE at ^o is empty", apte_offset); 1909 return; 1910 end; 1911 end; 1912 1913 if pid > 0 then do; /* match on process-ids to get the process_idx */ 1914 pidbit = convert(pidbit, pid); 1915 hold_index = amu_info.process_idx; 1916 call amu_$fdump_mpt_temp_change_idx (amu_info_ptr, hold_index); 1917 found = "0"b; 1918 do i = 0 to hbound (fdump_process_table.array, 1) while (^found); 1919 call amu_$fdump_mpt_change_idx (amu_info_ptr, i); 1920 Pproc = fdump_process_table.array(i).process_info_ptr; 1921 if Pproc->process_info.pid = pidbit then do; 1922 found = "1"b; 1923 process_idx = i; 1924 end; 1925 end; 1926 call amu_$fdump_mpt_revert_idx (amu_info_ptr); 1927 if ^(found) then call ssu_$abort_line (sci_ptr, 0, "Process with id ^a not found in dump.", proc_arg); 1928 end; 1929 1930 PRINT_CURRENT: 1931 code = 0; 1932 call amu_$fdump_mpt_fill_proc_table (amu_info_ptr, dbr, process_idx, cpu_name, brief_sw, code); 1933 if code ^= 0 then do; 1934 if dbr_sw then code = amu_et_$dbr_not_found; 1935 call ssu_$abort_line (sci_ptr, code, " ^[""^a""^;^s^].", proc_ptr^= null(), proc_arg); 1936 end; 1937 1938 return; 1939 1940 common_mc: 1941 proc; 1942 1943 /* now we should know where to get the mc from and what parts the user wants so 1944* set up to get the data and then get it */ 1945 1946 if ^arg_bits_def.dump then do; 1947 range = 48; 1948 data_buf_ptr = addr (mc_area); 1949 call get_data_ (data_buf_ptr, segno, first, range, code); 1950 end; /* now that we have the data get it printed */ 1951 1952 call azm_display_mc_ (sci_ptr, amu_info_ptr, data_buf_ptr, arg_bits_ptr, code); 1953 if code ^= 0 then call ssu_$abort_line (sci_ptr, code, ""); 1954 else if (arg_bits_def.set_ptr & arg_bits_def.mc_stored & ^arg_bits_def.dump) then do; 1955 temp_ptr = pointer (baseptr (segno), first); 1956 call ioa_ ("Setting Temporary pointers from ^p.", temp_ptr); 1957 t_pr_name = "prmc"; 1958 call amu_$definition_set_prn (amu_info_ptr, t_pr_name, segno, first, code); 1959 t_pr_name = "prs"; 1960 call amu_$definition_set_from (amu_info_ptr, t_pr_name, data_buf_ptr, code); 1961 t_pr_name = "pr6"; 1962 call amu_$definition_get_prn (amu_info_ptr, t_pr_name, temp_ptr, code); 1963 if cond_frame then 1964 first = first - 48; 1965 else do; 1966 segno = fixed (baseno (temp_ptr), 17); 1967 first = fixed (rel (temp_ptr), 18); 1968 end; 1969 t_pr_name = "prfr"; 1970 call amu_$definition_set_prn (amu_info_ptr, t_pr_name, segno, first, code); 1971 end; 1972 if arg_bits_def.dump then 1973 if arg_bits_def.set_ptr then call ioa_ ("^/Cannot set temporary pointers from the dump registers."); 1974 1975 end common_mc; 1976 1977 dump_as_structure: proc(long_sw); 1978 1979 dcl long_sw bit(1); 1980 amu_info.sci_ptr = sci_ptr; /* need this for amu_get_name_$for_structure */ 1981 display_size = sys_info$max_seg_size; 1982 copy_ptr = pointer(baseptr(segno), first); 1983 call get_data_ (data_buf_ptr, segno, first, display_size, code); 1984 if code ^= 0 then do; 1985 call ssu_$release_temp_segment (sci_ptr, data_buf_ptr); 1986 call ssu_$abort_line (sci_ptr, code, ""); 1987 end; 1988 call structure_ref_$parse ((struct_name), (""), unsubscripted_name, subscripts, n_subscripts, 1989 match_names, n_match_names, code); 1990 if (code ^= 0) then call ssu_$abort_line (sci_ptr, 0, "Syntax error in structure reference ^a.", struct_name); 1991 call structure_find_$search (unsubscripted_name, symbol_ptr, code); 1992 if (code ^= 0) then call ssu_$abort_line (sci_ptr, 0, "Cannot get library definition for ^a", 1993 unsubscripted_name); 1994 1995 call display_data_$for_azm (null (), (^long_sw), match_names, n_match_names, amu_info_ptr, 1996 data_buf_ptr, display_size, copy_ptr, symbol_ptr, subscripts, n_subscripts, code); 1997 if (code ^= 0) then call ssu_$abort_line (sci_ptr, code, "^a", struct_name); 1998 1999 end dump_as_structure; 2000 2001 determine_process_idx: proc(apte_offset, pid, pidx); 2002 2003 dcl apte_offset fixed bin(18), 2004 pidx fixed bin, 2005 pid fixed bin(36), 2006 proc_idx fixed bin(35), 2007 code fixed bin(35); 2008 2009 proc_idx = cv_dec_check_ (proc_arg, code); 2010 if code ^= 0 then do; 2011 call ssu_$abort_line (sci_ptr, error_table_$badopt, "Process indicator is invalid. ""^a"".", proc_arg); 2012 end; 2013 2014 if proc_idx < 3000 then do; /* have a process index */ 2015 pidx = proc_idx; 2016 end; 2017 2018 else if proc_idx > 777777 then do; /* octal process-id */ 2019 pid = cv_oct_check_ (proc_arg, code); 2020 if code ^= 0 then call ssu_$abort_line (sci_ptr, error_table_$badopt, "Process-id not octal ""^a"".", proc_arg); 2021 2022 end; 2023 2024 else do; /* must be an octal APTE offset */ 2025 apte_offset = cv_oct_check_ (proc_arg, code); 2026 if code ^= 0 then call ssu_$abort_line (sci_ptr, error_table_$badopt, "APTE offset not octal ""^a"".", proc_arg); 2027 end; 2028 2029 end determine_process_idx; 2030 2031 dtc: 2032 proc (b) returns (char (24)); 2033 2034 dcl b bit (36) parameter; 2035 dcl buf bit (72); 2036 dcl fbuf fixed (71); 2037 dcl date char (24); 2038 2039 buf = "0"b; 2040 substr (buf, 21) = b; 2041 unspec (fbuf) = unspec (buf); 2042 call date_time_ (fbuf, date); 2043 2044 return (date); 2045 2046 end dtc; 2047 2048 2049 get_data_: 2050 proc (data_ptr, seg, word, number, a_code); 2051 2052 2053 dcl data_ptr ptr; 2054 dcl seg fixed bin; 2055 dcl sidx fixed bin; 2056 dcl (word, number) fixed bin (18); 2057 dcl a_code fixed bin (35); 2058 2059 a_code = 0; 2060 index_changed = "0"b; 2061 if azm_info.in_erf then do; 2062 if ^amu_$return_val_per_process (amu_info_ptr, seg) then do; 2063 index_changed = "1"b; 2064 call amu_$fdump_mpt_temp_change_idx (amu_info_ptr, lbound (fdump_process_table.array, 1)); 2065 end; 2066 end; 2067 call amu_$do_translation (amu_info_ptr, seg, data_ptr, word, number, a_code); 2068 if index_changed = "1"b then do; 2069 do sidx = 1 to translation_table.n_entries while (seg ^= translation_table (sidx).segno); 2070 end; 2071 if translation_table.flags (sidx).replaced then return; 2072 else call amu_$fdump_mpt_revert_idx (amu_info_ptr); 2073 index_changed = "0"b; 2074 end; 2075 2076 end get_data_; 2077 2078 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 2079 2080 get_mc_pr_list: proc(); 2081 2082 dcl i fixed bin; 2083 2084 va_sw = "0"b; 2085 if argno = nargs then do; /* set the default */ 2086 arg_bits_def.prs = "1"b; 2087 goto END_PR; 2088 end; 2089 2090 argno = argno + 1; 2091 do i = argno to nargs; 2092 call ssu_$arg_ptr (sci_ptr, i, argp, argl); 2093 if substr (arg, 1, 1) = "-" then do; 2094 2095 if i = argno then /* set the default */ 2096 arg_bits_def.prs = "1"b; 2097 goto END_PR; 2098 end; 2099 else do; 2100 temp_num = cv_oct_check_ (arg, code); 2101 if code ^= 0 then call ssu_$abort_line (sci_ptr, error_table_$bad_arg, 2102 "Invalid pointer reg specified ""^a"".", arg); 2103 if ^(temp_num < 0 | temp_num > 7) then 2104 arg_bits_def.pr (temp_num) = "1"b; 2105 else call ssu_$abort_line (sci_ptr, error_table_$bad_arg, 2106 "Invalid pointer reg specified < 0 | > 7 ""^a"".", arg); 2107 end; 2108 end; 2109 END_PR: 2110 argno = i - 1; /* reset argno */ 2111 return; 2112 2113 end get_mc_pr_list; 2114 2115 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 2116 2117 get_mc_reg_list: proc(); 2118 2119 dcl i fixed bin; 2120 2121 if argno = nargs then do; /* set the default */ 2122 arg_bits_def.regs = "1"b; 2123 goto END_REG; 2124 end; 2125 2126 argno = argno + 1; 2127 do i = argno to nargs; 2128 call ssu_$arg_ptr (sci_ptr, i, argp, argl); 2129 if substr (arg, 1, 1) = "-" then do; 2130 if i = argno then /* set the default */ 2131 arg_bits_def.regs = "1"b; 2132 goto END_REG; 2133 end; 2134 else if substr (arg, 1, 1) = "x" then do; 2135 temp_num = cv_oct_check_ (substr (arg, 2, 1), code); 2136 if code ^= 0 then call ssu_$abort_line (sci_ptr, error_table_$bad_arg, "bad x reg ""^a"".", arg); 2137 arg_bits_def.xreg (temp_num) = "1"b; 2138 end; 2139 else if arg = "a" then arg_bits_def.areg = "1"b; 2140 else if arg = "q" then arg_bits_def.qreg = "1"b; 2141 else if arg = "all" then arg_bits_def.regs = "1"b; 2142 end; 2143 END_REG: 2144 argno = i - 1; /* reset argno */ 2145 return; 2146 2147 end get_mc_reg_list; 2148 2149 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 2150 2151 get_mc_specifiers: proc(); 2152 2153 dcl i fixed bin; 2154 2155 if argno = nargs then do; /* set the defaults */ 2156 if pds_sw then mcp_pgflt_sw, mcp_fim_sw, mcp_sig_sw = "1"b; 2157 else mcpr_int_sw, mcpr_fim_sw, mcpr_systroub_sw = "1"b; 2158 return; 2159 end; 2160 2161 argno = argno + 1; 2162 do i = argno to nargs; 2163 call ssu_$arg_ptr (sci_ptr, i, argp, argl); 2164 if substr (arg, 1, 1) = "-" then do; 2165 if i = argno then do; /* set the default "all" */ 2166 if pds_sw then mcp_pgflt_sw, mcp_fim_sw, mcp_sig_sw = "1"b; 2167 else mcpr_int_sw, mcpr_fim_sw, mcpr_systroub_sw = "1"b; 2168 end; 2169 goto END_SPECS; 2170 end; 2171 else if arg = "all" then do; 2172 if pds_sw then mcp_pgflt_sw, mcp_fim_sw, mcp_sig_sw = "1"b; 2173 else mcpr_int_sw, mcpr_fim_sw, mcpr_systroub_sw = "1"b; 2174 end; 2175 else do; 2176 if pds_sw then do; 2177 if va_sw then if index (arg, va.va_string) > 0 then va_sw = "0"b; 2178 if arg = "pgf" | arg = "page_fault" | arg = "page_fault_data" then 2179 mcp_pgflt_sw = "1"b; 2180 else if arg = "fim" | arg = "fim_data" then mcp_fim_sw = "1"b; 2181 else if arg = "sig" | arg = "signal" | arg = "signaller" | arg = "signal_data" then 2182 mcp_sig_sw = "1"b; 2183 else call ssu_$abort_line (sci_ptr, error_table_$bad_arg, """^a"".", arg); 2184 end; 2185 else if prds_sw then do; 2186 if va_sw then if index (arg, va.va_string) > 0 then va_sw = "0"b; 2187 if arg = "fim" | arg = "fim_data" then mcpr_fim_sw = "1"b; 2188 else if arg = "int" | arg = "interrupt" | arg = "interrupt_data" then 2189 mcpr_int_sw = "1"b; 2190 else if arg = "sys" | arg = "system_trouble" | arg = "sys_trouble_data" then 2191 mcpr_systroub_sw = "1"b; 2192 else call ssu_$abort_line (sci_ptr, error_table_$bad_arg, """^a"".", arg); 2193 end; 2194 else call ssu_$abort_line (sci_ptr, error_table_$bad_arg, """^a"".", arg); 2195 end; 2196 end; /* arg processing loop */ 2197 2198 END_SPECS: 2199 argno = i - 1; /* reset argno */ 2200 return; 2201 2202 end get_mc_specifiers; 2203 2204 get_new_trans: proc (segno, code); 2205 2206 /* get a translation for the seg and place / replace it in the translation table */ 2207 2208 dcl code fixed bin(35); 2209 dcl segno fixed bin; 2210 2211 dcl 1 temp_trans like translation; 2212 dcl temp_proc_hold fixed bin; 2213 2214 translation_ptr = addr (temp_trans); 2215 if amu_info.type = FDUMP_PROCESS_TYPE then do; 2216 if ^amu_$return_val_per_process (amu_info_ptr, segno) then do; 2217 /* could be stack for logger */ 2218 temp_proc_hold = amu_info.process_idx; 2219 call amu_$fdump_mpt_change_idx (amu_info_ptr, 0); 2220 call amu_$fdump_translate_to_temp_seg (amu_info_ptr, baseptr (segno), translation_ptr, code); 2221 call amu_$fdump_mpt_change_idx (amu_info_ptr, temp_proc_hold); 2222 end; 2223 else do; 2224 call amu_$fdump_translate_to_temp_seg (amu_info_ptr, baseptr (segno), translation_ptr, code); 2225 end; 2226 end; 2227 2228 else if amu_info.type = SAVED_PROC_TYPE then do; 2229 code = amu_et_$no_translation; 2230 return; 2231 end; 2232 2233 else do; 2234 code = amu_et_$not_implemented; 2235 return; 2236 end; 2237 2238 if code ^= 0 then return; 2239 call amu_$translate_force_add (amu_info_ptr, translation_ptr, segno, code); 2240 if code ^= 0 then return; 2241 2242 end get_new_trans; 2243 2244 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 2245 2246 get_next_arg: proc(Arg_expected, ap1, al1); 2247 2248 /* This guy gets the next argument from the argument string, complaining if it's not there */ 2249 2250 dcl Arg_expected char(*); 2251 dcl (ap1 ptr, 2252 al1 fixed bin(21)); 2253 2254 if (argno + 1) > nargs then do; 2255 call ssu_$abort_line(sci_ptr, error_table_$noarg, "A ^a expected after ^a.", Arg_expected, arg); 2256 return; 2257 end; 2258 2259 argno = argno + 1; 2260 call ssu_$arg_ptr (sci_ptr, argno, ap1, al1); 2261 2262 end get_next_arg; 2263 2264 get_stack: proc(stack_no, code); 2265 2266 dcl stack_no fixed bin(17); 2267 dcl code fixed bin(35); 2268 2269 code = 0; 2270 2271 call amu_$translate_get (amu_info_ptr, stack_no, translation_ptr, code); 2272 if translation_ptr = null then do; /* if null then no trans */ 2273 if code = amu_et_$invalid_segno then do; /* not valid segno */ 2274 call amu_$error_for_caller (amu_info_ptr, code, ssu_$get_subsystem_and_request_name, 2275 "Cannot get segment ^o.", stack_no); 2276 return; 2277 end; 2278 else do; /* OK now translate it into a temp seg */ 2279 call get_new_trans (stack_no, code); 2280 if code ^= 0 then do; 2281 call amu_$error_for_caller (amu_info_ptr, code, ssu_$get_subsystem_and_request_name, 2282 "Unable to translate segment ^o.", stack_no); 2283 return; 2284 end; 2285 end; 2286 end; 2287 2288 else do; /* if translated see if it is in a temp seg */ 2289 if ^translation.flags.in_temp_seg & ^translation.flags.in_perm_seg then do; 2290 /* is not in a temp seg so retranslate it */ 2291 call get_new_trans(stack_no, code); 2292 if code ^= 0 then do; 2293 call amu_$error_for_caller (amu_info_ptr, code, ssu_$get_subsystem_and_request_name, 2294 "Unable to translate segment ^o.", stack_no); 2295 return; 2296 end; 2297 end; 2298 end; 2299 2300 sb = translation.part1.ptr; 2301 if ^thread_ptr_val (stack_header.stack_begin_ptr, stack_no) then 2302 code = amu_et_$not_stack_seg; 2303 else if ^thread_ptr_val (stack_header.stack_end_ptr, stack_no) then 2304 code = amu_et_$not_stack_seg; 2305 2306 end get_stack; 2307 2308 hunt_for_code: 2309 2310 proc (seg, word, number); 2311 2312 dcl seg fixed bin; 2313 dcl (word, number) fixed bin (18); 2314 2315 index_changed = "0"b; 2316 if azm_info.in_erf then do; 2317 if ^amu_$return_val_per_process (amu_info_ptr, seg) then do; 2318 index_changed = "1"b; 2319 call amu_$fdump_mpt_temp_change_idx (amu_info_ptr, lbound (fdump_process_table.array, 1)); 2320 end; 2321 end; 2322 call amu_$do_translation_hunt (amu_info_ptr, seg, data_buf_ptr, word, number, code); 2323 if index_changed = "1"b then do; 2324 call amu_$fdump_mpt_revert_idx (amu_info_ptr); 2325 index_changed = "0"b; 2326 end; 2327 end hunt_for_code; 2328 2329 list_by_state: proc(); 2330 2331 dcl state_found bit(1); 2332 2333 state_found = "0"b; 2334 hold_index = amu_info.process_idx; 2335 call amu_$fdump_mpt_temp_change_idx (amu_info_ptr, hold_index); 2336 do i = 0 to hbound (fdump_process_table.array, 1); 2337 call amu_$fdump_mpt_change_idx (amu_info_ptr, i); 2338 Pproc = fdump_process_table.array(i).process_info_ptr; 2339 if list_state(Pproc->process_info.state) then do; 2340 state_found = "1"b; 2341 tally_states(Pproc->process_info.state) = tally_states(Pproc->process_info.state) + 1; 2342 if ^totals_only then do; 2343 if af_sw then call amu_$fdump_mpt_current_process_af (amu_info_ptr, rv_ptr, rv_lth); 2344 else call amu_$fdump_mpt_current_process (amu_info_ptr); 2345 end; 2346 end; 2347 end; 2348 if ^state_found then do; 2349 if af_sw then rv_str = ""; 2350 else if ^ct_sw then call ssu_$abort_line(sci_ptr, 0, "No processes in the dump met state criteria specified."); 2351 end; 2352 if ct_sw then call print_totals(); 2353 call amu_$fdump_mpt_revert_idx (amu_info_ptr); 2354 2355 end list_by_state; 2356 2357 mc_by_keyword: proc(); 2358 2359 if mcp_pgflt_sw then do; 2360 temp_ptr = amu_$definition_ptr (amu_info_ptr, "pds", "page_fault_data", code); 2361 segno = fixed (baseno (temp_ptr), 17); 2362 first = fixed (rel (temp_ptr), 18); 2363 call ioa_ ("^/Machine conditions from pds$page_fault_data:"); 2364 call common_mc(); 2365 end; 2366 if mcp_fim_sw then do; 2367 temp_ptr = amu_$definition_ptr (amu_info_ptr, "pds", "fim_data", code); 2368 segno = fixed (baseno (temp_ptr), 17); 2369 first = fixed (rel (temp_ptr), 18); 2370 call ioa_ ("^/Machine conditions from pds$fim_data:"); 2371 call common_mc(); 2372 end; 2373 if mcp_sig_sw then do; 2374 temp_ptr = amu_$definition_ptr (amu_info_ptr, "pds", "signal_data", code); 2375 segno = fixed (baseno (temp_ptr), 17); 2376 first = fixed (rel (temp_ptr), 18); 2377 call ioa_ ("^/Machine conditions from pds$signal_data:"); 2378 call common_mc(); 2379 end; 2380 2381 2382 if mcpr_int_sw then do; 2383 temp_ptr = amu_$definition_ptr (amu_info_ptr, "prds", "interrupt_data", code); 2384 segno = fixed (baseno (temp_ptr), 17); 2385 first = fixed (rel (temp_ptr), 18); 2386 call ioa_ ("^/Machine conditions from prds$interrupt_data:"); 2387 call common_mc(); 2388 end; 2389 if mcpr_fim_sw then do; 2390 temp_ptr = amu_$definition_ptr (amu_info_ptr, "prds", "fim_data", code); 2391 segno = fixed (baseno (temp_ptr), 17); 2392 first = fixed (rel (temp_ptr), 18); 2393 call ioa_ ("^/Machine conditions from prds$fim_data:"); 2394 call common_mc(); 2395 end; 2396 if mcpr_systroub_sw then do; 2397 temp_ptr = amu_$definition_ptr (amu_info_ptr, "prds", "sys_trouble_data", code); 2398 segno = fixed (baseno (temp_ptr), 17); 2399 first = fixed (rel (temp_ptr), 18); 2400 call ioa_ ("^/Machine conditions from prds$sys_trouble_data:"); 2401 call common_mc(); 2402 end; 2403 2404 end mc_by_keyword; 2405 2406 print_totals: proc(); 2407 2408 dcl i fixed bin; 2409 2410 if af_sw then rv_str = ""; 2411 if af_sw & totals_only then rv_str = ltrim(char(fdump_process_table.size + 1)); 2412 else do; 2413 do i = 1 to hbound(list_state,1); 2414 if list_state(i) then do; 2415 if af_sw then rv_str = rv_str || " " || ltrim(char(tally_states(i))); 2416 else 2417 call ioa_$nnl("^/Processes ^a =^21t^d.", process_st(i), tally_states(i)); 2418 end; 2419 end; 2420 if totals_only then call ioa_$nnl("^/Total processes =^21t^d.", fdump_process_table.size + 1); 2421 end; 2422 2423 end print_totals; 2424 2425 process_common_args: proc(); 2426 2427 ct_sw, cur_sw, totals_only, proc_sw, all_sw, brief_sw = "0"b; 2428 process_idx = -1; 2429 pid, apte_offset = 0; 2430 list_state(*) = "0"b; 2431 tally_states(*) = 0; 2432 2433 if nargs = 0 then do; 2434 list_state(*) = "1"b; 2435 end; 2436 2437 do argno = 1 to nargs; 2438 call ssu_$arg_ptr (sci_ptr, argno, argp, argl); 2439 2440 if substr (arg, 1, 1) ^= "-" then do; 2441 procl = argl; 2442 proc_ptr = argp; 2443 proc_arg = arg; 2444 proc_sw = "1"b; 2445 end; 2446 else if arg = "-a" | arg = "-all" then do; 2447 all_sw, list_state(*) = "1"b; 2448 end; 2449 else if arg = "-ct" | arg = "-count" then do; 2450 ct_sw = "1"b; 2451 end; 2452 else if arg = "-cur" | arg = "-current" then do; 2453 cur_sw = "1"b; 2454 end; 2455 else if arg = "-blk" | arg = "-blocked" then do; 2456 list_state(BLK) = "1"b; 2457 end; 2458 else if arg = "-ptl" | arg = "-page_table_lock" then do; 2459 list_state(PTL) = "1"b; 2460 end; 2461 else if arg = "-rdy" | arg = "-ready" then do; 2462 list_state(RDY) = "1"b; 2463 end; 2464 else if arg = "-run" then do; 2465 list_state(RUN) = "1"b; 2466 end; 2467 else if arg = "-stop" | arg = "-stopped" then do; 2468 list_state(STP) = "1"b; 2469 end; 2470 else if arg = "-wait" then do; 2471 list_state(WAIT) = "1"b; 2472 end; 2473 else do; 2474 call ssu_$abort_line (sci_ptr, error_table_$badopt, "Not a valid arg ""^a"".", arg); 2475 end; 2476 end; 2477 2478 if (proc_sw | cur_sw) & nargs >1 then call ssu_$abort_line (sci_ptr, error_table_$inconsistent, 2479 "^[process_specifier^;-current^] and -ctl_args", proc_sw); 2480 2481 if ct_sw then 2482 if nargs = 1 then do; 2483 totals_only = "1"b; 2484 list_state(*) = "1"b; 2485 end; 2486 2487 end process_common_args; 2488 2489 set_up: 2490 proc; 2491 2492 sci_ptr = P_sci_ptr; 2493 azm_info_ptr = P_azm_info_ptr; 2494 amu_info_ptr = azm_info.aip; 2495 call ssu_$return_arg (sci_ptr, nargs, af_sw, rv_ptr, rv_lth); 2496 if ^af_sw then call ssu_$arg_count (sci_ptr, nargs, af_sw); 2497 2498 end set_up; 2499 2500 thread_ptr_val: 2501 proc (vptr, segno) returns (bit (1)); 2502 2503 dcl vptr ptr; 2504 dcl segno fixed bin; 2505 dcl ret_bit bit(1); 2506 dcl any_other condition; 2507 2508 ret_bit="0"b; 2509 on condition (any_other) begin; 2510 goto RET_VAL; 2511 end; 2512 2513 if addr (vptr) -> its.its_mod = ITS_MODIFIER then do; 2514 if segno = fixed (baseno (vptr), 17) then 2515 ret_bit= "1"b; 2516 else ret_bit= "0"b; 2517 end; 2518 else ret_bit ="0"b; 2519 2520 RET_VAL: 2521 return(ret_bit); 2522 2523 end thread_ptr_val; 2524 2525 trans_selected: 2526 proc () returns (bit (1)); 2527 2528 return (^(amu_info_ptr = null())); 2529 2530 end trans_selected; 2531 2532 va_arg: proc(a_pos) returns(bit(1)); 2533 2534 dcl a_pos fixed bin; 2535 dcl i fixed bin; 2536 dcl arg_positions (3) aligned based (Ppos); 2537 /*dcl 1 arg_positions aligned based (Ppos), 2538* 2 indx (3) fixed bin; */ 2539 dcl Ppos ptr; 2540 2541 Ppos = addr(va.va_position); 2542 do i = 1 to hbound(arg_positions,1); 2543 if a_pos = arg_positions(i) then return("1"b); 2544 end; 2545 2546 return("0"b); 2547 end va_arg; 2548 2549 vput: 2550 proc (x); 2551 2552 2553 dcl x char (*) parameter; 2554 2555 if x = "FLUSH" | length (vs) > ll - 10 then do; 2556 if vs = "" then 2557 call ioa_ ("No Flags."); 2558 else call ioa_ ("Flags: ^a", vs); 2559 vs = ""; 2560 end; 2561 vs = vs || x; 2562 2563 return; 2564 2565 end vput; 1 1 1 2 /* BEGIN INCLUDE FILE add_type.incl.pl1 */ 1 3 /* 02/26/75 by Bernard S. Greenberg */ 1 4 1 5 /* This file provides a structure for checking 1 6* PTW/CME address type fields in PL/I */ 1 7 1 8 dcl 1 add_type unaligned static internal, 1 9 2 core bit (4) init ("1000"b), /* in core- S/B only in PTW */ 1 10 2 disk bit (4) init ("0100"b), /* Disk address */ 1 11 2 pd bit (4) init ("0010"b), /* Paging Device */ 1 12 2 reserved bit (4) init ("0001"b), /* Reserved */ 1 13 2 non_null bit (4) init ("1111"b); /* Not null address */ 1 14 1 15 dcl 1 badd_type unaligned based, 1 16 2 (core, disk, pd, reserved) bit (1) unaligned; 1 17 1 18 /* END INCLUDE FILE add_type.incl.pl1 */ 2566 2 1 /* BEGIN INCLUDE FILE amu_fdump_info.incl.pl1 */ 2 2 2 3 dcl 1 fdump_info aligned based (amu_info.fdump_info_ptr), 2 4 2 version char (8), 2 5 2 ref_count fixed bin, /* number of initiations */ 2 6 2 7 2 erf_name char (32), /* ERF name for this dump */ 2 8 2 dump_dname char (168), /* location of the dump */ 2 9 2 dump_ename char (32), /* ename of component zero */ 2 10 2 system_id char (8), /* the system_id of this erf */ 2 11 2 version_id char (8), /* the version id of this erf */ 2 12 2 dump_seg_0_uid bit (36) aligned, /* for determining EQ-ness and gullibility checking */ 2 13 2 14 2 n_dump_segs fixed bin, /* number of real segs in the dump */ 2 15 2 copy_block_ptr pointer, /* pointer to chain of temp segment blocks */ 2 16 2 17 2 dump_seg_ptr (0:31) pointer, /* pointer and length arrays */ 2 18 2 dump_seg_lth (0:31) fixed bin (18), 2 19 2 20 2 fdump_process_table_ptr pointer; /* pointer to array describing processes */ 2 21 2 22 2 23 dcl 1 fdump_process_table aligned based (fdump_info.fdump_process_table_ptr), 2 24 2 size fixed bin, /* number of entries */ 2 25 2 26 2 array (0:alloc_fdump_process_table_size - 1 refer (fdump_process_table.size)) like fp_table; 2 27 2 28 dcl 1 fp_table based (fp_table_ptr), 2 29 2 first_seg fixed bin, 2 30 2 last_seg fixed bin, 2 31 2 process_info_ptr pointer unaligned, /* pointer to process_info structure, if filled in */ 2 32 2 dmp_seg_indx fixed bin, /* dump seg index where process can be found */ 2 33 2 dmp_seg_offset fixed bin (24), /* offset in the segment refered to by dmp_seg_indx where process starts */ 2 34 2 cpu_name char (1), 2 35 2 dbr fixed bin (24), /* address portion of DBR */ 2 36 2 apte_offset fixed bin (18); 2 37 2 38 dcl fp_table_ptr ptr; 2 39 2 40 dcl alloc_fdump_process_table_size fixed bin; 2 41 2 42 dcl AMU_FDUMP_INFO_VERSION_1 char (8) internal static options (constant) init ("amu_erf1"); 2 43 dcl AMU_FDUMP_INFO_VERSION char (8) internal static options (constant) init ("amu_erf1"); 2 44 2 45 /* END INCLUDE FILE amu_fdump_info.incl.pl1 */ 2567 3 1 /* BEGIN INCLUDE FILE amu_hardcore_info.incl.pl1 */ 3 2 3 3 /* This structure contains information about the hardcore supervisor address 3 4* space for an address translation. */ 3 5 3 6 dcl 1 hardcore_info aligned based (amu_info.hardcore_info_ptr), 3 7 3 8 2 pointers, /* assorted pointers to various useful items */ 3 9 3 slt aligned, /* SLT */ 3 10 4 fptr pointer unaligned, /* address in foreign address space */ 3 11 4 lptr pointer unaligned, /* location in local address space */ 3 12 3 sltnt aligned like hardcore_info.slt, /* SLT names segment */ 3 13 3 definitions aligned like hardcore_info.slt, /* hardcore definitions_ segment */ 3 14 3 15 3 sst aligned like hardcore_info.slt, /* SST */ 3 16 3 tc_data aligned like hardcore_info.slt, /* TC_DATA */ 3 17 3 sstnt aligned like hardcore_info.slt, /* SSTNT (if any -- foreign_ptr = null if not) */ 3 18 3 upt aligned like hardcore_info.slt, /* unpaged_page_tables (if any -- foreign_ptr = null if not) */ 3 19 3 20 2 segno, /* segment numbers of various per-process/per-processor segs */ 3 21 3 prds fixed bin (15), /* segno of PRDS */ 3 22 3 dseg fixed bin (15), /* DSEG */ 3 23 3 pds fixed bin (15), /* PDS */ 3 24 3 kst fixed bin (15), /* KST */ 3 25 3 stack_0 fixed bin (15), /* segno of stack_0 -- first one in stack group */ 3 26 3 unpaged_page_tables fixed bin(15), /* segno of unpaged_page_tables if it exists */ 3 27 3 28 2 apt, /* information about the APT */ 3 29 3 foreign_ptr pointer unaligned, /* foreign and local pointers to tcm.apt */ 3 30 3 local_ptr pointer unaligned, 3 31 3 count fixed bin, /* number of APTEs */ 3 32 3 size fixed bin, /* size of a single APTE */ 3 33 3 34 2 hcs_count fixed bin, /* highest hardcore segno */ 3 35 3 36 2 pad1 fixed bin; 3 37 3 38 dcl hardcore_cur_ptr ptr; 3 39 3 40 dcl 1 hardcore_cur based (hardcore_cur_ptr), 3 41 2 sltp ptr, 3 42 2 sltntp ptr, 3 43 2 defp ptr, 3 44 2 sstp ptr, 3 45 2 tc_datap ptr, 3 46 2 sstntp ptr, 3 47 2 uptp ptr; 3 48 3 49 3 50 3 51 3 52 /* END INCLUDE FILE amu_hardcore_info.incl.pl1 */ 2568 4 1 /* BEGIN INCLUDE FILE amu_info.incl.pl1 */ 4 2 4 3 dcl 1 amu_info aligned based (amu_info_ptr), 4 4 2 version char (8) aligned, /* AMU_INFO_VERSION */ 4 5 2 flags aligned, 4 6 3 early_dump bit(1) unal, 4 7 3 pad bit(35) unal, 4 8 2 type fixed bin unal, /* One of the types below */ 4 9 2 time_created fixed bin (71) aligned, /* time created -- for debugging purposes */ 4 10 2 chain, /* a chain of all the amu_info's which exist */ 4 11 3 prev pointer unaligned, 4 12 3 next pointer unaligned, 4 13 4 14 2 area_ptr pointer, /* pointer to area used for allocating things */ 4 15 4 16 2 translation_table_ptr pointer, /* pointer to address map -- always present */ 4 17 /* SEE: amu_translation.incl.pl1 */ 4 18 2 fdump_info_ptr pointer, 4 19 /* pointer to FDUMP info, present if looking at an FDUMP */ 4 20 /* SEE: amu_fdump_info.incl.pl1 */ 4 21 /* old_uid_table pointer if looking at a SAVED PROC. */ 4 22 /* See: amu_old_uid_table */ 4 23 4 24 4 25 2 hardcore_info_ptr pointer, /* pointer to hardcore information -- always present */ 4 26 /* SEE: amu_hardcore_info.incl.pl1 */ 4 27 2 copy_chain pointer, /* pointer to info about segment copies */ 4 28 /* SEE: amu_copy_info.incl.pl1 */ 4 29 2 process_info_ptr pointer, /* pointer to process info for this translation */ 4 30 /* SEE: amu_process_info.incl.pl1 */ 4 31 2 process_idx fixed bin, /* index of process in translation-specifc process table */ 4 32 4 33 2 proc_idx_hold fixed bin, /* a place to keep the index when a changing to another proc */ 4 34 4 35 2 error_info, /* various info about how amu_error_ is to behave */ 4 36 3 error_flags aligned, 4 37 4 handler_exists bit (1) unaligned, /* set to indicate existence of an amu_error handler */ 4 38 4 in_subsystem bit (1) unaligned, /* This amu_info belongs to an ssu_ maintained subsystem */ 4 39 4 pad bit (34) unaligned, 4 40 3 sci_ptr pointer, /* sci_ptr for subsystem, if in_subsystem = "1"b */ 4 41 2 definitions_info_ptr ptr; 4 42 4 43 dcl amu_area area based (amu_info.area_ptr); 4 44 4 45 dcl amu_info_ptr pointer; 4 46 4 47 dcl (FDUMP_TYPE init (1037), /* the various legitimate types of amu_info's */ 4 48 FDUMP_PROCESS_TYPE init (1038), 4 49 ONLINE_TYPE init (1039), 4 50 ONLINE_PROCESS_TYPE init (1040), 4 51 NETWORK_FDUMP_TYPE init (1041), 4 52 NETWORK_ONLINE_TYPE init (1042), 4 53 SAVED_PROC_TYPE init (1043), 4 54 INDIRECT_TYPE init (1044)) fixed bin internal static options (constant); 4 55 4 56 dcl AMU_INFO_VERSION_1 char (8) internal static options (constant) init ("amu_v1"); 4 57 dcl AMU_INFO_VERSION char (8) internal static options (constant) init ("amu_v1"); 4 58 dcl AMU_INFO_VERSION_2 char (8) internal static options (constant) init ("amu_v2"); 4 59 4 60 dcl PDIR_SUFFIX char(4) init("pdir") int static options(constant); 4 61 4 62 /* END INCLUDE FILE amu_info.incl.pl1 */ 2569 5 1 /* Begin amu_mc.incl.pl1 */ 5 2 5 3 dcl number_val_args fixed bin (17) init (23) static options (constant); 5 4 5 5 dcl valid_mc_arg (24) char (8) init 5 6 ("-dump", /* mc from bos dump */ 5 7 "-lg", /* all of the info stored at the given pointer */ 5 8 "-scu","-ppr","-tpr","-inst", /* scu data or trs or psr (if scu then not psr nor tsr) */ 5 9 "-reg", /* basic ou regs */ 5 10 "-misc","-code","-flt","-tm", /* misc line of mc data if misc then not others */ 5 11 "-eis", /* eis info if MIF flag in scu_data */ 5 12 "-prs","-pr0","-pr1","-pr2","-pr3","-pr4","-pr5","-pr6","-pr7", /* pointer regs if prs then not the others */ 5 13 "-vbf","-oct","-set") /* control args */ 5 14 static options (constant); 5 15 5 16 /* the next structuers all all the same real data word and a dcl'ed in 5 17* many ways to make the code easer to write and undersand, only time 5 18* will tell if this is the correct end result. If any are changed they 5 19* all must by changed, The bit order must corespond to valid_mc_arg */ 5 20 5 21 5 22 5 23 dcl 1 arg_bits based (arg_bits_ptr) aligned, 5 24 2 request_arg(number_val_args) bit (1) unal; 5 25 5 26 dcl 1 what_prs based (arg_bits_ptr) aligned, 5 27 2 pad bit (13) unal, 5 28 2 pregs (0:7) bit (1) unal, 5 29 2 padr bit (16); 5 30 5 31 5 32 dcl 1 arg_bits_def based (arg_bits_ptr), 5 33 2 dump bit (1) unal, 5 34 2 all bit (1) unal, 5 35 2 scu bit (1) unal, 5 36 2 ppr bit (1) unal, 5 37 2 tpr bit (1) unal, 5 38 2 inst bit (1) unal, 5 39 2 regs bit (1) unal, 5 40 2 xreg (0:7) bit (1) unal, 5 41 2 areg bit (1) unal, 5 42 2 qreg bit (1) unal, 5 43 2 mis bit (1) unal, 5 44 2 mc_err bit (1) unal, 5 45 2 flt bit (1) unal, 5 46 2 tm bit (1) unal, 5 47 2 eis bit (1) unal, 5 48 2 prs bit (1) unal, 5 49 2 pr (0:7) bit (1) unal, 5 50 2 long bit (1) unal, 5 51 2 set_ptr bit (1) unal, 5 52 2 mc_stored bit (1) unal, 5 53 2 rest_bits bit (1) unal; /* bits to fill out the word **/ 5 54 5 55 5 56 5 57 dcl arg_bits_ptr ptr; 5 58 5 59 /* End amu_mc.incl.pl1 */ 2570 6 1 /* BEGIN INCLUDE FILE amu_process_info.incl.pl1 */ 6 2 6 3 /* This structure describes information about a single process in an address 6 4* translation. It is only relevant for translations involving the online system 6 5* or an FDUMP. */ 6 6 6 7 dcl 1 process_info aligned based (amu_info.process_info_ptr), /* information about a single process */ 6 8 2 pid bit (36) aligned, /* process_id of this process */ 6 9 2 address_map_ptr pointer unaligned, /* pointer to address map */ 6 10 2 idx fixed bin, /* index of process in FDUMP, or apte index if online */ 6 11 2 state fixed bin, /* state, from the APTE -- only good for FDUMP */ 6 12 6 13 2 dbr fixed bin (71), /* DBR of this process */ 6 14 6 15 2 apte aligned, /* pointer to this process's APTE */ 6 16 3 foreign_ptr pointer unaligned, 6 17 3 local_ptr pointer unaligned, 6 18 2 prds aligned like process_info.apte, /* and PRDS, IFF it has one (is running) -- volatile */ 6 19 2 dseg aligned like process_info.apte, /* DSEG -- These values must be constantly recalculated */ 6 20 2 pds aligned like process_info.apte, /* PDS --- for an online process, if phcs transparency */ 6 21 2 kst aligned like process_info.apte, /* KST --- is not in use. */ 6 22 6 23 2 dump_segx, /* index of first and last seg belonging to this */ 6 24 3 first fixed bin, /* process in bos_dump.seg_array, or zero if none */ 6 25 3 last fixed bin, /* this information is only valid for a process in a dump */ 6 26 6 27 2 pad1 fixed bin; 6 28 6 29 /* END INCLUDE FILE amu_process_info.incl.pl1 */ 2571 7 1 /* BEGIN INCLUDE FILE amu_translation.incl.pl1 */ 7 2 7 3 7 4 7 5 /****^ HISTORY COMMENTS: 7 6* 1) change(87-01-16,Parisek), approve(87-07-16,MCR7746), 7 7* audit(87-07-16,Fawcett), install(87-07-28,MR12.1-1049): 7 8* Added the "replaced" field to record whether a segment was replaced by 7 9* another segment via the "replace" request. 7 10* END HISTORY COMMENTS */ 7 11 7 12 7 13 dcl 1 translation_table aligned based (amu_info.translation_table_ptr), 7 14 2 n_entries fixed bin, 7 15 2 max_entries fixed bin, 7 16 7 17 2 valid_array aligned, /* one bit for each valid segno */ 7 18 3 valid (0 : 4095) bit (1) unaligned, 7 19 2 used_array aligned, /* one bit for each existing translation */ 7 20 3 used (0 : 4095) bit (1) unaligned, 7 21 7 22 2 array (alloc_translation_table_max_entries refer (translation_table.max_entries)) like translation; 7 23 7 24 dcl 1 translation aligned based (translation_ptr), /* a single translation */ 7 25 2 segno fixed bin (18) unsigned unaligned, /* foreign segno for this translation */ 7 26 2 flags unaligned, 7 27 3 two_part bit (1) unaligned, /* segment is in two pieces -- from an FDUMP */ 7 28 3 in_dump bit (1) unaligned, /* segment is part of an FDUMP image */ 7 29 3 in_temp_seg bit (1) unaligned, /* segment is a copy at the base of a temp segment */ 7 30 3 in_perm_seg bit (1) unaligned, /* segment is in the file system */ 7 31 3 in_dp_dir bit (1) unaligned, 7 32 3 replaced bit (1) unaligned, 7 33 3 pad bit (12) unaligned, 7 34 2 part1, /* pointer to first (possibly only) part of segment */ 7 35 3 ptr pointer unaligned, 7 36 3 lth fixed bin (19), 7 37 2 part2 like translation.part1; 7 38 7 39 dcl alloc_translation_table_max_entries fixed bin; 7 40 dcl translation_ptr pointer; 7 41 7 42 /* END INCLUDE FILE amu_translation.incl.pl1 */ 2572 8 1 /* BEGIN INCLUDE FILE ...aste.incl.pl1 ... */ 8 2 8 3 /* Template for an AST entry. Length = 12 words. */ 8 4 8 5 /* Words 0 to 7, and 11 are read by PC; they are read and modified by SC. 8 6* Words 8, 9 and 10 are modified by PC; they should never be modified without locking the PC lock */ 8 7 /* Modified January 1985 by Keith Loepere for multi_class. */ 8 8 8 9 dcl astep ptr; 8 10 8 11 dcl 1 aste based (astep) aligned, 8 12 8 13 (2 fp bit (18), /* forward used list rel pointer */ 8 14 2 bp bit (18), /* backward used list rel pointer */ 8 15 8 16 2 infl bit (18), /* ptr to NEXT in list of ASTE's of my brothers */ 8 17 2 infp bit (18), /* ptr to FIRST in list of ASTE's of my children */ 8 18 8 19 2 strp bit (18), /* rel pointer to process trailer */ 8 20 2 par_astep bit (18), /* rel pointer to parent aste */ 8 21 8 22 2 uid bit (36), /* segment unique id */ 8 23 8 24 2 msl bit (9), /* maximum segment length in 1024 word units */ 8 25 2 pvtx fixed bin (8), /* physical volume table index */ 8 26 2 vtocx fixed bin (17), /* vtoc entry index */ 8 27 8 28 2 usedf bit (1), /* ast entry is being used if non-zero */ 8 29 2 init bit (1), /* used bit - insure 1 lap */ 8 30 2 gtus bit (1), /* global transparent usage switch */ 8 31 2 gtms bit (1), /* global transparent modified switch */ 8 32 2 hc bit (1), /* hard core segment */ 8 33 2 hc_sdw bit (1), /* aste with sdw for hardcore seg if non-zero */ 8 34 2 any_access_on bit (1), /* any sdw allows access, unless write_access_on */ 8 35 2 write_access_on bit (1), /* any sdw allows write access */ 8 36 2 inhibit_cache bit (1), /* flag not to reset above bits */ 8 37 2 explicit_deact_ok bit (1), /* set if user can deactivate seg */ 8 38 2 deact_error bit (1), /* set if error occurred while deactivating */ 8 39 2 hc_part bit (1), /* set if pages are in a hardcore partition */ 8 40 2 fm_damaged bit (1), /* set if filemap checksum was ever bad */ 8 41 2 multi_class bit (1), /* set if page_control should watch state changes to this segment */ 8 42 2 pad1 bit (2), /* OO */ 8 43 2 dius bit (1), /* dumper in use switch */ 8 44 2 nid bit (1), /* if on prevents addtion to incremental dump map */ 8 45 2 dmpr_pad bit (1), 8 46 2 ehs bit (1), /* entry hold switch */ 8 47 2 nqsw bit (1), /* no quota switch - no checking for pages of this seg */ 8 48 2 dirsw bit (1), /* directory switch */ 8 49 2 master_dir bit (1), /* master dir - a root for the log volume */ 8 50 2 volmap_seg bit (1), /* volmap_seg for some volume */ 8 51 2 tqsw (0:1) bit (1), /* terminal quota switch - (0) for non dir pages */ 8 52 2 pad_ic bit (10), /* Used to be aste.ic */ 8 53 8 54 2 dtu bit (36), /* date and time segment last used */ 8 55 8 56 2 dtm bit (36), /* date and time segment last modified */ 8 57 8 58 8 59 2 quota (0:1) fixed bin (18) unsigned, /* sec storage quota - (0) for non dir pages */ 8 60 8 61 2 used (0:1) fixed bin (18) unsigned, /* sec storage used - (0) for non dir pages */ 8 62 8 63 2 csl bit (9), /* current segment length in 1024 words units */ 8 64 2 fmchanged bit (1), /* turned on by page if file map changed */ 8 65 2 fms bit (1), /* file modified switch */ 8 66 2 npfs bit (1), /* no page fault switch */ 8 67 2 gtpd bit (1), /* global transparent paging device switch */ 8 68 2 dnzp bit (1), /* don't null out if zero page switch */ 8 69 2 per_process bit (1), /* use master quota for this entry */ 8 70 2 ddnp bit (1), /* don't deposit nulled pages */ 8 71 2 pad2 bit (2), 8 72 2 records bit (9), /* number of records used by the seg in sec storage */ 8 73 2 np bit (9), /* number of pages in core */ 8 74 8 75 8 76 2 ht_fp bit (18), /* hash table forward rel pointer */ 8 77 2 fmchanged1 bit (1), /* value of "fmchanged" saved by pc$get_file_map */ 8 78 2 damaged bit (1), /* PC declared segment unusable */ 8 79 2 pack_ovfl bit (1), /* page fault on seg would cause pack overflow */ 8 80 2 synchronized bit (1), /* Data Management synchronized segment */ 8 81 2 pad3 bit (6), /* OOOOOOOOO */ 8 82 2 ptsi bit (2), /* page table size index */ 8 83 2 marker bit (6)) unaligned; /* marker to indicate last word of ASTE */ 8 84 8 85 8 86 dcl asta (0 : 8000) bit (36*12 /* sst-> sst.astsize */) based aligned; 8 87 8 88 8 89 dcl 1 aste_part aligned based (astep), 8 90 8 91 2 one bit (36) unaligned, /* fp and bp */ 8 92 2 two bit (36*11 - 8) unaligned, /* part that has to be zeroed when ASTE is freed */ 8 93 2 three bit (8) unaligned; /* ptsi and marker */ 8 94 8 95 8 96 dcl 1 seg_aste based (astep) aligned, /* Overlay because quota is only for dirs */ 8 97 2 pad1 bit (8*36), 8 98 2 usage fixed bin (35), /* page fault count: overlays quota */ 8 99 2 pad2 bit (3*36); 8 100 8 101 /* END INCLUDE FILE ... aste.incl.pl1 */ 2573 9 1 /* BEGIN INCLUDE FILE azm_info.incl.pl1 */ 9 2 9 3 dcl 1 azm_info aligned based (azm_info_ptr), 9 4 2 version char(8), 9 5 2 area_ptr ptr, /* area pointer for azm to use when needed */ 9 6 2 aip pointer, /* pointer for all amu_ calls */ 9 7 2 flags aligned, 9 8 3 in_erf bit (1) unaligned, /* examining an FDUMP */ 9 9 3 in_process bit (1) unaligned, /* some specific process selected in FDUMP */ 9 10 3 online bit (1) unaligned, /* examining online system, my process */ 9 11 3 saved_proc bit (1) unaligned, /* examining "deadproc" */ 9 12 3 pad bit (33) unaligned, 9 13 9 14 2 erf_name char (168), /* name of ERF or deadproc path */ 9 15 2 pad fixed bin; 9 16 9 17 dcl azm_info_ptr pointer; 9 18 9 19 dcl AZM_INFO_VERSION_1 char (8) internal static options (constant) init ("azm_v1"); 9 20 dcl AZM_INFO_VERSION_2 char (8) internal static options (constant) init ("azm_v2"); 9 21 9 22 /* END INCLUDE FILE azm_info.incl.pl1 */ 2574 10 1 /* START OF: azm_va_args.incl.pl1 * * * * * * * * * * * * * * * * */ 10 2 10 3 /* This is a structure for argument processing of virtual addresses (VAs) and its related arguments. 10 4* These related arguments can be a an offset modifier EXP which can be a positive or negative 10 5* octal number and a RANGE can be specified. Both EXP and RANGE are optional arguments. The VA 10 6* must always be specified. These three args are non-positional on the request line but there 10 7* is an implicit order among the three. The first non-control argument on the request line must be 10 8* a VA. The second non-control argument on the request line can be a EXP or a RANGE. If it is a 10 9* RANGE then an EXP cannot be specified. In other words, a EXP must follow a VA. 10 10**/ 10 11 10 12 /* Created: 22 MAY 84 by BLB */ 10 13 10 14 dcl 1 va_args aligned, 10 15 /* fully resolved segment number of the virtual address */ 10 16 2 segno fixed bin (18) aligned, 10 17 /* fully resolved offset of the virtual address */ 10 18 2 offset fixed bin(18) unaligned, 10 19 /* offset modifier (+N, -N) of the virtual address */ 10 20 2 offset_modifier fixed bin(18), 10 21 /* The range of the addr area specified */ 10 22 2 range fixed bin(18) unaligned, 10 23 2 va_switches unaligned, 10 24 3 valid_va bit (1) unaligned, /* on if valid virtual address */ 10 25 3 valid_modifier bit (1) unaligned, /* on if valid offset modifier */ 10 26 3 valid_range bit (1) unaligned, /* on if valid range */ 10 27 3 modifier_before_indirect bit(1) unaligned, /* on if the offset modifier is specified */ 10 28 /* before indirection eg. A|B+10,* */ 10 29 3 va_pad bit (32) unaligned, /* must be zero */ 10 30 2 va_position aligned, /* index into the argument list for: */ 10 31 3 va_idx fixed bin, /* virtual address */ 10 32 3 mod_idx fixed bin, /* the offset modifier index */ 10 33 3 range_idx fixed bin, /* the range argument index */ 10 34 2 resolved_va ptr, /* The resolved virtual address */ 10 35 2 ecode fixed bin(35), /* error code */ 10 36 2 error_msg char(80) var, /* error message */ 10 37 2 va_string char(256) var; /* The complete virtual address after parsing thru the args. */ 10 38 10 39 dcl 1 va based (va_args_ptr) like va_args; 10 40 dcl va_args_ptr ptr; 10 41 10 42 /* END OF: azm_va_args.incl.pl1 * * * * * * * * * * * * * * * * */ 2575 11 1 /* BEGIN INCLUDE FILE ... bos_dump.incl.pl1 ... */ 11 2 /* Modified 1 September 1976 */ 11 3 /* Modified 11/11/80 by J. A. Bush for the DPS8/70M CPU */ 11 4 /* Modified 6/12/81 by Rich Coppola to extend the dps8 extended fault reg to 11 5* 15 bits */ 11 6 /* Modified 02/23/81, W. Olin Sibert, to describe old and new FDUMP styles */ 11 7 11 8 11 9 dcl dumpptr ptr; /* pointer to following structure */ 11 10 11 11 dcl 1 dump based (dumpptr) aligned, /* header of dump by fdump */ 11 12 2 dump_header aligned like dump_header, 11 13 11 14 2 segs (1008), /* segment array */ 11 15 3 segno bit (18) unal, /* segment number */ 11 16 3 length bit (18) unal, /* length of segment in sector sized blocks */ 11 17 11 18 2 amptwregs (0 : 63) bit (36), /* assoc. mem. page table word regs */ 11 19 2 amptwptrs (0 : 63) bit (36), /* assoc. mem. page table word pointers */ 11 20 2 amsdwregs (0 : 63) bit (72), /* assoc. mem. segment descriptor word registers */ 11 21 2 amsdwptrs (0 : 63) bit (36), /* assoc. mem. segment descriptor word pointers */ 11 22 11 23 2 ouhist (0 : 63) bit (72), /* operations unit history registers */ 11 24 2 cuhist (0 : 63) bit (72), /* control unit history registers */ 11 25 2 duhist (0 : 63) bit (72), /* decimal unit history registers */ 11 26 2 auhist (0 : 63) bit (72), /* appending unit history registers */ 11 27 11 28 2 prs (0 : 7) ptr, /* pointer registers */ 11 29 11 30 2 regs aligned like dump_registers, /* assorted machine registers */ 11 31 11 32 2 low_order_port bit (3), /* from which clock is read */ 11 33 2 pad4 bit (36), 11 34 2 mctime fixed bin (52), /* time conditions were taken */ 11 35 2 pad5 (0 : 3) bit (36), 11 36 11 37 2 misc_registers like dump_misc_registers, /* Assorted registers & processor data */ 11 38 11 39 2 ptrlen (0 : 7) bit (36), /* pointers and lengths for EIS */ 11 40 11 41 2 coreblocks (0 : 7), 11 42 3 num_first bit (18) unal, /* first addr in coreblock */ 11 43 3 num_blocks bit (18) unal, /* number of blocks used */ 11 44 2 pad7 (112) fixed bin; 11 45 11 46 11 47 dcl 1 dump_header aligned based, /* Standard header for FDUMP */ 11 48 2 words_dumped fixed bin (35), /* total words in dump */ 11 49 2 valid bit (1), /* = 1 if there is a 6180 dump to be had */ 11 50 2 time fixed bin (71), /* time of dump */ 11 51 2 erfno fixed bin (18), /* Error Report Form Number */ 11 52 2 num_segs fixed bin, /* number of segments dumped */ 11 53 2 valid_355 bit (1), /* = 1 if there is a dn355 dump to be had */ 11 54 2 dumped_355s bit (4), /* indicates which 355s were dumped */ 11 55 2 time_355 fixed bin (71), /* time of 355 dump */ 11 56 2 version fixed bin, /* currently 2 */ 11 57 2 pad0 (5) fixed bin; /* pad0 to 16 words */ 11 58 11 59 dcl 1 dump_registers aligned based, /* Standard (SREG) arrangement of registers in dump */ 11 60 (2 x (0 : 7) bit (18), /* index registers */ 11 61 2 a bit (36), /* the a register */ 11 62 2 q bit (36), /* the q register */ 11 63 2 e bit (8), /* the e register */ 11 64 2 pad2 bit (28), /* pad */ 11 65 2 t bit (27), /* timer register */ 11 66 2 pad3 bit (6), /* pad */ 11 67 2 ralr bit (3)) unaligned; /* ring alarm register */ 11 68 11 69 dcl 1 dump_misc_registers aligned based, 11 70 2 scu (0 : 7) bit (36), /* from store control unit instr. */ 11 71 2 mcm (0 : 7) bit (72), /* memory controller masks every 64 K */ 11 72 2 dbr bit (72), /* descriptor segment base register */ 11 73 2 intrpts bit (36), /* interrupts */ 11 74 2 bar bit (36), /* base address register */ 11 75 2 modereg bit (36), /* mode register */ 11 76 2 cmodereg bit (36), /* cache mode register */ 11 77 2 faultreg bit (36), /* fault register */ 11 78 2 ext_fault_reg bit (15) unaligned, /* DPS8 extended fault register */ 11 79 2 pad6 bit (21) unaligned; 11 80 11 81 11 82 11 83 dcl 1 v1_dump aligned based (dumpptr), /* Old version of FDUMP (pre March, 1981) */ 11 84 2 dump_header aligned like dump_header, 11 85 11 86 2 segs (688), /* segment array */ 11 87 3 segno bit (18) unal, /* segment number */ 11 88 3 length bit (18) unal, /* length of segment in sector sized blocks */ 11 89 11 90 2 amsdwregs (0 : 15) bit (72), /* assoc. mem. segment descriptor word registers */ 11 91 2 amsdwptrs (0 : 15) bit (36), /* assoc. mem. segment descriptor word pointers */ 11 92 2 amptwregs (0 : 15) bit (36), /* assoc. mem. page table word regs */ 11 93 2 amptwptrs (0 : 15) bit (36), /* assoc. mem. page table word pointers */ 11 94 2 pad1 (0 : 15) bit (36), 11 95 11 96 2 ouhist (0 : 15) bit (72), /* operations unit history registers */ 11 97 2 cuhist (0 : 15) bit (72), /* control unit history registers */ 11 98 2 auhist (0 : 15) bit (72), /* appending unit history registers */ 11 99 2 duhist (0 : 15) bit (72), /* decimal unit history registers */ 11 100 11 101 2 prs (0 : 7) ptr, /* pointer registers */ 11 102 11 103 2 regs aligned like dump_registers, /* assorted machine registers */ 11 104 11 105 2 mctime fixed bin (52), /* time conditions were taken */ 11 106 2 pad4 (0 : 5) bit (36), 11 107 11 108 2 misc_registers aligned like dump_misc_registers, /* Assorted registers */ 11 109 11 110 2 pad5 bit (36), 11 111 2 ptrlen (0 : 7) bit (36), /* pointers and lengths for EIS */ 11 112 2 pad6 (15) bit (36), 11 113 2 low_order_port bit (3), /* from which clock was read */ 11 114 11 115 2 coreblocks (0 : 7), 11 116 3 num_first bit (18) unal, /* first addr in coreblock */ 11 117 3 num_blocks bit (18) unal; /* number of blocks used */ 11 118 11 119 11 120 dcl DUMP_VERSION_1 fixed bin internal static options (constant) init (1); 11 121 dcl DUMP_VERSION_2 fixed bin internal static options (constant) init (2); 11 122 11 123 /* END INCLUDE FILE ... bos_dump.incl.pl1 ... */ 2576 12 1 /* BEGIN INCLUDE FILE cmp.incl.pl1 --- October 1982 */ 12 2 /* Note: This include file has an ALM counterpart NOT made with cif (for historical reasons). Keep it up to date */ 12 3 12 4 dcl cmep ptr; /* pointer to core map entry */ 12 5 12 6 dcl 1 cme based (cmep) aligned, /* core map entry */ 12 7 2 fp bit (18) unaligned, /* forward pointer to next entry */ 12 8 2 bp bit (18) unaligned, /* backward pointer to previous entry */ 12 9 12 10 2 devadd bit (22) unaligned, /* device address of page in the core block */ 12 11 2 pad5 bit (1) unaligned, 12 12 2 synch_held bit (1) unaligned, /* Page of synchronized seg held in memory */ 12 13 2 io bit (1) unaligned, /* input/output indicator 1=output, 0=input */ 12 14 2 pad2 bit (1) unaligned, 12 15 2 er bit (1) unaligned, /* indicates error in previous IO activity */ 12 16 2 removing bit (1) unaligned, /* core is being removed by reconfiguration */ 12 17 2 abs_w bit (1) unaligned, /* absolute address must not be changed for page */ 12 18 2 abs_usable bit (1) unaligned, /* page may be assigned with fixed absolute address */ 12 19 2 notify_requested bit (1) unaligned, /* notify requested on I/O completion */ 12 20 2 pad3 bit (1) unaligned, 12 21 2 phm_hedge bit (1) unaligned, /* on => pc$flush_core ought write. */ 12 22 2 contr bit (3) unaligned, /* controller in which core block is located */ 12 23 12 24 2 ptwp bit (18) unaligned, /* pointer to page table word for the page */ 12 25 2 astep bit (18) unaligned, /* relative AST entry pointer of page */ 12 26 2 pin_counter fixed bin (17) unaligned, /* number of times to skip eviction */ 12 27 2 synch_page_entryp bit (18) unaligned; /* relp to synch page entry */ 12 28 12 29 12 30 dcl 1 cma (0: 1) based aligned like cme; /* Core map array */ 12 31 12 32 dcl 1 mcme based (cmep) aligned, /* core map entry for extracting DID */ 12 33 2 pad bit (36) unaligned, 12 34 2 record_no bit (18) unaligned, /* record number of device */ 12 35 2 add_type bit (4) unaligned, /* see add_type.incl.pl1 */ 12 36 2 flags bit (14) unal, 12 37 2 pad1 bit (18) unal; 12 38 12 39 12 40 /* END INCLUDE FILE cmp.incl.pl1 */ 2577 13 1 /* START OF: dump_segment_format.incl.pl1 * * * * * * * * * * * * * * * * */ 13 2 13 3 /* Describes the output format understood by the dump_segment_ and 13 4* dump_segment_$return_string subroutines. */ 13 5 13 6 /* Created: 10/25/83 by C Spitzer */ 13 7 13 8 dcl dump_segment_format bit (36) based (addr (dump_segment_format_structure)); 13 9 13 10 dcl 1 dump_segment_format_structure aligned, /* if = "1"b, then */ 13 11 2 address bit (1) unaligned, /* display address part */ 13 12 2 offset bit (1) unaligned, /* display offset part */ 13 13 2 short bit (1) unaligned, /* format display to have 4 words per line */ 13 14 2 bcd bit (1) unaligned, /* interpret data as BCD */ 13 15 2 ascii bit (1) unaligned, /* interpret data as ASCII */ 13 16 2 long bit (1) unaligned, /* format display to have 8 words per line */ 13 17 2 ebcdic9 bit (1) unaligned, /* interpret data as EBCDIC (9 bits) */ 13 18 2 ebcdic8 bit (1) unaligned, /* interpret data as EBCDIC (8 bits) */ 13 19 2 bit4 bit (1) unaligned, /* interpret data as 4 bit data */ 13 20 2 hex8 bit (1) unaligned, /* raw data is hexadecimal (8 bit) */ 13 21 2 hex9 bit (1) unaligned, /* raw data is hexadecimal (9 bit) */ 13 22 13 23 /* Beginning of MR11 understood items */ 13 24 13 25 2 octal bit (1) unaligned, /* raw data is octal */ 13 26 2 header bit (1) unaligned, /* display header */ 13 27 2 raw_data bit (1) unaligned, /* display raw data */ 13 28 2 interpreted_data bit (1) unaligned, /* display interpreted data */ 13 29 2 suppress_duplicates bit (1) unaligned, /* replace duplicate lines with equal signs */ 13 30 2 command_output bit (1) unaligned, /* if returning output, return in command-type output format */ 13 31 2 mbz bit (19) unaligned; /* future expansion */ 13 32 13 33 /* END OF: dump_segment_format.incl.pl1 * * * * * * * * * * * * * * * * */ 2578 14 1 /* BEGIN INCLUDE FILE its.incl.pl1 14 2* modified 27 July 79 by JRDavis to add its_unsigned 14 3* Internal format of ITS pointer, including ring-number field for follow-on processor */ 14 4 14 5 dcl 1 its based aligned, /* declaration for ITS type pointer */ 14 6 2 pad1 bit (3) unaligned, 14 7 2 segno bit (15) unaligned, /* segment number within the pointer */ 14 8 2 ringno bit (3) unaligned, /* ring number within the pointer */ 14 9 2 pad2 bit (9) unaligned, 14 10 2 its_mod bit (6) unaligned, /* should be 43(8) */ 14 11 14 12 2 offset bit (18) unaligned, /* word offset within the addressed segment */ 14 13 2 pad3 bit (3) unaligned, 14 14 2 bit_offset bit (6) unaligned, /* bit offset within the word */ 14 15 2 pad4 bit (3) unaligned, 14 16 2 mod bit (6) unaligned; /* further modification */ 14 17 14 18 dcl 1 itp based aligned, /* declaration for ITP type pointer */ 14 19 2 pr_no bit (3) unaligned, /* number of pointer register to use */ 14 20 2 pad1 bit (27) unaligned, 14 21 2 itp_mod bit (6) unaligned, /* should be 41(8) */ 14 22 14 23 2 offset bit (18) unaligned, /* word offset from pointer register word offset */ 14 24 2 pad2 bit (3) unaligned, 14 25 2 bit_offset bit (6) unaligned, /* bit offset relative to new word offset */ 14 26 2 pad3 bit (3) unaligned, 14 27 2 mod bit (6) unaligned; /* further modification */ 14 28 14 29 14 30 dcl 1 its_unsigned based aligned, /* just like its, but with unsigned binary */ 14 31 2 pad1 bit (3) unaligned, 14 32 2 segno fixed bin (15) unsigned unaligned, 14 33 2 ringno fixed bin (3) unsigned unaligned, 14 34 2 pad2 bit (9) unaligned, 14 35 2 its_mod bit (6) unaligned, 14 36 14 37 2 offset fixed bin (18) unsigned unaligned, 14 38 2 pad3 bit (3) unaligned, 14 39 2 bit_offset fixed bin (6) unsigned unaligned, 14 40 2 pad4 bit (3) unaligned, 14 41 2 mod bit (6) unaligned; 14 42 14 43 dcl 1 itp_unsigned based aligned, /* just like itp, but with unsigned binary where appropriate */ 14 44 2 pr_no fixed bin (3) unsigned unaligned, 14 45 2 pad1 bit (27) unaligned, 14 46 2 itp_mod bit (6) unaligned, 14 47 14 48 2 offset fixed bin (18) unsigned unaligned, 14 49 2 pad2 bit (3) unaligned, 14 50 2 bit_offset fixed bin (6) unsigned unaligned, 14 51 2 pad3 bit (3) unaligned, 14 52 2 mod bit (6) unaligned; 14 53 14 54 14 55 dcl ITS_MODIFIER bit (6) unaligned internal static options (constant) init ("43"b3); 14 56 dcl ITP_MODIFIER bit (6) unaligned internal static options (constant) init ("41"b3); 14 57 14 58 /* END INCLUDE FILE its.incl.pl1 */ 2579 15 1 /* */ 15 2 /* BEGIN INCLUDE FILE mc.incl.pl1 Created Dec 72 for 6180 - WSS. */ 15 3 /* Modified 06/07/76 by Greenberg for mc.resignal */ 15 4 /* Modified 07/07/76 by Morris for fault register data */ 15 5 /* Modified 08/28/80 by J. A. Bush for the DPS8/70M CVPU */ 15 6 /* Modified '82 to make values constant */ 15 7 15 8 /* words 0-15 pointer registers */ 15 9 15 10 dcl mcp ptr; 15 11 15 12 dcl 1 mc based (mcp) aligned, 15 13 2 prs (0:7) ptr, /* POINTER REGISTERS */ 15 14 (2 regs, /* registers */ 15 15 3 x (0:7) bit (18), /* index registers */ 15 16 3 a bit (36), /* accumulator */ 15 17 3 q bit (36), /* q-register */ 15 18 3 e bit (8), /* exponent */ 15 19 3 pad1 bit (28), 15 20 3 t bit (27), /* timer register */ 15 21 3 pad2 bit (6), 15 22 3 ralr bit (3), /* ring alarm register */ 15 23 15 24 2 scu (0:7) bit (36), 15 25 15 26 2 mask bit (72), /* mem controller mask at time of fault */ 15 27 2 ips_temp bit (36), /* Temporary storage for IPS info */ 15 28 2 errcode fixed bin (35), /* fault handler's error code */ 15 29 2 fim_temp, 15 30 3 unique_index bit (18) unal, /* unique index for restarting faults */ 15 31 3 resignal bit (1) unal, /* recompute signal name with fcode below */ 15 32 3 fcode bit (17) unal, /* fault code used as index to FIM table and SCT */ 15 33 2 fault_reg bit (36), /* fault register */ 15 34 2 pad2 bit (1), 15 35 2 cpu_type fixed bin (2) unsigned, /* L68 = 0, DPS8/70M = 1 */ 15 36 2 ext_fault_reg bit (15), /* extended fault reg for DPS8/70M CPU */ 15 37 2 fault_time bit (54), /* time of fault */ 15 38 15 39 2 eis_info (0:7) bit (36)) unaligned; 15 40 15 41 15 42 dcl (apx fixed bin init (0), 15 43 abx fixed bin init (1), 15 44 bpx fixed bin init (2), 15 45 bbx fixed bin init (3), 15 46 lpx fixed bin init (4), 15 47 lbx fixed bin init (5), 15 48 spx fixed bin init (6), 15 49 sbx fixed bin init (7)) internal static options (constant); 15 50 15 51 15 52 15 53 15 54 dcl scup ptr; 15 55 15 56 dcl 1 scu based (scup) aligned, /* SCU DATA */ 15 57 15 58 15 59 /* WORD (0) */ 15 60 15 61 (2 ppr, /* PROCEDURE POINTER REGISTER */ 15 62 3 prr bit (3), /* procedure ring register */ 15 63 3 psr bit (15), /* procedure segment register */ 15 64 3 p bit (1), /* procedure privileged bit */ 15 65 15 66 2 apu, /* APPENDING UNIT STATUS */ 15 67 3 xsf bit (1), /* ext seg flag - IT modification */ 15 68 3 sdwm bit (1), /* match in SDW Ass. Mem. */ 15 69 3 sd_on bit (1), /* SDW Ass. Mem. ON */ 15 70 3 ptwm bit (1), /* match in PTW Ass. Mem. */ 15 71 3 pt_on bit (1), /* PTW Ass. Mem. ON */ 15 72 3 pi_ap bit (1), /* Instr Fetch or Append cycle */ 15 73 3 dsptw bit (1), /* Fetch of DSPTW */ 15 74 3 sdwnp bit (1), /* Fetch of SDW non paged */ 15 75 3 sdwp bit (1), /* Fetch of SDW paged */ 15 76 3 ptw bit (1), /* Fetch of PTW */ 15 77 3 ptw2 bit (1), /* Fetch of pre-paged PTW */ 15 78 3 fap bit (1), /* Fetch of final address paged */ 15 79 3 fanp bit (1), /* Fetch of final address non-paged */ 15 80 3 fabs bit (1), /* Fetch of final address absolute */ 15 81 15 82 2 fault_cntr bit (3), /* number of retrys of EIS instructions */ 15 83 15 84 15 85 /* WORD (1) */ 15 86 15 87 2 fd, /* FAULT DATA */ 15 88 3 iro bit (1), /* illegal ring order */ 15 89 3 oeb bit (1), /* out of execute bracket */ 15 90 3 e_off bit (1), /* no execute */ 15 91 3 orb bit (1), /* out of read bracket */ 15 92 3 r_off bit (1), /* no read */ 15 93 3 owb bit (1), /* out of write bracket */ 15 94 3 w_off bit (1), /* no write */ 15 95 3 no_ga bit (1), /* not a gate */ 15 96 3 ocb bit (1), /* out of call bracket */ 15 97 3 ocall bit (1), /* outward call */ 15 98 3 boc bit (1), /* bad outward call */ 15 99 3 inret bit (1), /* inward return */ 15 100 3 crt bit (1), /* cross ring transfer */ 15 101 3 ralr bit (1), /* ring alarm register */ 15 102 3 am_er bit (1), /* associative memory fault */ 15 103 3 oosb bit (1), /* out of segment bounds */ 15 104 3 paru bit (1), /* processor parity upper */ 15 105 3 parl bit (1), /* processor parity lower */ 15 106 3 onc_1 bit (1), /* op not complete type 1 */ 15 107 3 onc_2 bit (1), /* op not complete type 2 */ 15 108 15 109 2 port_stat, /* PORT STATUS */ 15 110 3 ial bit (4), /* illegal action lines */ 15 111 3 iac bit (3), /* illegal action channel */ 15 112 3 con_chan bit (3), /* connect channel */ 15 113 15 114 2 fi_num bit (5), /* (fault/interrupt) number */ 15 115 2 fi_flag bit (1), /* 1 => fault, 0 => interrupt */ 15 116 15 117 15 118 /* WORD (2) */ 15 119 15 120 2 tpr, /* TEMPORARY POINTER REGISTER */ 15 121 3 trr bit (3), /* temporary ring register */ 15 122 3 tsr bit (15), /* temporary segment register */ 15 123 15 124 2 pad2 bit (9), 15 125 15 126 2 cpu_no bit (3), /* CPU number */ 15 127 15 128 2 delta bit (6), /* tally modification DELTA */ 15 129 15 130 15 131 /* WORD (3) */ 15 132 15 133 2 word3 bit (18), 15 134 15 135 2 tsr_stat, /* TSR STATUS for 1,2,&3 word instructions */ 15 136 3 tsna, /* Word 1 status */ 15 137 4 prn bit (3), /* Word 1 PR number */ 15 138 4 prv bit (1), /* Word 1 PR valid bit */ 15 139 3 tsnb, /* Word 2 status */ 15 140 4 prn bit (3), /* Word 2 PR number */ 15 141 4 prv bit (1), /* Word 2 PR valid bit */ 15 142 3 tsnc, /* Word 3 status */ 15 143 4 prn bit (3), /* Word 3 PR number */ 15 144 4 prv bit (1), /* Word 3 PR valid bit */ 15 145 15 146 2 tpr_tbr bit (6), /* TPR.TBR field */ 15 147 15 148 15 149 /* WORD (4) */ 15 150 15 151 2 ilc bit (18), /* INSTRUCTION COUNTER */ 15 152 15 153 2 ir, /* INDICATOR REGISTERS */ 15 154 3 zero bit (1), /* zero indicator */ 15 155 3 neg bit (1), /* negative indicator */ 15 156 3 carry bit (1), /* carryry indicator */ 15 157 3 ovfl bit (1), /* overflow indicator */ 15 158 3 eovf bit (1), /* eponent overflow */ 15 159 3 eufl bit (1), /* exponent underflow */ 15 160 3 oflm bit (1), /* overflow mask */ 15 161 3 tro bit (1), /* tally runout */ 15 162 3 par bit (1), /* parity error */ 15 163 3 parm bit (1), /* parity mask */ 15 164 3 bm bit (1), /* ^bar mode */ 15 165 3 tru bit (1), /* truncation mode */ 15 166 3 mif bit (1), /* multi-word instruction mode */ 15 167 3 abs bit (1), /* absolute mode */ 15 168 3 hex bit (1), /* hexadecimal exponent mode */ 15 169 3 pad bit (3), 15 170 15 171 15 172 /* WORD (5) */ 15 173 15 174 2 ca bit (18), /* COMPUTED ADDRESS */ 15 175 15 176 2 cu, /* CONTROL UNIT STATUS */ 15 177 3 rf bit (1), /* on first cycle of repeat instr */ 15 178 3 rpt bit (1), /* repeat instruction */ 15 179 3 rd bit (1), /* repeat double instruction */ 15 180 3 rl bit (1), /* repeat link instruciton */ 15 181 3 pot bit (1), /* IT modification */ 15 182 3 pon bit (1), /* return type instruction */ 15 183 3 xde bit (1), /* XDE from Even location */ 15 184 3 xdo bit (1), /* XDE from Odd location */ 15 185 3 poa bit (1), /* operation preparation */ 15 186 3 rfi bit (1), /* tells CPU to refetch instruction */ 15 187 3 its bit (1), /* ITS modification */ 15 188 3 if bit (1), /* fault occured during instruction fetch */ 15 189 15 190 2 cpu_tag bit (6)) unaligned, /* computed tag field */ 15 191 15 192 15 193 /* WORDS (6,7) */ 15 194 15 195 2 even_inst bit (36), /* even instruction of faulting pair */ 15 196 15 197 2 odd_inst bit (36); /* odd instruction of faulting pair */ 15 198 15 199 15 200 15 201 15 202 15 203 15 204 /* ALTERNATE SCU DECLARATION */ 15 205 15 206 15 207 dcl 1 scux based (scup) aligned, 15 208 15 209 (2 pad0 bit (36), 15 210 15 211 2 fd, /* GROUP II FAULT DATA */ 15 212 3 isn bit (1), /* illegal segment number */ 15 213 3 ioc bit (1), /* illegal op code */ 15 214 3 ia_am bit (1), /* illegal address - modifier */ 15 215 3 isp bit (1), /* illegal slave procedure */ 15 216 3 ipr bit (1), /* illegal procedure */ 15 217 3 nea bit (1), /* non existent address */ 15 218 3 oobb bit (1), /* out of bounds */ 15 219 3 pad bit (29), 15 220 15 221 2 pad2 bit (36), 15 222 15 223 2 pad3a bit (18), 15 224 15 225 2 tsr_stat (0:2), /* TSR STATUS as an ARRAY */ 15 226 3 prn bit (3), /* PR number */ 15 227 3 prv bit (1), /* PR valid bit */ 15 228 15 229 2 pad3b bit (6)) unaligned, 15 230 15 231 2 pad45 (0:1) bit (36), 15 232 15 233 2 instr (0:1) bit (36); /* Instruction ARRAY */ 15 234 15 235 15 236 15 237 /* END INCLUDE FILE mc.incl.pl1 */ 2580 16 1 /* BEGIN INCLUDE FILE ptw.incl.pl1 --- 09/13/74 for nss */ 16 2 16 3 dcl ptp ptr; /* pointer to either page table or page table word */ 16 4 16 5 dcl 1 ptw based (ptp) aligned, /* page table word */ 16 6 16 7 (2 add bit (18), /* address of page, type of which is defined by add_type */ 16 8 2 add_type bit (4), /* 0000=null, 1000=core, 0100=disk, 0010=pd, 0001=swap */ 16 9 2 first bit (1), /* the page has not yet been written out */ 16 10 2 processed bit (1), /* temporary used during post-purging and error signalling */ 16 11 2 pad1 bit (1), 16 12 2 unusable1 bit (1), /* can't be used because hardware resets this bit */ 16 13 2 phu bit (1), /* page has been used bit */ 16 14 2 phm1 bit (1), /* Cumulative OR of hardware phm's */ 16 15 2 nypd bit (1), /* must be moved to paging device */ 16 16 2 phm bit (1), /* page has been modified bit */ 16 17 2 phu1 bit (1), /* page has been used in the quantum */ 16 18 2 wired bit (1), /* page is to remain in core */ 16 19 2 os bit (1), /* page is out-of-service (I/O in progress) */ 16 20 2 df bit (1), /* directed fault if this is 0 (page not in core) */ 16 21 2 df_no bit (2)) unaligned; /* directed fault number for page faults */ 16 22 16 23 dcl 1 ptwa (0:255) based (ptp) aligned like ptw; /* page table */ 16 24 16 25 dcl ptwa_bits (0:255) based (ptp) bit (36) aligned; /* page table array as raw bits */ 16 26 16 27 dcl 1 mptw based (ptp) aligned, /* page table word while page is not in core */ 16 28 2 devadd bit (22) unaligned, /* device address where page resides */ 16 29 2 pad bit (14) unaligned; 16 30 16 31 dcl 1 mptwa (0 : 1) based (ptp) aligned, /* page table while pages are not in core */ 16 32 2 devadd bit (22) unaligned, /* device address where page resides */ 16 33 2 pad bit (14) unaligned; 16 34 16 35 dcl 1 atptw based (ptp) aligned, /* PL/I has problems on overlay-def based */ 16 36 2 add bit (18) unal, 16 37 2 (core, disk, pd, reserved) bit (1) unal, /* address types */ 16 38 2 pad bit (14) unal; 16 39 16 40 dcl 1 atptwa (0:255) based (ptp) aligned like atptw; 16 41 16 42 /* END INCLUDE FILE ptw.incl.pl1 */ 2581 17 1 /* BEGIN INCLUDE FILE ... pvt.incl.pl1 ... last modified January 1982 */ 17 2 17 3 17 4 /* The physical volume table (PVT) is a wired-down table. 17 5* It has one entry for each spindle present, be it for 17 6* Storage System or "I/O" use. 17 7**/ 17 8 17 9 dcl pvt$ ext, 17 10 pvtp ptr; 17 11 17 12 17 13 dcl 1 pvt based (pvtp) aligned, 17 14 17 15 2 n_entries fixed bin (17), /* number of PVT entries */ 17 16 2 max_n_entries fixed bin (17), /* max number of PVT entries */ 17 17 2 n_in_use fixed bin (17), /* number of PVT entries in use */ 17 18 2 rwun_pvtx fixed bin, /* rewind_unloading pvtx */ 17 19 2 shutdown_state fixed bin, /* state of previous shutdown */ 17 20 2 esd_state fixed bin, /* state of ESD, >0 iff in ESD */ 17 21 2 prev_shutdown_state fixed bin, /* shutdown state of previous bootload */ 17 22 2 prev_esd_state fixed bin, /* ESD state of previous bootload */ 17 23 17 24 2 time_of_bootload fixed bin (71), /* Time of bootload */ 17 25 2 root_lvid bit (36) aligned, /* Logical volume ID of Root Logical Volume (RLV) */ 17 26 2 root_pvid bit (36) aligned, /* Physical volume ID of Root Physical Volume (RPV) */ 17 27 2 root_pvtx fixed bin, /* Index to PVTE for Root Physical Volume (RPV) */ 17 28 2 root_vtocx fixed bin, /* VTOCE index for root (>) */ 17 29 2 disk_table_vtocx fixed bin, /* VTOCE index for disk table on RPV */ 17 30 2 disk_table_uid bit (36) aligned, /* File System UID for disk_table */ 17 31 17 32 2 rpvs_requested bit (1) aligned, /* RPVS keyword given on BOOT */ 17 33 2 rpv_needs_salv bit (1) aligned, /* RPV required (not requested) salvage */ 17 34 2 rlv_needs_salv bit (1) aligned, /* RLV required (not requested) salvage */ 17 35 2 volmap_lock_wait_constant bit (36) aligned,/* For constructing wait event: OR pvte_rel into lower */ 17 36 2 volmap_idle_wait_constant bit (36) aligned,/* For constructing wait event: OR pvte_rel into lower */ 17 37 2 vtoc_map_lock_wait_constant bit (36) aligned, /* For constructing wait event: OR pvte_rel into lower */ 17 38 2 n_volmap_locks_held fixed bin (17), /* Current number of volmap locks held */ 17 39 2 n_vtoc_map_locks_held fixed bin (17), /* Current number of VTOC Map locks held */ 17 40 17 41 2 last_volmap_time fixed bin (71), /* Time a volmap was last locked/unlocked */ 17 42 2 last_vtoc_map_time fixed bin (71), /* Time a VTOC Map was last locked/unlocked */ 17 43 2 total_volmap_lock_time fixed bin (71), /* Total time volmap's were locked (integral) */ 17 44 2 total_vtoc_map_lock_time fixed bin (71), /* Total time VTOC Maps were locked (integral) */ 17 45 17 46 2 n_volmap_locks fixed bin (35), /* Number times a volmap was locked */ 17 47 2 n_vtoc_map_locks fixed bin (35), /* Number times a vtoc_map was locked */ 17 48 2 volmap_lock_nowait_calls fixed bin (35), /* Number calls to lock volmap, no wait */ 17 49 2 volmap_lock_nowait_fails fixed bin (35), /* Number times lock failed */ 17 50 2 volmap_lock_wait_calls fixed bin (35), /* Number calls to lock volmap, wait */ 17 51 2 volmap_lock_wait_fails fixed bin (35), /* Number times lock failed */ 17 52 2 pad (2) bit (36) aligned, 17 53 17 54 2 array fixed bin (71); /* Array of PVTE's -- must be double-word aligned */ 17 55 17 56 17 57 17 58 /* END INCLUDE FILE ...pvt.incl.pl1 */ 2582 18 1 /* START OF: pvte.incl.pl1 July 1982 * * * * * * * * * * * * * * * * */ 18 2 18 3 /* Added pc_vacating, Benson Margulies 84-10-17 */ 18 4 18 5 /****^ HISTORY COMMENTS: 18 6* 1) change(86-04-11,Fawcett), approve(86-04-11,MCR7383), 18 7* audit(86-05-29,GDixon), install(86-07-18,MR12.0-1098): 18 8* Add the support for subvolumes 18 9* 2) change(86-04-11,Lippard), approve(86-04-11,MCR7309), 18 10* audit(86-05-29,GDixon), install(86-07-18,MR12.0-1098): 18 11* Add root_lv flag to mount RLVs that do not have hardcore partitions. 18 12* 3) change(88-05-27,GWMay), approve(88-05-27,MCR7883), 18 13* audit(88-06-14,Beattie), install(88-07-19,MR12.2-1061): 18 14* Added inconsistent_dbm bit for determining the status of volume 18 15* dumper bit maps. 18 16* END HISTORY COMMENTS */ 18 17 18 18 dcl pvt$array aligned external; 18 19 dcl pvt$max_n_entries fixed bin external; 18 20 18 21 dcl pvt_arrayp ptr; 18 22 dcl pvtep ptr; 18 23 18 24 dcl 1 pvt_array (pvt$max_n_entries) aligned like pvte based (pvt_arrayp); 18 25 18 26 dcl 1 pvte based (pvtep) aligned, 18 27 18 28 2 pvid bit (36), /* physical volume ID */ 18 29 18 30 2 lvid bit (36), /* logical volume ID */ 18 31 18 32 2 dmpr_in_use (3) bit (1) unaligned, /* physical volume dumper interlock */ 18 33 2 is_sv bit (1) unaligned, /* true if this entry defines a subvolume */ 18 34 2 root_lv bit (1) unaligned, /* true if this is on the root LV */ 18 35 2 removable_pack bit (1) unaligned, /* true if packs are eremoveable */ 18 36 2 inconsistent_dbm bit (1) unaligned, /* true if trouble count is incremented */ 18 37 2 pad3 bit (2) unaligned, 18 38 2 brother_pvtx fixed bin (8) unaligned,/* next pvte in lv chain */ 18 39 2 skip_queue_count fixed bin (18) unsigned unaligned, /* number of times this pv skipped for per-proc allocation due to saturation */ 18 40 18 41 18 42 18 43 2 devname char (4), /* device name */ 18 44 18 45 (2 device_type fixed bin (8), /* device type */ 18 46 2 logical_area_number fixed bin (8), /* disk drive number */ 18 47 2 used bit (1), /* TRUE if this entry is used */ 18 48 2 storage_system bit (1), /* TRUE for storage system (vs io disk) */ 18 49 2 permanent bit (1), /* TRUE if cannot be demounted */ 18 50 2 testing bit (1), /* Protocol bit for read_disk$test */ 18 51 2 being_mounted bit (1), /* TRUE if the physical volume is being mounted */ 18 52 2 being_demounted bit (1), /* TRUE if the pysical volume is being demounted */ 18 53 2 check_read_incomplete bit (1), /* page control should check read incomplete */ 18 54 2 device_inoperative bit (1), /* TRUE if disk_control decides dev busted */ 18 55 2 rpv bit (1), /* TRUE if this is the root physical volume */ 18 56 2 scav_check_address 18 57 bit (1), /* TRUE is page control should check deposits/withdrawals against scavenger table */ 18 58 2 deposit_to_volmap bit (1), /* TRUE if deposits should got to volume map, not stock */ 18 59 2 being_demounted2 bit (1), /* No more vtoc I/O during demount */ 18 60 2 pc_vacating bit (1), /* No more withdraws from this volume -- for debugging */ 18 61 2 vacating bit (1), /* don't put new segs on this vol */ 18 62 2 hc_part_used bit (1), /* HC part set up by init_pvt */ 18 63 2 volmap_lock_notify bit (1) unal, /* TRUE if notify required when volmap lock is unlocked */ 18 64 2 volmap_idle_notify bit (1) unal, /* TRUE if notify required when volmap state is idle */ 18 65 2 vtoc_map_lock_notify bit (1) unal, /* TRUE if notify required when vtoc map lock is unlocked */ 18 66 18 67 18 68 2 n_free_vtoce fixed bin (17), /* number of free VTOC entries */ 18 69 2 vtoc_size fixed bin (17), /* size of the VTOC part of the disk - in records */ 18 70 18 71 2 dbmrp (2) bit (18), /* rel ptr to dumber bit maps for this volume */ 18 72 18 73 2 nleft fixed bin (17), /* number of records left */ 18 74 2 totrec fixed bin (17)) unaligned, /* Total records in this map */ 18 75 18 76 2 dim_info bit (36), /* Information peculiar to DIM */ 18 77 2 sv_num fixed bin, /* the number of this subvolume starting at 0 */ 18 78 2 num_of_svs fixed bin, /* number of subvolumes for this device */ 18 79 2 records_per_cyl fixed bin, 18 80 2 record_factor fixed bin, /* the record factor for logical to real seek calculation */ 18 81 2 sv_name char (2) aligned, 18 82 2 curn_dmpr_vtocx (3) fixed bin unaligned,/* current vtocx being dumped */ 18 83 2 n_vtoce fixed bin unaligned, /* number of vtoce on this volume */ 18 84 18 85 2 baseadd fixed bin (18) uns unaligned, /* Base of paging region */ 18 86 2 pad2 bit (18) unaligned, 18 87 18 88 2 pad_for_mod_2 fixed bin (35), /* Make volmap_seg_sdw double word aligned */ 18 89 18 90 2 volmap_seg_sdw fixed bin (71), /* SDW describing volmap_seg */ 18 91 18 92 2 volmap_astep ptr unal, /* Packed pointer to ASTE for volmap_seg */ 18 93 18 94 2 volmap_offset bit (18) unal, /* Offset in volmap_seg of volume map */ 18 95 2 vtoc_map_offset bit (18) unal, /* Offset in volmap_seg of VTOC map */ 18 96 18 97 18 98 2 volmap_lock bit (36) aligned, /* Lock on volume map operations */ 18 99 18 100 2 vtoc_map_lock bit (36) aligned, /* Lock on VTOC map operations */ 18 101 18 102 2 volmap_stock_ptr ptr unal, /* Packed pointer to record stock */ 18 103 18 104 2 vtoc_map_stock_ptr ptr unal, /* Packed pointer to VTOCE stock */ 18 105 18 106 2 volmap_async_state fixed bin (17) unaligned, /* Asynchronous update state of Volume Map */ 18 107 2 volmap_async_page fixed bin (17) unaligned, /* Page number for asynchronous update */ 18 108 18 109 2 vol_trouble_count fixed bin (17) unaligned, /* Count of inconsistencies since last salvage */ 18 110 2 scavenger_block_rel bit (18) unaligned; /* Offset to scavenger block, ^0 => scavenging */ 18 111 18 112 18 113 dcl (VOLMAP_ASYNC_IDLE init (0), /* for volmap_async_state */ 18 114 VOLMAP_ASYNC_READ init (1), 18 115 VOLMAP_ASYNC_WRITE init (2)) fixed bin int static options (constant); 18 116 18 117 18 118 /* END OF: pvte.incl.pl1 * * * * * * * * * * * * * * * * */ 2583 19 1 /* BEGIN INCLUDE FILE ... sdw.incl.pl1 ... last modified 12 May 1976 */ 19 2 19 3 dcl sdwp ptr; 19 4 19 5 dcl 1 sdw based (sdwp) aligned, /* Segment Descriptor Word */ 19 6 19 7 (2 add bit (24), /* main memory address of page table */ 19 8 2 (r1, r2, r3) bit (3), /* ring brackets for the segment */ 19 9 2 df bit (1), /* directed fault bit (0 => fault) */ 19 10 2 df_no bit (2), /* directed fault number */ 19 11 19 12 2 pad1 bit (1), 19 13 2 bound bit (14), /* boundary field (in 16 word blocks) */ 19 14 2 access, /* access bits */ 19 15 3 read bit (1), /* read permission bit */ 19 16 3 execute bit (1), /* execute permission bit */ 19 17 3 write bit (1), /* write permission bit */ 19 18 3 privileged bit (1), /* privileged bit */ 19 19 2 unpaged bit (1), /* segment is unpaged if this is 1 */ 19 20 2 entry_bound_sw bit (1), /* if this is 0 the entry bound is checked by hardware */ 19 21 2 cache bit (1), /* cache enable bit */ 19 22 2 entry_bound bit (14)) unaligned; /* entry bound */ 19 23 19 24 dcl 1 sdwa (0: 1) based (sdwp) aligned like sdw; /* SDW array (descriptor segment) */ 19 25 19 26 /* END INCLUDE FILE sdw.incl.pl1 */ 2584 20 1 /* BEGIN INCLUDE FILE ... signaller_stack.incl.pl1 ... Created Feb 79 by D.Spector */ 20 2 20 3 /* This file matches signaller_stack.incl.alm and is currently used only by verify_lock */ 20 4 20 5 declare 1 signaller_stack based unaligned, 20 6 2 pad (8) bit (36), /* Make machine conditions 0 mod 16 */ 20 7 2 mach_cond (48) bit (36), /* Machine conditions */ 20 8 2 mc_ptr ptr aligned, /* Pointer to machine conditions */ 20 9 2 null_ptr ptr aligned, /* Null pointer */ 20 10 2 string_descriptor bit (36), /* Condition name descriptor */ 20 11 2 ptr_descriptor bit (36), /* M.C. ptr descriptor */ 20 12 2 arglist (18) bit (36), /* Arg list for call to signal */ 20 13 2 signal_string char (32), /* Condition name */ 20 14 2 on_unit (16) bit (36), /* Must be at 128 in stack frame */ 20 15 2 history_registers (128) bit (36); 20 16 20 17 /* on_unit must start at 128 because trap_caller_caller_ sets up a stack frame 20 18* assuming this to be so. Similarly mach_cond must start at 48. */ 20 19 20 20 /* END INCLUDE FILE ... signaller_stack.incl.pl1 ... */ 2585 21 1 /* BEGIN INCLUDE FILE ... sst.incl.pl1 ... January 1971 */ 21 2 /* Note: This include file has an ALM counterpart made with cif. Keep it up to date */ 21 3 /* Deleted paging device info and added pc segmove info, Benson Margulies 84-01-03 */ 21 4 /* Added covert channel meters, Keith Loepere 85-01-08. */ 21 5 21 6 dcl sst_seg$ external; 21 7 dcl sstp ptr; 21 8 21 9 dcl 1 sst based (sstp) aligned, 21 10 2 space (8) fixed bin, /* empty space to watch for bugs */ 21 11 21 12 /* SST HEADER */ 21 13 21 14 2 pre_page_time fixed bin (71), /* total time spent pre-paging */ 21 15 2 post_purge_time fixed bin (71), /* total time spent post-purging */ 21 16 2 post_in_core fixed bin, /* total pages in core (and in list) at purge time */ 21 17 2 thrashing fixed bin, /* meter of thrashing being done on system */ 21 18 2 npfs_misses fixed bin, /* meter of times npfs was on when pre-paging */ 21 19 2 salv fixed bin, /* flag which is ^=0 if and only if salvaging */ 21 20 21 21 2 ptl bit (36), /* global page table loop lock */ 21 22 2 astl bit (36), /* global ast allocation block lock */ 21 23 2 astl_event bit (36), /* event used when waiting for AST lock */ 21 24 2 astl_notify_requested bit (1) aligned, /* flag to notify AST lock */ 21 25 2 nused fixed bin, /* number of pages on used list */ 21 26 2 ptwbase fixed bin (24), /* absolute address of page table array */ 21 27 2 tfreep ptr, /* pointer to first trailer on free list */ 21 28 21 29 2 astap ptr, /* aste array pointer */ 21 30 2 ptl_wait_ct fixed bin, /* pxss: number is >= # of processes waiting to ptl */ 21 31 2 astsize fixed bin, /* size of an AST entry */ 21 32 2 cmesize fixed bin, /* size of a CME entry */ 21 33 2 root_astep ptr, /* pointer to the root AST entry */ 21 34 21 35 2 pts (0: 3) fixed bin, /* array of page table sizes */ 21 36 2 level (0:3), /* per-list information about ASTE's */ 21 37 3 (ausedp, no_aste) bit (18) unaligned, /* used list and count of number of entries */ 21 38 21 39 2 (atempp, atempp1) bit (18) unal, /* temp seg list pointer */ 21 40 2 dm_enabled bit (1) aligned, /* ON => journal seg exists */ 21 41 2 (ainitp, ainitp1) bit (18) unal, /* init seg list pointer */ 21 42 2 strsize fixed bin, /* Trailer size in words. */ 21 43 21 44 /* CORE MAP HEADER */ 21 45 21 46 2 cmp ptr, /* pointer to start of core map */ 21 47 2 usedp bit (18), /* pointer to first used core block */ 21 48 2 wtct fixed bin, /* count of pages being written */ 21 49 21 50 2 startp bit (18), /* pointer to solid page for lap counting (fsdct) */ 21 51 2 removep bit (18), /* pointer to list of pages being removed from use */ 21 52 /* MISC */ 21 53 21 54 2 double_write fixed bin, /* trigger for store through scheme */ 21 55 /* 0 = no double writes, 21 56* 1 = all non-pd pages get written, 21 57* 2 = all directories get written */ 21 58 2 temp_w_event bit (36) aligned, /* wait event for temp wiring lock */ 21 59 2 root_pvtx fixed bin, /* pvtx or rpv */ 21 60 2 nolock bit (1) aligned, /* if on, don't lock ptl on interrupts */ 21 61 21 62 2 fc_skips_pinned fixed bin (35), /* number of skips over pinned page in find_core */ 21 63 2 cl_skips_pinned fixed bin (35), /* number of skips over pinned page in claim_mod_core */ 21 64 2 ast_ht_ptr ptr, /* AST hast table pointer */ 21 65 2 ast_ht_n_buckets fixed bin, /* number of buckets in AST hash table */ 21 66 2 ast_ht_uid_mask bit (36) aligned, /* mask to strip out low-order bits of uid */ 21 67 2 meter_ast_locking fixed bin, /* non-zero enables AST lock meters */ 21 68 2 checksum_filemap fixed bin, /* non-zero enables filemap checksumming */ 21 69 21 70 2 page_read_errors fixed bin, /* read errors posted to page control */ 21 71 2 page_write_errors fixed bin, /* write errors posted to page control */ 21 72 21 73 2 cycle_pv_allocation fixed bin, /* flag to cycle VTOCE allocation among PVs */ 21 74 21 75 2 n_trailers fixed bin, /* Number of trailer entries in str_seg */ 21 76 2 synch_activations fixed bin (35), /* Activation attempts for synchronized segs */ 21 77 2 synch_skips fixed bin (35), /* get_aste skips because not synchronized */ 21 78 21 79 2 lock_waits fixed bin, /* Number of times we had to wait for a lock */ 21 80 2 total_locks_set fixed bin, /* Total number of block locks set */ 21 81 2 pdir_page_faults fixed bin, /* total page faults off >pdd */ 21 82 2 level_1_page_faults fixed bin, /* total page faults in sys libes */ 21 83 2 dir_page_faults fixed bin, /* Total page faults on directories */ 21 84 2 ring_0_page_faults fixed bin, /* page faults in ring 0 */ 21 85 2 rqover fixed bin (35), /* errcode for record quota overflow */ 21 86 2 pc_io_waits fixed bin, /* Number of times pc had to wait on io */ 21 87 21 88 21 89 /* The following (until pdmap) used to be the 'cnt' in cnt.incl.pl1 */ 21 90 21 91 2 steps fixed bin, /* number of steps taken around used list */ 21 92 2 needc fixed bin, /* number of times core page needed */ 21 93 2 ceiling fixed bin, /* number of times ceiling hit */ 21 94 2 ctwait fixed bin, /* number of times write counter was full */ 21 95 2 wired fixed bin, /* number of pages wired by pc */ 21 96 2 laps fixed bin, /* number of times around used list */ 21 97 2 skipw fixed bin, /* number of pages skiped because they were wired */ 21 98 2 skipu fixed bin, /* because of being used */ 21 99 21 100 2 skipm fixed bin, /* because of being modified */ 21 101 2 skipos fixed bin, /* because out of service */ 21 102 2 aused fixed bin, /* number of AST entries on used list */ 21 103 2 damaged_ct fixed bin, /* count of segments that system damaged */ 21 104 2 deact_count fixed bin, /* count of deactivations */ 21 105 2 demand_deact_attempts fixed bin, /* user requested deactivations */ 21 106 2 demand_deactivations fixed bin, /* user instigated deactivations */ 21 107 21 108 2 reads (8) fixed bin, /* number of reads for each did */ 21 109 2 writes (8) fixed bin, /* number of writes for each did */ 21 110 21 111 2 short_pf_count fixed bin, /* count of page faults on out of service pages */ 21 112 2 loop_locks fixed bin, /* count of times locked PTL */ 21 113 2 loop_lock_time fixed bin (71), /* time spent looping on PTL */ 21 114 2 cpu_sf_time fixed bin (71), /* cpu time spent in seg_fault */ 21 115 2 total_sf_pf fixed bin, /* total page faults while in seg_fault */ 21 116 2 total_sf fixed bin, /* total number of seg_faults */ 21 117 2 pre_page_size fixed bin, /* total pre-pagings expected */ 21 118 2 post_list_size fixed bin, 21 119 2 post_purgings fixed bin, /* total number of post-purgings */ 21 120 2 post_purge_calls fixed bin, /* total number of calls to post-purge */ 21 121 2 pre_page_calls fixed bin, /* total number of calls tp pre-page */ 21 122 2 pre_page_list_size fixed bin, 21 123 2 pre_page_misses fixed bin, /* total number of misses in pre-page list */ 21 124 2 pre_pagings fixed bin, /* total number of pre-pagings */ 21 125 21 126 /* TEMPORARY WIRED PROCEDURE INFO */ 21 127 21 128 2 wire_proc_data (8) fixed bin (71), /* data for wire_proc */ 21 129 21 130 /* MAIN MEMORY USAGE INFORMATION */ 21 131 21 132 2 abs_wired_count fixed bin, /* count of abs-wired pages */ 21 133 2 system_type fixed bin, /* ADP_SYSTEM or L68_SYSTEM */ 21 134 2 wired_copies fixed bin, /* number of times a wired page was copied */ 21 135 2 recopies fixed bin, /* number of times recopied because modified */ 21 136 2 first_core_block fixed bin, /* core map index for first block of core */ 21 137 2 last_core_block fixed bin, /* core map index for last block of core */ 21 138 2 fw_retries fixed bin (35), /* force_write retries due to ASTE move */ 21 139 2 pvhtp ptr unaligned, /* ptr to PV hold table for debugging */ 21 140 21 141 /* AST METERS */ 21 142 21 143 2 askipsize (0: 3) fixed bin, /* array of skips because wrong AST size */ 21 144 2 aneedsize (0: 3) fixed bin, /* array of times needed each size */ 21 145 21 146 2 stepsa fixed bin, /* count of steps taken looking for an AST entry */ 21 147 2 askipsehs fixed bin, /* count of skips because EHS was ON */ 21 148 2 asearches fixed bin, /* count of full searches made */ 21 149 2 askipslevel fixed bin, /* count of skips because pages were in core */ 21 150 2 askipsinit fixed bin, /* count of times turned OFF init switch */ 21 151 2 acost fixed bin, /* cumulative cost of deactivations */ 21 152 2 askipslock fixed bin, /* count of skips because couldn't lock parent */ 21 153 2 askipdius fixed bin, /* count of skips because DIUS was on */ 21 154 21 155 2 alaps fixed bin, /* lap counter for AST list */ 21 156 2 updates fixed bin, /* calls to updateb */ 21 157 2 setfaults_all fixed bin, /* setfaults done to the entire SDW */ 21 158 2 setfaults_acc fixed bin, /* setfaults done to the access field */ 21 159 2 total_bf fixed bin, /* count of bound faults */ 21 160 2 total_bf_pf fixed bin, /* page faults during bound faults */ 21 161 2 cpu_bf_time fixed bin (71), /* cpu time spent in bound fault */ 21 162 21 163 2 asteps (0: 3) fixed bin, /* per-size AST step counters */ 21 164 21 165 2 ast_locked_at_time fixed bin (71), /* clock reading when ast last locked */ 21 166 2 ast_locked_total_time fixed bin (71), /* total real time the ast lock was locked */ 21 167 2 ast_lock_wait_time fixed bin (71), /* total real time of all waiting on ast lock */ 21 168 2 ast_locking_count fixed bin (35), /* number of times ast was locked */ 21 169 2 cleanup_count fixed bin, /* calls to pc$cleanup */ 21 170 2 cleanup_real_time fixed bin (71), /* total real time in pc$cleanup */ 21 171 21 172 /* PRE-PAGE METERS */ 21 173 21 174 2 tree_count (0: 63) fixed bin, /* counters for pre-page decisions */ 21 175 21 176 2 pp_meters (0: 63) fixed bin, /* counters for measuring pre-page success */ 21 177 21 178 21 179 2 wusedp bit (18) aligned, /* Relative cmep to next cme for writing */ 21 180 2 write_hunts fixed bin, /* Times claim_mod_core invoked */ 21 181 2 claim_skip_cme fixed bin, /* Times unacceptable cme found by c_m_c */ 21 182 2 claim_skip_free fixed bin, /* Times free cme passed by c_m_c */ 21 183 2 claim_notmod fixed bin, /* Times c_m_c passed pure page */ 21 184 2 claim_passed_used fixed bin, /* Times used page seen */ 21 185 2 claim_skip_ptw fixed bin, /* Times c_m_c saw unacceptable ptw */ 21 186 2 claim_writes fixed bin, /* Writes queued by c_m_c */ 21 187 2 claim_steps fixed bin, /* Steps passed in core claiming */ 21 188 2 pre_seeks_failed fixed bin, /* counter of times quick find_core_ failed */ 21 189 2 resurrections fixed bin, /* nulled addresses reinstated */ 21 190 2 volmap_seg_page_faults fixed bin (35), /* Pseudo-page faults on volmap_seg */ 21 191 2 oopv fixed bin, /* out-of-physical-volume page faults */ 21 192 2 dblw_resurrections fixed bin, /* addresses resurrected by double-writing */ 21 193 2 sgm_time fixed bin (71), /* Time (VCPU) in seg mover */ 21 194 2 sgm_pf fixed bin, /* Page faults in seg moving */ 21 195 2 bad_sgms fixed bin, /* Seg moves that failed */ 21 196 2 sgm_sgft fixed bin, /* Seg faults in seg moves */ 21 197 2 good_sgms fixed bin, /* Seg moves that completed */ 21 198 2 claim_runs fixed bin, /* Times claim_mod_core had to run */ 21 199 2 activations fixed bin, /* total count of activations */ 21 200 2 dir_activations fixed bin, /* count of directory activations */ 21 201 2 hedge_updatevs fixed bin, /* call-in updatevs */ 21 202 2 hedge_writes fixed bin, /* call in core flush writes */ 21 203 2 evict_recover_data, /* see evict_page.alm */ 21 204 3 evict_ptp bit (18) unal, /* ptp of page being moved */ 21 205 3 evict_phmbit bit (18) unal, /* N/Z if page was mod */ 21 206 21 207 /* Data for metering force_write facility 08/19/78 */ 21 208 21 209 2 force_swrites fixed bin, /* Calls on segments to force write */ 21 210 2 force_pwrites fixed bin, /* Mod pages so written */ 21 211 2 fw_none fixed bin, /* Force write wrote none */ 21 212 2 force_updatevs fixed bin, /* Updatev's so forced */ 21 213 21 214 2 pf_unlock_ptl_time fixed bin (71), /* Time unlocking ptln page faults */ 21 215 2 pf_unlock_ptl_meterings fixed bin, 21 216 21 217 2 makeknown_activations fixed bin (35), /* activations at makeknown time */ 21 218 2 backup_activations fixed bin (35), /* activations for backup */ 21 219 2 metering_flags aligned, /* small chunks of misc. information */ 21 220 3 activate_activated bit (1) unal, /* ON => last call to activate entry actually activated something */ 21 221 3 pad bit (35) unal, 21 222 2 seg_fault_calls fixed bin (35), /* number calls to seg_fault for explicit activation */ 21 223 21 224 /* METERS FOR STACK TRUNCATION */ 21 225 21 226 2 (stk_truncate_should_didnt, /* counts */ 21 227 stk_truncate_should_did, 21 228 stk_truncate_shouldnt_didnt, 21 229 stk_truncate_shouldnt_did) fixed bin (35), 21 230 2 stk_pages_truncated fixed bin (35), 21 231 2 stk_pages_truncated_in_core fixed bin (35), 21 232 21 233 /* SUPPORT FOR PC SEGMOVES */ 21 234 21 235 2 segmove_lock aligned, 21 236 3 pid bit (36) aligned, 21 237 3 event bit (36) aligned, 21 238 3 notify bit (1) aligned, 21 239 2 segmove_io_limit fixed bin, /* max read aheads */ 21 240 2 segmove_found_synch fixed bin (35), /* cme.synch_held */ 21 241 2 segmove_synch_disappeared fixed bin (35), /* page$check_synch fixed */ 21 242 2 segmove_n_reads fixed bin (35), /* total IO's queued. */ 21 243 2 segmove_max_tries fixed bin (35), /* max times through the read loop */ 21 244 21 245 2 segmove_astep ptr unal, /* if non-null, addresses to be rescued from old_addr_astep */ 21 246 2 segmove_pvtx fixed bin, /* if segmove_astep nonnull, valid */ 21 247 2 segmove_vtocx fixed bin, /* ditto */ 21 248 2 segmove_old_addr_astep ptr unaligned, /* ditto */ 21 249 2 segmove_new_addr_astep ptr unaligned, /* if non-null, the addresses must be deposited. */ 21 250 21 251 2 mod_during_write fixed bin, /* times a page was modified while it was being written */ 21 252 2 zero_pages fixed bin, /* count of pages truncated because all zero */ 21 253 2 trace_sw aligned, /* tracing control flags */ 21 254 3 pad_trace bit (32) unaligned, 21 255 3 pc_trace_pf bit (1) unaligned, /* tracing for page faults, done, etc. */ 21 256 3 tty_trace bit (1) unaligned, 21 257 3 pc_trace bit (1) unaligned, /* flag used by page control primitives */ 21 258 3 sc_trace bit (1) unaligned, /* flag used by segment control primitives */ 21 259 2 new_pages fixed bin, /* newly created pages */ 21 260 2 ast_track bit (1) aligned, /* "1"b => keep SST name table */ 21 261 2 dirlock_writebehind fixed bin, /* =1 to flush modified dir pages in lock$unlock */ 21 262 2 write_limit fixed bin, /* Max # of outstanding writes by page control */ 21 263 2 crash_test_segmove bit (1) aligned, /* crash in mid-segmove */ 21 264 2 delayed_seg_state_chg fixed bin (35), /* count of times a process was delayed in affecting a seg state */ 21 265 2 audit_seg_state_chg fixed bin (35), /* count of times a process was audited for excessive seg state changes */ 21 266 2 seg_state_chg_delay fixed bin (52), /* total times processes were delayed for covert channels */ 21 267 2 seg_state_change_limit fixed bin, /* number of events over which we determine covert channel bandwidth */ 21 268 2 max_seg_state_change_bw fixed bin, /* maximum bps for covert channel before we delay */ 21 269 2 audit_seg_state_change_bw fixed bin, /* maximum bps for covert channel before we audit */ 21 270 2 seg_state_chg_operation bit (36) aligned, /* access_operation_ value for excessive_seg_state_chg */ 21 271 2 pad4 (126) bit (36) aligned; /* padding to 512 words (1000)8 */ 21 272 21 273 /* END INCLUDE FILE sst.incl.pl1 */ 2586 22 1 /* BEGIN INCLUDE FILE ... stack_frame.incl.pl1 ... */ 22 2 22 3 /* format: off */ 22 4 22 5 /* Modified: 16 Dec 1977, D. Levin - to add fio_ps_ptr and pl1_ps_ptr */ 22 6 /* Modified: 3 Feb 1978, P. Krupp - to add run_unit_manager bit & main_proc bit */ 22 7 /* Modified: 21 March 1978, D. Levin - change fio_ps_ptr to support_ptr */ 22 8 /* Modified: 03/01/84, S. Herbst - Added RETURN_PTR_MASK */ 22 9 22 10 22 11 /****^ HISTORY COMMENTS: 22 12* 1) change(86-09-15,Kissel), approve(86-09-15,MCR7473), 22 13* audit(86-10-01,Fawcett), install(86-11-03,MR12.0-1206): 22 14* Modified to add constants for the translator_id field in the stack_frame 22 15* structure. 22 16* END HISTORY COMMENTS */ 22 17 22 18 22 19 dcl RETURN_PTR_MASK bit (72) int static options (constant) /* mask to be AND'd with stack_frame.return_ptr */ 22 20 init ("777777777777777777000000"b3); /* when copying, to ignore bits that a call fills */ 22 21 /* with indicators (nonzero for Fortran hexfp caller) */ 22 22 /* say: unspec(ptr) = unspec(stack_frame.return_ptr) & RETURN_PTR_MASK; */ 22 23 22 24 dcl TRANSLATOR_ID_PL1V2 bit (18) internal static options (constant) init ("000000"b3); 22 25 dcl TRANSLATOR_ID_ALM bit (18) internal static options (constant) init ("000001"b3); 22 26 dcl TRANSLATOR_ID_PL1V1 bit (18) internal static options (constant) init ("000002"b3); 22 27 dcl TRANSLATOR_ID_SIGNAL_CALLER bit (18) internal static options (constant) init ("000003"b3); 22 28 dcl TRANSLATOR_ID_SIGNALLER bit (18) internal static options (constant) init ("000004"b3); 22 29 22 30 22 31 dcl sp pointer; /* pointer to beginning of stack frame */ 22 32 22 33 dcl stack_frame_min_length fixed bin static init(48); 22 34 22 35 22 36 dcl 1 stack_frame based(sp) aligned, 22 37 2 pointer_registers(0 : 7) ptr, 22 38 2 prev_sp pointer, 22 39 2 next_sp pointer, 22 40 2 return_ptr pointer, 22 41 2 entry_ptr pointer, 22 42 2 operator_and_lp_ptr ptr, /* serves as both */ 22 43 2 arg_ptr pointer, 22 44 2 static_ptr ptr unaligned, 22 45 2 support_ptr ptr unal, /* only used by fortran I/O */ 22 46 2 on_unit_relp1 bit(18) unaligned, 22 47 2 on_unit_relp2 bit(18) unaligned, 22 48 2 translator_id bit(18) unaligned, /* Translator ID (see constants above) 22 49* 0 => PL/I version II 22 50* 1 => ALM 22 51* 2 => PL/I version I 22 52* 3 => signal caller frame 22 53* 4 => signaller frame */ 22 54 2 operator_return_offset bit(18) unaligned, 22 55 2 x(0: 7) bit(18) unaligned, /* index registers */ 22 56 2 a bit(36), /* accumulator */ 22 57 2 q bit(36), /* q-register */ 22 58 2 e bit(36), /* exponent */ 22 59 2 timer bit(27) unaligned, /* timer */ 22 60 2 pad bit(6) unaligned, 22 61 2 ring_alarm_reg bit(3) unaligned; 22 62 22 63 22 64 dcl 1 stack_frame_flags based(sp) aligned, 22 65 2 pad(0 : 7) bit(72), /* skip over prs */ 22 66 2 xx0 bit(22) unal, 22 67 2 main_proc bit(1) unal, /* on if frame belongs to a main procedure */ 22 68 2 run_unit_manager bit(1) unal, /* on if frame belongs to run unit manager */ 22 69 2 signal bit(1) unal, /* on if frame belongs to logical signal_ */ 22 70 2 crawl_out bit(1) unal, /* on if this is a signal caller frame */ 22 71 2 signaller bit(1) unal, /* on if next frame is signaller's */ 22 72 2 link_trap bit(1) unal, /* on if this frame was made by the linker */ 22 73 2 support bit(1) unal, /* on if frame belongs to a support proc */ 22 74 2 condition bit(1) unal, /* on if condition established in this frame */ 22 75 2 xx0a bit(6) unal, 22 76 2 xx1 fixed bin, 22 77 2 xx2 fixed bin, 22 78 2 xx3 bit(25) unal, 22 79 2 old_crawl_out bit (1) unal, /* on if this is a signal caller frame */ 22 80 2 old_signaller bit(1) unal, /* on if next frame is signaller's */ 22 81 2 xx3a bit(9) unaligned, 22 82 2 xx4(9) bit(72) aligned, 22 83 2 v2_pl1_op_ret_base ptr, /* When a V2 PL/I program calls an operator the 22 84* * operator puts a pointer to the base of 22 85* * the calling procedure here. (text base ptr) */ 22 86 2 xx5 bit(72) aligned, 22 87 2 pl1_ps_ptr ptr; /* ptr to ps for this frame; also used by fio. */ 22 88 22 89 /* format: on */ 22 90 22 91 /* END INCLUDE FILE ... stack_frame.incl.pl1 */ 2587 23 1 /* BEGIN INCLUDE FILE ... stack_header.incl.pl1 .. 3/72 Bill Silver */ 23 2 /* modified 7/76 by M. Weaver for *system links and more system use of areas */ 23 3 /* modified 3/77 by M. Weaver to add rnt_ptr */ 23 4 /* Modified April 1983 by C. Hornig for tasking */ 23 5 23 6 /****^ HISTORY COMMENTS: 23 7* 1) change(86-06-24,DGHowe), approve(86-06-24,MCR7396), 23 8* audit(86-08-05,Schroth), install(86-11-03,MR12.0-1206): 23 9* added the heap_header_ptr definition. 23 10* 2) change(86-08-12,Kissel), approve(86-08-12,MCR7473), 23 11* audit(86-10-10,Fawcett), install(86-11-03,MR12.0-1206): 23 12* Modified to support control point management. These changes were actually 23 13* made in February 1985 by G. Palter. 23 14* 3) change(86-10-22,Fawcett), approve(86-10-22,MCR7473), 23 15* audit(86-10-22,Farley), install(86-11-03,MR12.0-1206): 23 16* Remove the old_lot pointer and replace it with cpm_data_ptr. Use the 18 23 17* bit pad after cur_lot_size for the cpm_enabled. This was done to save some 23 18* space int the stack header and change the cpd_ptr unal to cpm_data_ptr 23 19* (ITS pair). 23 20* END HISTORY COMMENTS */ 23 21 23 22 /* format: style2 */ 23 23 23 24 dcl sb ptr; /* the main pointer to the stack header */ 23 25 23 26 dcl 1 stack_header based (sb) aligned, 23 27 2 pad1 (4) fixed bin, /* (0) also used as arg list by outward_call_handler */ 23 28 2 cpm_data_ptr ptr, /* (4) pointer to control point which owns this stack */ 23 29 2 combined_stat_ptr ptr, /* (6) pointer to area containing separate static */ 23 30 2 clr_ptr ptr, /* (8) pointer to area containing linkage sections */ 23 31 2 max_lot_size fixed bin (17) unal, /* (10) DU number of words allowed in lot */ 23 32 2 main_proc_invoked fixed bin (11) unal, /* (10) DL nonzero if main procedure invoked in run unit */ 23 33 2 have_static_vlas bit (1) unal, /* (10) DL "1"b if (very) large arrays are being used in static */ 23 34 2 pad4 bit (2) unal, 23 35 2 run_unit_depth fixed bin (2) unal, /* (10) DL number of active run units stacked */ 23 36 2 cur_lot_size fixed bin (17) unal, /* (11) DU number of words (entries) in lot */ 23 37 2 cpm_enabled bit (18) unal, /* (11) DL non-zero if control point management is enabled */ 23 38 2 system_free_ptr ptr, /* (12) pointer to system storage area */ 23 39 2 user_free_ptr ptr, /* (14) pointer to user storage area */ 23 40 2 null_ptr ptr, /* (16) */ 23 41 2 stack_begin_ptr ptr, /* (18) pointer to first stack frame on the stack */ 23 42 2 stack_end_ptr ptr, /* (20) pointer to next useable stack frame */ 23 43 2 lot_ptr ptr, /* (22) pointer to the lot for the current ring */ 23 44 2 signal_ptr ptr, /* (24) pointer to signal procedure for current ring */ 23 45 2 bar_mode_sp ptr, /* (26) value of sp before entering bar mode */ 23 46 2 pl1_operators_ptr ptr, /* (28) pointer to pl1_operators_$operator_table */ 23 47 2 call_op_ptr ptr, /* (30) pointer to standard call operator */ 23 48 2 push_op_ptr ptr, /* (32) pointer to standard push operator */ 23 49 2 return_op_ptr ptr, /* (34) pointer to standard return operator */ 23 50 2 return_no_pop_op_ptr 23 51 ptr, /* (36) pointer to standard return / no pop operator */ 23 52 2 entry_op_ptr ptr, /* (38) pointer to standard entry operator */ 23 53 2 trans_op_tv_ptr ptr, /* (40) pointer to translator operator ptrs */ 23 54 2 isot_ptr ptr, /* (42) pointer to ISOT */ 23 55 2 sct_ptr ptr, /* (44) pointer to System Condition Table */ 23 56 2 unwinder_ptr ptr, /* (46) pointer to unwinder for current ring */ 23 57 2 sys_link_info_ptr ptr, /* (48) pointer to *system link name table */ 23 58 2 rnt_ptr ptr, /* (50) pointer to Reference Name Table */ 23 59 2 ect_ptr ptr, /* (52) pointer to event channel table */ 23 60 2 assign_linkage_ptr ptr, /* (54) pointer to storage for (obsolete) hcs_$assign_linkage */ 23 61 2 heap_header_ptr ptr, /* (56) pointer to the heap header for this ring */ 23 62 2 trace, 23 63 3 frames, 23 64 4 count fixed bin, /* (58) number of trace frames */ 23 65 4 top_ptr ptr unal, /* (59) pointer to last trace frame */ 23 66 3 in_trace bit (36) aligned, /* (60) trace antirecursion flag */ 23 67 2 pad2 bit (36), /* (61) */ 23 68 2 pad5 pointer; /* (62) pointer to future stuff */ 23 69 23 70 /* The following offset refers to a table within the pl1 operator table. */ 23 71 23 72 dcl tv_offset fixed bin init (361) internal static; 23 73 /* (551) octal */ 23 74 23 75 23 76 /* The following constants are offsets within this transfer vector table. */ 23 77 23 78 dcl ( 23 79 call_offset fixed bin init (271), 23 80 push_offset fixed bin init (272), 23 81 return_offset fixed bin init (273), 23 82 return_no_pop_offset fixed bin init (274), 23 83 entry_offset fixed bin init (275) 23 84 ) internal static; 23 85 23 86 23 87 23 88 23 89 23 90 /* The following declaration is an overlay of the whole stack header. Procedures which 23 91* move the whole stack header should use this overlay. 23 92**/ 23 93 23 94 dcl stack_header_overlay (size (stack_header)) fixed bin based (sb); 23 95 23 96 23 97 23 98 /* END INCLUDE FILE ... stack_header.incl.pl1 */ 2588 24 1 /* BEGIN include file unpaged_page_tables.incl.pl1 */ 24 2 24 3 /* This include file describes the segments unpaged_page_tables and 24 4*int_unpaged_page_tables. These segments contain the page tables for 24 5*segments that are paged and wired, those segments previously called 24 6*unpaged. 24 7* 24 8*Written September 15, 1983 by Keith Loepere. */ 24 9 24 10 /* format: style4,indattr,ifthenstmt,ifthen,idind33,^indcomtxt */ 24 11 24 12 dcl upt_ptr ptr; 24 13 dcl 1 upt aligned based (upt_ptr), 24 14 2 sst_absloc fixed bin (26), /* for dump analyzers */ 24 15 2 sst_last_loc fixed bin (26), 24 16 2 upt_absloc fixed bin (26), 24 17 2 upt_last_loc fixed bin (26), 24 18 2 iupt_absloc fixed bin (26), 24 19 2 iupt_last_loc fixed bin (26), 24 20 24 21 2 current_length fixed bin, /* number of words currently used */ 24 22 2 max_length fixed bin, /* max number of words in memory allocated */ 24 23 2 first_entry like upt_entry; 24 24 24 25 dcl upt_entry_ptr ptr; 24 26 dcl 1 upt_entry aligned based (upt_entry_ptr), 24 27 2 size fixed bin, /* number of page table words allocated */ 24 28 2 segno fixed bin, /* of hardcore segment */ 24 29 2 ptws (0 refer (upt_entry.size)) bit (36) aligned; 24 30 24 31 /* END include file unpaged_page_tables.incl.pl1 */ 2589 2590 2591 end azm_requests_1_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 07/19/88 1533.2 azm_requests_1_.pl1 >special_ldd>install>MR12.2-1061>azm_requests_1_.pl1 2566 1 09/29/77 1502.7 add_type.incl.pl1 >ldd>include>add_type.incl.pl1 2567 2 09/22/83 1102.5 amu_fdump_info.incl.pl1 >ldd>include>amu_fdump_info.incl.pl1 2568 3 11/20/84 0854.8 amu_hardcore_info.incl.pl1 >ldd>include>amu_hardcore_info.incl.pl1 2569 4 11/20/84 0856.1 amu_info.incl.pl1 >ldd>include>amu_info.incl.pl1 2570 5 09/22/83 1102.5 amu_mc.incl.pl1 >ldd>include>amu_mc.incl.pl1 2571 6 11/20/84 0856.2 amu_process_info.incl.pl1 >ldd>include>amu_process_info.incl.pl1 2572 7 07/28/87 0943.5 amu_translation.incl.pl1 >ldd>include>amu_translation.incl.pl1 2573 8 01/30/85 1523.9 aste.incl.pl1 >ldd>include>aste.incl.pl1 2574 9 11/20/84 0854.8 azm_info.incl.pl1 >ldd>include>azm_info.incl.pl1 2575 10 11/20/84 0854.8 azm_va_args.incl.pl1 >ldd>include>azm_va_args.incl.pl1 2576 11 08/12/81 2025.8 bos_dump.incl.pl1 >ldd>include>bos_dump.incl.pl1 2577 12 11/23/82 0953.7 cmp.incl.pl1 >ldd>include>cmp.incl.pl1 2578 13 09/24/84 1459.2 dump_segment_format.incl.pl1 >ldd>include>dump_segment_format.incl.pl1 2579 14 11/26/79 1320.6 its.incl.pl1 >ldd>include>its.incl.pl1 2580 15 12/15/83 1100.4 mc.incl.pl1 >ldd>include>mc.incl.pl1 2581 16 05/03/78 1422.1 ptw.incl.pl1 >ldd>include>ptw.incl.pl1 2582 17 05/27/82 1525.8 pvt.incl.pl1 >ldd>include>pvt.incl.pl1 2583 18 07/19/88 1523.2 pvte.incl.pl1 >special_ldd>install>MR12.2-1061>pvte.incl.pl1 2584 19 09/14/76 0759.8 sdw.incl.pl1 >ldd>include>sdw.incl.pl1 2585 20 03/08/79 1715.0 signaller_stack.incl.pl1 >ldd>include>signaller_stack.incl.pl1 2586 21 01/30/85 1523.9 sst.incl.pl1 >ldd>include>sst.incl.pl1 2587 22 11/07/86 1550.3 stack_frame.incl.pl1 >ldd>include>stack_frame.incl.pl1 2588 23 11/07/86 1550.3 stack_header.incl.pl1 >ldd>include>stack_header.incl.pl1 2589 24 07/11/84 0937.3 unpaged_page_tables.incl.pl1 >ldd>include>unpaged_page_tables.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. Arg_expected parameter char packed unaligned dcl 2250 set ref 2246 2255* BLK constant fixed bin(17,0) initial dcl 265 ref 2456 CPU_NAME 000036 constant char(8) initial packed unaligned dcl 263 ref 915 915 920 920 1891 FDUMP_PROCESS_TYPE constant fixed bin(17,0) initial dcl 4-47 ref 1623 2215 FDUMP_TYPE constant fixed bin(17,0) initial dcl 4-47 ref 1623 ITP_MODIFIER constant bit(6) initial packed unaligned dcl 14-56 ref 966 1205 ITS_MODIFIER constant bit(6) initial packed unaligned dcl 14-55 ref 966 1205 2513 PTL constant fixed bin(17,0) initial dcl 265 ref 2459 PTWF 000100 automatic char(32) packed unaligned dcl 67 set ref 665* 666* 676* 678* P_azm_info_ptr parameter pointer dcl 60 ref 382 443 696 763 771 1031 1234 1293 1486 1559 1742 1833 2493 P_sci_ptr parameter pointer dcl 60 ref 382 443 696 763 771 1031 1234 1293 1486 1559 1742 1833 2492 Ppos 002342 automatic pointer dcl 2539 set ref 2541* 2542 2543 Pproc 001662 automatic pointer dcl 1837 set ref 1525* 1526 1920* 1921 2338* 2339 2341 2341 RDY constant fixed bin(17,0) initial dcl 265 ref 2462 RS based bit(36) array packed unaligned dcl 254 set ref 998* RSP based pointer array dcl 255 set ref 1003* RSPP based pointer array packed unaligned dcl 256 set ref 1006* RUN constant fixed bin(17,0) initial dcl 265 ref 2465 SAVED_PROC_TYPE constant fixed bin(17,0) initial dcl 4-47 ref 1321 1621 1637 2228 STP constant fixed bin(17,0) initial dcl 265 ref 2468 WAIT constant fixed bin(17,0) initial dcl 265 ref 2471 a_code parameter fixed bin(35,0) dcl 2057 set ref 2049 2059* 2067* a_pos parameter fixed bin(17,0) dcl 2534 ref 2532 2543 access 1(15) based structure level 2 packed packed unaligned dcl 19-5 add based bit(24) level 2 packed packed unaligned dcl 19-5 ref 520 533 1816 1816 add_type 000000 constant structure level 1 packed packed unaligned dcl 1-8 addr builtin function dcl 278 ref 495 547 548 645 659 709 751 818 1049 1217 1219 1244 1324 1385 1403 1412 1413 1580 1603 1948 2214 2513 2541 addrel builtin function dcl 278 ref 629 635 637 640 1401 1412 1422 1422 1441 1711 1728 1728 1728 1728 1822 adjust_bit_count_ 000010 constant entry external dcl 289 ref 743 af_sw 000110 automatic bit(1) dcl 68 set ref 780 841 846 851 860 864 913 949 1074 1087 1098 1108 1155 1160 1166 1171 1215 1496 1512 1528 1545 2343 2349 2410 2411 2415 2495* 2496 2496* aip 4 based pointer level 2 dcl 9-3 ref 2494 al1 parameter fixed bin(21,0) dcl 2251 set ref 2246 2260* all 0(01) based bit(1) level 2 packed packed unaligned dcl 5-32 set ref 1648* 1681 all_sw 000112 automatic bit(1) packed unaligned dcl 70 set ref 404 432 1578* 2427* 2447* amu_$definition_get_prn 000016 constant entry external dcl 292 ref 1591 1688 1962 amu_$definition_ptr 000012 constant entry external dcl 290 ref 1431 2360 2367 2374 2383 2390 2397 amu_$definition_set_from 000014 constant entry external dcl 291 ref 1960 amu_$definition_set_prn 000020 constant entry external dcl 293 ref 1958 1970 amu_$do_translation 000022 constant entry external dcl 294 ref 2067 amu_$do_translation_hunt 000026 constant entry external dcl 296 ref 2322 amu_$do_translation_hunt_ptr 000024 constant entry external dcl 295 ref 507 545 amu_$error_for_caller 000030 constant entry external dcl 297 ref 2274 2281 2293 amu_$fdump_mpt_change_idx 000042 constant entry external dcl 302 ref 424 1511 1524 1542 1919 2219 2221 2337 amu_$fdump_mpt_current_process 000034 constant entry external dcl 299 ref 1497 1513 1529 1546 2344 amu_$fdump_mpt_current_process_af 000036 constant entry external dcl 300 ref 1496 1512 1528 1545 2343 amu_$fdump_mpt_fill_proc_table 000032 constant entry external dcl 298 ref 1932 amu_$fdump_mpt_revert_idx 000044 constant entry external dcl 303 ref 426 1014 1223 1514 1532 1549 1926 2072 2324 2353 amu_$fdump_mpt_temp_change_idx 000040 constant entry external dcl 301 ref 423 926 1510 1521 1539 1905 1916 2064 2319 2335 amu_$fdump_translate_to_temp_seg 000046 constant entry external dcl 304 ref 2220 2224 amu_$get_name 000052 constant entry external dcl 306 ref 959 1210 1410 1442 1718 1728 amu_$get_name_no_comp 000050 constant entry external dcl 305 ref 526 536 1816 amu_$get_segno_from_name 000054 constant entry external dcl 307 ref 490 1768 1778 amu_$get_va_args 000056 constant entry external dcl 308 ref 825 1058 1253 1612 amu_$get_va_args_given_start 000060 constant entry external dcl 309 ref 1392 amu_$hardcore_info_set_cur_ptrs 000062 constant entry external dcl 310 ref 496 710 amu_$print_apte 000070 constant entry external dcl 313 ref 406 435 amu_$print_char_dump 000064 constant entry external dcl 311 ref 986 amu_$print_char_dump_af 000066 constant entry external dcl 312 ref 1009 amu_$print_dump_oct 000072 constant entry external dcl 314 ref 542 971 amu_$print_dump_pptr 000074 constant entry external dcl 315 ref 981 amu_$print_dump_pptr_exp 000076 constant entry external dcl 316 ref 983 amu_$print_dump_ptr 000100 constant entry external dcl 317 ref 975 amu_$print_dump_ptr_exp 000102 constant entry external dcl 318 ref 977 amu_$print_inst_dump 000104 constant entry external dcl 319 ref 989 amu_$return_val_per_process 000106 constant entry external dcl 320 ref 2062 2216 2317 amu_$slt_search_seg_ptr 000110 constant entry external dcl 321 ref 543 711 amu_$tc_data_get_apt_entry 000112 constant entry external dcl 322 ref 402 430 amu_$tc_data_get_dbr 000114 constant entry external dcl 323 ref 1906 amu_$translate_force_add 000120 constant entry external dcl 325 ref 2239 amu_$translate_get 000116 constant entry external dcl 324 ref 2271 amu_et_$big_idx 000224 external static fixed bin(35,0) dcl 366 set ref 419* 1506* amu_et_$dbr_not_found 000226 external static fixed bin(35,0) dcl 367 ref 1934 amu_et_$free_core 000230 external static fixed bin(35,0) dcl 368 ref 914 amu_et_$invalid_segno 000232 external static fixed bin(35,0) dcl 369 ref 2273 amu_et_$neg_range 000234 external static fixed bin(35,0) dcl 370 set ref 891* amu_et_$no_translation 000236 external static fixed bin(35,0) dcl 371 ref 2229 amu_et_$not_implemented 000240 external static fixed bin(35,0) dcl 372 ref 2234 amu_et_$not_stack_seg 000242 external static fixed bin(35,0) dcl 373 ref 1705 2301 2303 amu_et_$proc_not_dumped 000244 external static fixed bin(35,0) dcl 374 ref 919 amu_et_$seg_not_dumped 000246 external static fixed bin(35,0) dcl 375 ref 939 amu_info based structure level 1 dcl 4-3 amu_info_ptr 001666 automatic pointer dcl 4-45 set ref 402* 406* 415 419 422 423* 424* 425 426* 430* 435* 490* 496* 507* 507 507 526* 536* 545* 687* 710* 825* 910* 926* 958* 959* 977* 983* 1014* 1058* 1210* 1223* 1253* 1321 1323 1392* 1410* 1431* 1442* 1496* 1497* 1506 1509 1510* 1511* 1512* 1513* 1514* 1520 1521* 1523 1524* 1525 1528* 1529* 1532* 1538 1539* 1541 1542* 1543 1545* 1546* 1549* 1591* 1612* 1621 1623 1623 1624 1637 1688* 1718* 1728* 1750 1768* 1778* 1816* 1849 1905* 1905 1905 1906* 1915 1916* 1918 1919* 1920 1926* 1932* 1952* 1958* 1960* 1962* 1970* 1980 1995* 2062* 2064* 2064 2064 2067* 2069 2069 2071 2072* 2215 2216* 2218 2219* 2220* 2221* 2224* 2228 2239* 2271* 2274* 2281* 2293* 2317* 2319* 2319 2319 2322* 2324* 2334 2335* 2336 2337* 2338 2343* 2344* 2353* 2360* 2367* 2374* 2383* 2390* 2397* 2411 2420 2494* 2528 any_access_on 5(06) based bit(1) level 2 packed packed unaligned dcl 8-11 ref 589 any_other 000102 stack reference condition dcl 2506 ref 2509 ap1 parameter pointer dcl 2251 set ref 2246 2260* apte 6 based structure level 2 dcl 6-7 apte_array based structure array level 1 unaligned dcl 244 apte_array_index 000120 automatic fixed bin(17,0) dcl 73 set ref 400* 402* 403 404 405 429* 430* 432 434 apte_array_ptr 000116 automatic pointer dcl 72 set ref 388* 390 390* 396* 402* 406 406 406 430* 435 435 435 439 439* apte_offset 10 based fixed bin(18,0) array level 3 in structure "fdump_process_table" dcl 2-23 in procedure "azm_requests_1_" ref 425 1543 apte_offset 000121 automatic fixed bin(18,0) dcl 74 in procedure "azm_requests_1_" set ref 416* 425* 430* 432 1503* 1537 1543 1844* 1899* 1900* 1903 1906* 1908* 2429* apte_offset parameter fixed bin(18,0) dcl 2003 in procedure "determine_process_idx" set ref 2001 2025* areg 0(15) based bit(1) level 2 packed packed unaligned dcl 5-32 set ref 2139* arg based char packed unaligned dcl 249 set ref 467 471 471 472 472 473 474 474 478 478 480* 486* 488 488* 490* 491* 731 731 731* 734 800* 802* 809* 835 835 835 838 838 839 839 840 840 845 845 850 854 857 859 859 863 863 863 867 867 869* 871 873* 1022* 1093 1093 1097 1097 1101 1101 1103 1105 1105 1107 1107 1111 1111 1113 1113 1113 1118 1123 1128 1133 1138 1142 1146 1146 1150 1150 1154 1154 1158 1158 1159 1163 1165 1165 1169 1169 1170 1170 1173* 1174* 1178 1180* 1229* 1263* 1314 1315* 1320 1327 1330 1330 1335 1339 1343 1347 1351 1354 1354 1357 1360 1363* 1620 1631 1636 1643 1644 1645 1645 1646 1646 1647 1648 1648 1649 1649 1650 1651 1652 1653 1653 1657 1657 1663 1665* 1764* 1766 1766* 1768* 1769* 1774* 1776 1776* 1778* 1779* 1856 1859 1862 1866 1870 1870 1871 1871 1873* 2093 2100* 2101* 2105* 2129 2134 2135 2135 2136* 2139 2140 2141 2164 2171 2177 2178 2178 2178 2180 2180 2181 2181 2181 2181 2183* 2186 2187 2187 2188 2188 2188 2190 2190 2190 2192* 2194* 2255* 2440 2443 2446 2446 2449 2449 2452 2452 2455 2455 2458 2458 2461 2461 2464 2467 2467 2470 2474* arg_bits_def based structure level 1 packed packed unaligned dcl 5-32 arg_bits_ptr 001670 automatic pointer dcl 5-57 set ref 1580* 1582 1586 1586 1587 1587 1588 1588 1589 1625 1643 1644 1645 1646 1647 1648 1650 1651 1652 1676 1676 1677 1677 1678 1678 1681 1681 1681 1681 1681 1728 1728 1946 1952* 1954 1954 1954 1972 1972 2086 2095 2103 2122 2130 2137 2139 2140 2141 arg_position 000111 automatic fixed bin(17,0) dcl 69 set ref 456* 468* 483 485* 1318* 1333* 1392* arg_positions based fixed bin(17,0) array dcl 2536 ref 2542 2543 argl 000122 automatic fixed bin(21,0) dcl 75 set ref 465* 467 471 471 472 472 473 474 474 478 478 480 480 485* 486 486 488 488 488 490 490 491 491 730* 731 731 731 731 734 797* 800 800 802 802 808* 809 809 834* 835 835 835 838 838 839 839 840 840 845 845 850 853* 854 857 859 859 863 863 863 867 867 869 869 871 873 873 1022 1022 1057* 1092* 1093 1093 1097 1097 1101 1101 1103 1105 1105 1107 1107 1111 1111 1113 1113 1113 1118 1123 1128 1133 1138 1142 1146 1146 1150 1150 1154 1154 1158 1158 1159 1162* 1163 1165 1165 1169 1169 1170 1170 1172* 1173 1173 1174 1174 1178 1180 1180 1229 1229 1252* 1260* 1263 1263 1312* 1314 1315 1315 1320 1327 1330 1330 1332* 1335 1339 1343 1347 1351 1354 1354 1357 1360 1363 1363 1611* 1619* 1620 1631 1636 1643 1644 1645 1645 1646 1646 1647 1648 1648 1649 1649 1650 1651 1652 1653 1653 1657 1657 1663 1665 1665 1763* 1764 1764 1766 1766 1766 1768 1768 1769 1769 1773* 1774 1774 1776 1776 1776 1778 1778 1779 1779 1854* 1856 1857 1859 1862 1866 1870 1870 1871 1871 1873 1873 2092* 2093 2100 2100 2101 2101 2105 2105 2128* 2129 2134 2135 2135 2136 2136 2139 2140 2141 2163* 2164 2171 2177 2178 2178 2178 2180 2180 2181 2181 2181 2181 2183 2183 2186 2187 2187 2188 2188 2188 2190 2190 2190 2192 2192 2194 2194 2255 2255 2438* 2440 2441 2443 2446 2446 2449 2449 2452 2452 2455 2455 2458 2458 2461 2461 2464 2467 2467 2470 2474 2474 argno 000123 automatic fixed bin(17,0) dcl 76 set ref 464* 465* 468* 727* 729* 729* 730* 796* 797* 807* 807 808* 814* 814 832* 832* 834* 870* 1090* 1091* 1091* 1092* 1177* 1259* 1260* 1261* 1262* 1311* 1312* 1318 1333* 1618* 1619* 1662* 1853* 1854* 2085 2090* 2090 2091 2095 2109* 2121 2126* 2126 2127 2130 2143* 2155 2161* 2161 2162 2165 2198* 2254 2259* 2259 2260* 2437* 2438* argp 000124 automatic pointer dcl 77 set ref 465* 467 471 471 472 472 473 474 474 478 478 480 485* 486 488 488 490 491 730* 731 731 731 734 797* 800 802 808* 809 825* 834* 835 835 835 838 838 839 839 840 840 845 845 850 853* 854 857 859 859 863 863 863 867 867 869 871 873 1022 1057* 1058* 1092* 1093 1093 1097 1097 1101 1101 1103 1105 1105 1107 1107 1111 1111 1113 1113 1113 1118 1123 1128 1133 1138 1142 1146 1146 1150 1150 1154 1154 1158 1158 1159 1162* 1163 1165 1165 1169 1169 1170 1170 1172* 1173 1174 1178 1180 1229 1252* 1253* 1260* 1263 1312* 1314 1315 1320 1327 1330 1330 1332* 1335 1339 1343 1347 1351 1354 1354 1357 1360 1363 1392* 1611* 1612* 1619* 1620 1631 1636 1643 1644 1645 1645 1646 1646 1647 1648 1648 1649 1649 1650 1651 1652 1653 1653 1657 1657 1663 1665 1763* 1764 1766 1766 1768 1769 1773* 1774 1776 1776 1778 1779 1854* 1856 1858 1859 1862 1866 1870 1870 1871 1871 1873 2092* 2093 2100 2101 2105 2128* 2129 2134 2135 2135 2136 2139 2140 2141 2163* 2164 2171 2177 2178 2178 2178 2180 2180 2181 2181 2181 2181 2183 2186 2187 2187 2188 2188 2188 2190 2190 2190 2192 2194 2255 2438* 2440 2442 2443 2446 2446 2449 2449 2452 2452 2455 2455 2458 2458 2461 2461 2464 2467 2467 2470 2474 args_specified 001656 automatic bit(1) packed unaligned dcl 1567 set ref 1576* 1643* 1644* 1645* 1646* 1647* 1648* 1649* 1650* 1651* 1652* 1654* 1658* 1675 array 1 based structure array level 2 in structure "fdump_process_table" dcl 2-23 in procedure "azm_requests_1_" ref 419 1506 1523 1541 1905 1905 1918 2064 2064 2319 2319 2336 array 50 based fixed bin(71,0) level 2 in structure "pvt" dcl 17-13 in procedure "azm_requests_1_" set ref 547 array 346 based structure array level 2 in structure "translation_table" dcl 7-13 in procedure "azm_requests_1_" ascii 0(04) 002050 automatic bit(1) level 2 packed packed unaligned dcl 13-10 set ref 1114* 1120* 1125* 1130* 1135* aste based structure level 1 dcl 8-11 set ref 640 aste_sw 001651 automatic bit(1) packed unaligned dcl 446 set ref 455* 473* 475* 478* 502 502* 526 526* 526 540 astep 001674 automatic pointer dcl 8-9 set ref 533* 535 542* 548 553 553 553 553 555 555 555 555 555 555 555 555 557 557 557 560 560 560 563 563 563 563 563 563 563 563 563 566 566 566 567 567 567 570 571 575 577 577 577 577 579 579 579 579 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 609 640 640 685 685 687 astsize 33 based fixed bin(17,0) level 2 dcl 21-9 ref 533 541 atptw based structure level 1 dcl 16-35 axp 000114 automatic pointer initial dcl 71 set ref 71* axstring 000126 automatic char(9) initial packed unaligned dcl 78 set ref 78* 1810* 1816* azm_display_mc_ 000124 constant entry external dcl 328 ref 1952 azm_dump_mem_ 000126 constant entry external dcl 329 ref 910 azm_find_mem_box_$bf 000130 constant entry external dcl 330 ref 958 azm_info based structure level 1 dcl 9-3 azm_info_ptr 001676 automatic pointer dcl 9-17 set ref 2061 2316 2493* 2494 azm_str_util_ 000142 constant entry external dcl 335 ref 687 b parameter bit(36) packed unaligned dcl 2034 ref 2031 2040 baseno builtin function dcl 278 ref 615 616 621 721 721 1404 1436 1595 1692 1714 1966 2361 2368 2375 2384 2391 2398 2514 baseptr builtin function dcl 278 ref 507 507 526 526 536 536 930 1200 1401 1422 1422 1441 1728 1728 1728 1728 1816 1816 1955 1982 2220 2220 2224 2224 bcd 0(03) 002050 automatic bit(1) level 2 packed packed unaligned dcl 13-10 set ref 1115* 1119* bd_sdw 000131 automatic fixed bin(24,0) dcl 79 set ref 633* 634 bf_sw 001652 automatic bit(1) packed unaligned dcl 446 set ref 455* bit4 0(08) 002050 automatic bit(1) level 2 packed packed unaligned dcl 13-10 set ref 1115* 1120* 1125* 1130* 1134* bitcount 000132 automatic fixed bin(35,0) dcl 80 set ref 743* block 000133 automatic fixed bin(17,0) dcl 81 set ref 1083* 1173* 1217* 1219* bound 1(01) based bit(14) level 2 packed packed unaligned dcl 19-5 ref 633 1816 brief_sw 000134 automatic bit(1) initial packed unaligned dcl 82 set ref 82* 1843* 1870* 1871* 1932* 2427* buf 002150 automatic bit(72) packed unaligned dcl 2035 set ref 2039* 2040* 2041 cache 1(21) based bit(1) level 2 packed packed unaligned dcl 19-5 set ref 1810* cdevadd 000144 automatic char(16) packed unaligned dcl 84 set ref 670* 672* 678* char builtin function dcl 278 ref 467 1314 2411 2415 char_sw 001003 automatic bit(1) level 2 packed packed unaligned dcl 164 set ref 836* 985 1009 cleanup 000136 stack reference condition dcl 83 ref 389 458 703 785 1042 1273 1289 1307 1572 1753 cma based structure array level 1 dcl 12-30 set ref 659 cme based structure level 1 dcl 12-6 cmep 002046 automatic pointer dcl 12-4 set ref 659* 660 cmp 54 based pointer level 2 dcl 21-9 ref 616 616 619 code parameter fixed bin(35,0) dcl 2267 in procedure "get_stack" set ref 2264 2269* 2271* 2273 2274* 2279* 2280 2281* 2291* 2292 2293* 2301* 2303* code 000152 automatic fixed bin(35,0) dcl 86 in procedure "azm_requests_1_" set ref 451* 486* 487 490* 491 491* 507* 509 509* 543* 544 545* 546 624* 625 627* 687* 688 688* 711* 713 721* 722 737* 738 739* 743* 744 745* 752* 753 760* 800* 802 809* 810 871* 872* 873* 910* 912 914 919 924* 931* 938 939 940* 941* 946* 958* 1027* 1083* 1173* 1174 1178* 1179* 1180* 1280* 1281 1283* 1407* 1408 1431* 1432 1433* 1463* 1464 1481 1481* 1575* 1591* 1592 1592* 1663* 1664* 1665* 1688* 1689 1689* 1703* 1704 1705 1708* 1738 1738* 1751* 1764* 1765 1768* 1769 1769* 1774* 1775 1778* 1779 1779* 1784* 1787* 1796* 1884* 1885 1930* 1932* 1933 1934* 1935* 1949* 1952* 1953 1953* 1958* 1960* 1962* 1970* 1983* 1984 1986* 1988* 1990 1991* 1992 1995* 1997 1997* 2100* 2101 2135* 2136 2322* 2360* 2367* 2374* 2383* 2390* 2397* code 002141 automatic fixed bin(35,0) dcl 2003 in procedure "determine_process_idx" set ref 2009* 2010 2019* 2020 2025* 2026 code parameter fixed bin(35,0) dcl 2208 in procedure "get_new_trans" set ref 2204 2220* 2224* 2229* 2234* 2238 2239* 2240 command_arg 000153 automatic fixed bin(17,0) dcl 87 set ref 1258* 1262 1262* 1286* command_output 0(16) 002050 automatic bit(1) level 2 packed packed unaligned dcl 13-10 set ref 1213* cond_frame 000154 automatic bit(1) packed unaligned dcl 88 set ref 1302* 1331* 1366 1368 1368 1368* 1383 1400 1579* 1963 config_arg_str 000155 automatic varying char(256) dcl 89 set ref 728* 734* 734 749 configp 000260 automatic pointer initial dcl 91 set ref 91* convert builtin function dcl 278 ref 430 430 1519 1914 copy_ptr 000262 automatic pointer dcl 92 set ref 783* 1040* 1982* 1995* core_add 000256 automatic fixed bin(18,0) dcl 90 set ref 656* 657* 657 659 coremaptr 000150 automatic pointer dcl 85 set ref 616* 629* 658 659 cpu_name 000264 automatic char(1) packed unaligned dcl 93 set ref 1845* 1896* 1932* cpu_sw 000265 automatic bit(1) packed unaligned dcl 94 set ref 1843* 1864* 1877 1877* 1880 1889 csl 12 based bit(9) level 2 packed packed unaligned dcl 8-11 ref 555 555 ct_sw 000270 automatic bit(1) packed unaligned dcl 97 set ref 404 411 2350 2352 2427* 2450* 2481 cu_$cp 000144 constant entry external dcl 336 ref 752 cur_erf 000267 automatic bit(1) initial packed unaligned dcl 96 set ref 96* cur_sw 000266 automatic bit(1) packed unaligned dcl 95 set ref 398 415 1495 2427* 2453* 2478 cv_dec_check_ 000146 constant entry external dcl 337 ref 2009 cv_oct_check_ 000150 constant entry external dcl 337 ref 486 800 809 1173 1764 1774 1884 2019 2025 2100 2135 damaged 13(19) based bit(1) level 2 packed packed unaligned dcl 8-11 ref 604 data_buf_ptr 000272 automatic pointer dcl 98 set ref 457* 459 459* 620* 624* 626* 629 693 693* 702* 704 704* 718* 721* 737* 758 758* 784* 786 786* 884* 931* 945 945* 966 966 971* 975* 977* 981* 983* 986* 989* 998 1003 1006 1009* 1017 1017* 1020 1020* 1025 1025* 1041* 1043 1043* 1189* 1205 1205 1217* 1219* 1226 1226* 1272* 1274 1274* 1278* 1280* 1282* 1286* 1287* 1306* 1308 1308* 1398* 1407* 1410 1463* 1467* 1468* 1472* 1474* 1476* 1479 1479* 1571* 1573 1573* 1624* 1702* 1736 1736* 1752* 1754 1754* 1795* 1796* 1808 1825 1825* 1948* 1949* 1952* 1960* 1983* 1985* 1995* 2322* data_ptr parameter pointer dcl 2053 set ref 2049 2067* date 002154 automatic char(24) packed unaligned dcl 2037 set ref 2042* 2044 date_time_ 000152 constant entry external dcl 338 ref 2042 dbr 000274 automatic fixed bin(24,0) dcl 99 set ref 1844* 1884* 1906* 1907 1932* dbr_sw 000275 automatic bit(1) packed unaligned dcl 100 set ref 1843* 1868* 1877 1877* 1880 1883 1934 ddnp 12(15) based bit(1) level 2 packed packed unaligned dcl 8-11 ref 605 del_cur_erf 000276 automatic bit(1) initial packed unaligned dcl 101 set ref 101* del_erf 000277 automatic bit(1) initial packed unaligned dcl 102 set ref 102* devadd 000300 automatic bit(22) packed unaligned dcl 103 in procedure "azm_requests_1_" set ref 646* 647 647 656 656 660* 662* 669 669 670 670 673 673 673 673 674* 674 675 675 devadd based bit(22) level 2 in structure "mptw" packed packed unaligned dcl 16-27 in procedure "azm_requests_1_" ref 646 devadd 1 based bit(22) level 2 in structure "cme" packed packed unaligned dcl 12-6 in procedure "azm_requests_1_" ref 660 devadd_add_type defined bit(4) packed unaligned dcl 106 ref 647 670 673 devadd_nulled_flag defined bit(1) packed unaligned dcl 104 set ref 673 674* devadd_record_no defined bit(18) packed unaligned dcl 105 ref 656 669 675 devname 3 based char(4) level 2 dcl 18-26 set ref 549 549* df 0(33) based bit(1) level 2 in structure "sdw" packed packed unaligned dcl 19-5 in procedure "azm_requests_1_" set ref 512 1810* df 0(33) based bit(1) level 2 in structure "ptw" packed packed unaligned dcl 16-5 in procedure "azm_requests_1_" ref 647 655 666 df_no 0(34) based bit(2) level 2 packed packed unaligned dcl 19-5 ref 1820 1820 dir_name 000301 automatic char(168) packed unaligned dcl 107 set ref 737* 743* 749 dir_name_lth 000353 automatic fixed bin(17,0) dcl 108 set ref 737* dir_sw 000354 automatic bit(1) initial packed unaligned dcl 109 set ref 109* dirsw 5(21) based bit(1) level 2 packed packed unaligned dcl 8-11 ref 570 disk 0(04) 000000 constant bit(4) initial level 2 packed packed unaligned dcl 1-8 ref 673 display_data_$for_azm 000122 constant entry external dcl 326 ref 1995 display_ptr 000356 automatic pointer dcl 110 set ref 783* 787 787* 1040* 1044 1044* display_size 000360 automatic fixed bin(18,0) dcl 111 set ref 1981* 1983* 1995* divide builtin function dcl 278 ref 634 657 1758 1787 1799 dnzp 12(13) based bit(1) level 2 packed packed unaligned dcl 8-11 ref 601 dseg 17 based fixed bin(15,0) level 3 dcl 3-6 ref 507 507 1750 dsegp 000362 automatic pointer initial dcl 112 set ref 112* dtm 7 based bit(36) level 2 packed packed unaligned dcl 8-11 set ref 560 560* 560* dtu 6 based bit(36) level 2 packed packed unaligned dcl 8-11 set ref 557 557* 557* dump based bit(1) level 2 in structure "arg_bits_def" packed packed unaligned dcl 5-32 in procedure "azm_requests_1_" set ref 1625* 1728 1728* 1946 1954 1972 dump based structure level 1 dcl 11-11 in procedure "azm_requests_1_" dump_header based structure level 1 dcl 11-47 dump_misc_registers based structure level 1 dcl 11-69 dump_registers based structure level 1 dcl 11-59 dump_seg_ptr 106 based pointer array level 2 dcl 2-3 ref 1323 1624 dump_segment_ 000154 constant entry external dcl 339 ref 1219 dump_segment_$string 000156 constant entry external dcl 340 ref 1217 dump_segment_format based bit(36) packed unaligned dcl 13-8 set ref 1217* 1219* dump_segment_format_structure 002050 automatic structure level 1 dcl 13-10 set ref 1067* 1217 1219 dump_sw 001655 automatic bit(1) packed unaligned dcl 1567 set ref 1576* 1626* 1670 1670 1670 1670* 1686 dumpptr 002044 automatic pointer dcl 11-9 set ref 1323* 1324 ebcdic8 0(07) 002050 automatic bit(1) level 2 packed packed unaligned dcl 13-10 set ref 1115* 1120* 1125* 1129* 1135* ebcdic9 0(06) 002050 automatic bit(1) level 2 packed packed unaligned dcl 13-10 set ref 1115* 1120* 1124* 1130* 1135* ecode 12 based fixed bin(35,0) level 2 dcl 10-39 set ref 820* 826 826* 1051* 1059 1060* 1246* 1254 1255* 1387* 1393 1393* 1605* ehs 5(19) based bit(1) level 2 packed packed unaligned dcl 8-11 ref 593 eis 0(21) based bit(1) level 2 packed packed unaligned dcl 5-32 set ref 1589* 1647* 1681 entry_bound 1(22) based bit(14) level 2 packed packed unaligned dcl 19-5 ref 1816 1816 entry_bound_sw 1(20) based bit(1) level 2 packed packed unaligned dcl 19-5 set ref 1810* entryname 000365 automatic char(32) packed unaligned dcl 114 set ref 737* 743* 749 erfs_found 000364 automatic bit(1) initial packed unaligned dcl 113 set ref 113* error_info 26 based structure level 2 dcl 4-3 error_msg 13 based varying char(80) level 2 dcl 10-39 set ref 823* 826 826* 1054* 1059 1060* 1249* 1254 1255* 1390* 1393 1393* 1608* error_table_$bad_arg 000254 external static fixed bin(35,0) dcl 378 set ref 480* 731* 872 1179 1263* 1315* 1363* 1664 1893* 2101* 2105* 2136* 2183* 2192* 2194* error_table_$badopt 000250 external static fixed bin(35,0) dcl 376 set ref 869* 871 878* 1178 1229* 1663 1873* 1886* 2011* 2020* 2026* 2474* error_table_$inconsistent 000256 external static fixed bin(35,0) dcl 379 set ref 881* 1368* 1670* 1877* 2478* error_table_$noarg 000252 external static fixed bin(35,0) dcl 377 set ref 452* 483* 793* 1037* 1240* 1683* 2255* error_table_$too_many_args 000260 external static fixed bin(35,0) dcl 380 set ref 1748* execute 1(16) based bit(1) level 3 packed packed unaligned dcl 19-5 set ref 1810* expand_ptr_sw 000375 automatic bit(1) initial packed unaligned dcl 115 set ref 115* 843* 847* 975 981 expand_sw 000376 automatic bit(1) initial packed unaligned dcl 116 set ref 116* explicit_deact_ok 5(09) based bit(1) level 2 packed packed unaligned dcl 8-11 ref 592 fbuf 002152 automatic fixed bin(71,0) dcl 2036 set ref 2041* 2042* fdevadd 000400 automatic fixed bin(18,0) dcl 118 set ref 669* 670* 675* 676* fdump_info based structure level 1 dcl 2-3 fdump_info_ptr 14 based pointer level 2 dcl 4-3 ref 419 425 1323 1506 1523 1525 1541 1543 1624 1905 1905 1918 1920 2064 2064 2319 2319 2336 2338 2411 2420 fdump_process_table based structure level 1 dcl 2-23 fdump_process_table_ptr 246 based pointer level 2 dcl 2-3 ref 419 425 1506 1523 1525 1541 1543 1905 1905 1918 1920 2064 2064 2319 2319 2336 2338 2411 2420 first 000401 automatic fixed bin(18,0) dcl 119 set ref 615* 616 622* 624* 629 801* 828* 895 910* 930 931* 933* 935 942* 955 958* 964 971* 975* 977* 981* 983* 986* 989* 992 992 1009* 1192* 1200 1201* 1203 1217* 1219* 1269* 1280* 1395* 1401 1414* 1418* 1418 1422 1422 1437* 1441 1463* 1596* 1616* 1693* 1711 1720* 1720 1728 1728 1728 1728 1949* 1955 1958* 1963* 1963 1967* 1970* 1982 1983* 2362* 2369* 2376* 2385* 2392* 2399* first1 000403 automatic fixed bin(18,0) dcl 121 set ref 541* 542* 1405* 1407* 1715* first_erf 000404 automatic bit(1) initial packed unaligned dcl 122 set ref 122* first_ptr_arg 000405 automatic fixed bin(17,0) dcl 123 set ref 1585* first_segno 000402 automatic fixed bin(17,0) dcl 120 set ref 1757* 1764* 1768* 1782 1784 1784* 1790 1793 1796 1800 1803 1803 1809 1828 1828* 1828 first_value_set 000406 automatic bit(1) initial packed unaligned dcl 124 set ref 124* fixed builtin function dcl 278 ref 520 533 533 535 535 553 553 555 555 555 555 555 555 555 555 563 563 563 563 563 563 566 566 567 567 609 615 616 621 633 656 669 675 721 721 1404 1405 1414 1436 1437 1595 1596 1692 1693 1714 1715 1816 1816 1816 1816 1816 1966 1967 2361 2362 2368 2369 2375 2376 2384 2385 2391 2392 2398 2399 2514 flags 346(18) based structure array level 3 in structure "translation_table" packed packed unaligned dcl 7-13 in procedure "azm_requests_1_" flags 0(18) based structure level 2 in structure "translation" packed packed unaligned dcl 7-24 in procedure "azm_requests_1_" flags 6 based structure level 2 in structure "azm_info" dcl 9-3 in procedure "azm_requests_1_" flt 0(19) based bit(1) level 2 packed packed unaligned dcl 5-32 set ref 1588* 1645* 1678* fmchanged 12(09) based bit(1) level 2 packed packed unaligned dcl 8-11 ref 597 fmchanged1 13(18) based bit(1) level 2 packed packed unaligned dcl 8-11 ref 603 fms 12(10) based bit(1) level 2 packed packed unaligned dcl 8-11 ref 598 forward_search 000407 automatic bit(1) initial packed unaligned dcl 125 set ref 125* found 001660 automatic bit(1) packed unaligned dcl 1836 set ref 1522* 1523 1527* 1533 1540* 1541 1544* 1550 1917* 1918 1922* 1927 fp_table based structure level 1 unaligned dcl 2-28 frame_entry 000410 automatic bit(1) initial packed unaligned dcl 126 set ref 126* get_line_length_$switch 000160 constant entry external dcl 341 ref 462 gtpd 12(12) based bit(1) level 2 packed packed unaligned dcl 8-11 ref 600 gtus 5(02) based bit(1) level 2 packed packed unaligned dcl 8-11 ref 586 hard_ptr_space 000412 automatic structure level 1 unaligned dcl 127 set ref 495 709 hardcore_cur based structure level 1 unaligned dcl 3-40 hardcore_cur_ptr 001664 automatic pointer dcl 3-38 set ref 495* 496* 497 505 506 543 543 709* 710* 711 711 hardcore_info based structure level 1 dcl 3-6 hardcore_info_ptr 16 based pointer level 2 dcl 4-3 ref 507 507 1750 hbound builtin function dcl 278 ref 399 419 1506 1523 1541 1918 2336 2413 2542 hc 5(04) based bit(1) level 2 packed packed unaligned dcl 8-11 ref 587 hc_sdw 5(05) based bit(1) level 2 packed packed unaligned dcl 8-11 ref 588 hcs_$fs_get_path_name 000162 constant entry external dcl 342 ref 737 hdr_printed 000431 automatic bit(1) initial packed unaligned dcl 129 set ref 129* 1807* 1814 1815* 1828 header_sw 000430 automatic bit(1) packed unaligned dcl 128 set ref 1087* 1088* 1167* 1169* 1210 hex8 0(09) 002050 automatic bit(1) level 2 packed packed unaligned dcl 13-10 set ref 1139* 1144* 1148* hex9 0(10) 002050 automatic bit(1) level 2 packed packed unaligned dcl 13-10 set ref 1140* 1143* 1148* history_registers 150 based bit(36) array level 2 packed packed unaligned dcl 258 set ref 1413 hold_index 000432 automatic fixed bin(17,0) dcl 130 set ref 422* 423* 1509* 1510* 1520* 1521* 1538* 1539* 1915* 1916* 2334* 2335* hr_switches 000433 automatic bit(5) packed unaligned dcl 131 set ref 1428* 1452* 1453* 1454* 1456* 1472* 1473* 1474* 1476* hran_$bos_no_thread 000132 constant entry external dcl 331 ref 1452 1454 1456 hran_$hran_bos 000134 constant entry external dcl 332 ref 1447 1448 hran_$hranl 000136 constant entry external dcl 333 ref 1467 1468 hran_$no_thread 000140 constant entry external dcl 334 ref 1472 1474 1476 hregs_fm_ptrval 000436 automatic bit(1) packed unaligned dcl 134 set ref 1302* 1315 1317* 1366 1368 1368 1368 1368* 1383 hregs_from_dump 000434 automatic bit(1) packed unaligned dcl 132 set ref 1302* 1325* 1366 1368 1368 1368 1368* 1442 1442* 1445 hregs_from_pds 000435 automatic bit(1) packed unaligned dcl 133 set ref 1302* 1328* 1366 1366* 1368 1368 1368* 1430 i 002210 automatic fixed bin(17,0) dcl 2119 in procedure "get_mc_reg_list" set ref 2127* 2128* 2130* 2143 i 000443 automatic fixed bin(17,0) dcl 139 in procedure "azm_requests_1_" set ref 399* 401 402* 403 404* 434* 435 435 435* 644* 645 647 647 676* 678* 1523* 1524* 1525* 1541* 1542* 1543* 1799* 1800* 1803 1804 1891* 1892 1918* 1919* 1920 1923* 2336* 2337* 2338* i 002200 automatic fixed bin(17,0) dcl 2082 in procedure "get_mc_pr_list" set ref 2091* 2092* 2095* 2109 i 002220 automatic fixed bin(17,0) dcl 2153 in procedure "get_mc_specifiers" set ref 2162* 2163* 2165* 2198 i 002340 automatic fixed bin(17,0) dcl 2535 in procedure "va_arg" set ref 2542* 2543* i 002304 automatic fixed bin(17,0) dcl 2408 in procedure "print_totals" set ref 2413* 2414 2415 2416 2416* ignore 000437 automatic fixed bin(17,0) dcl 135 set ref 998* 1003* 1006* in_erf 6 based bit(1) level 3 packed packed unaligned dcl 9-3 ref 2061 2316 in_perm_seg 0(21) based bit(1) level 3 packed packed unaligned dcl 7-24 ref 2289 in_temp_seg 0(20) based bit(1) level 3 packed packed unaligned dcl 7-24 ref 2289 index 3 based fixed bin(17,0) array level 2 in structure "apte_array" dcl 244 in procedure "azm_requests_1_" set ref 406* 435* index builtin function dcl 278 in procedure "azm_requests_1_" ref 488 1411 1411 1417 1681 1720 1720 1720 1766 1776 1891 2177 2186 index_changed 000440 automatic bit(1) packed unaligned dcl 136 set ref 927* 1012 1015* 1089* 1221 1224* 1904* 2060* 2063* 2068 2073* 2315* 2318* 2323 2325* infl 1 based bit(18) level 2 packed packed unaligned dcl 8-11 ref 563 563 563 infp 1(18) based bit(18) level 2 packed packed unaligned dcl 8-11 ref 563 563 563 inhibit_cache 5(08) based bit(1) level 2 packed packed unaligned dcl 8-11 ref 591 init 5(01) based bit(1) level 2 packed packed unaligned dcl 8-11 ref 585 inst_sw 0(01) 001003 automatic bit(1) level 2 packed packed unaligned dcl 164 set ref 865* 931 939 988 interpreted_data 0(14) 002050 automatic bit(1) level 2 packed packed unaligned dcl 13-10 set ref 1068* 1075* 1109* 1111* 1114* 1119* 1124* 1129* 1134* interpreted_hregs 000377 automatic bit(1) packed unaligned dcl 117 set ref 1303* 1358* 1379 1381* 1428 ioa_ 000164 constant entry external dcl 343 ref 404 432 516 526 536 553 555 557 559 560 562 563 566 567 568 571 573 575 577 579 643 652 676 678 686 690 915 920 955 959 992 1210 1442 1728 1800 1814 1816 1820 1828 1908 1956 1972 2363 2370 2377 2386 2393 2400 2556 2558 ioa_$nnl 000166 constant entry external dcl 343 ref 583 2416 2420 ioa_$rsnnl 000170 constant entry external dcl 343 ref 549 666 670 998 1003 1006 1810 iox_$user_output 000172 external static pointer dcl 348 set ref 1219* is_paged 000442 automatic bit(1) packed unaligned dcl 138 set ref 910* 959 959 is_wired 000441 automatic bit(1) packed unaligned dcl 137 set ref 910* 959 its based structure level 1 dcl 14-5 its_mod 0(30) based bit(6) level 2 packed packed unaligned dcl 14-5 ref 966 966 1205 1205 2513 iupt_absloc 4 based fixed bin(26,0) level 2 dcl 24-13 ref 522 637 637 iupt_last_loc 5 based fixed bin(26,0) level 2 dcl 24-13 ref 522 637 k 000444 automatic fixed bin(17,0) dcl 139 set ref 405* 406 406 406* last 000445 automatic fixed bin(17,0) initial dcl 140 set ref 140* last_erf 000446 automatic bit(1) initial packed unaligned dcl 141 set ref 141* last_ptw 000447 automatic bit(36) packed unaligned dcl 142 set ref 647 680* last_segno 000450 automatic fixed bin(17,0) dcl 143 set ref 1758* 1774* 1778* 1782* 1784 1784* 1787 1787* 1790 1793 1799 1800* 1800 1803 1804* 1809 1828 1828 1828* lbound builtin function dcl 278 ref 1905 1905 2064 2064 2319 2319 length builtin function dcl 278 ref 750 2555 list_erfs 000451 automatic bit(1) initial packed unaligned dcl 144 set ref 144* list_state 000452 automatic bit(1) array packed unaligned dcl 145 set ref 399 401 2339 2413 2414 2430* 2434* 2447* 2456* 2459* 2462* 2465* 2468* 2471* 2484* ll 000453 automatic fixed bin(17,0) initial dcl 146 set ref 146* 462* 2555 ln 000454 automatic fixed bin(17,0) initial dcl 147 set ref 147* 549* 666* 670* logical_area_number 4(09) based fixed bin(8,0) level 2 packed packed unaligned dcl 18-26 set ref 549* long 0(31) based bit(1) level 2 in structure "arg_bits_def" packed packed unaligned dcl 5-32 in procedure "azm_requests_1_" set ref 1681* long 0(05) 002050 automatic bit(1) level 2 in structure "dump_segment_format_structure" packed packed unaligned dcl 13-10 in procedure "azm_requests_1_" set ref 1094* 1152* 1196* long_sw parameter bit(1) packed unaligned dcl 1979 in procedure "dump_as_structure" ref 1977 1995 long_sw 000455 automatic bit(1) packed unaligned dcl 148 in procedure "azm_requests_1_" set ref 791* 861* 878 880 887* 1089* 1094* ltrim builtin function dcl 278 ref 2411 2415 master_dir 5(22) based bit(1) level 2 packed packed unaligned dcl 8-11 ref 571 575 match_names 000456 automatic varying char(32) array dcl 149 set ref 781* 1084* 1988* 1995* match_str 000610 automatic varying char(256) initial dcl 150 set ref 150* mc based structure level 1 dcl 15-12 mc_area 000712 automatic structure level 1 unaligned dcl 153 set ref 1948 mc_arg 000772 automatic bit(36) dcl 154 set ref 1580 1581* mc_err 0(18) based bit(1) level 2 packed packed unaligned dcl 5-32 set ref 1587* 1644* 1677* mc_from_ptrval 000711 automatic bit(1) packed unaligned dcl 151 set ref 1579* mc_stored 0(33) based bit(1) level 2 packed packed unaligned dcl 5-32 ref 1954 mcp_fim_sw 000773 automatic bit(1) packed unaligned dcl 155 set ref 1577* 2156* 2166* 2172* 2180* 2366 mcp_pgflt_sw 000774 automatic bit(1) packed unaligned dcl 156 set ref 1577* 2156* 2166* 2172* 2178* 2359 mcp_sig_sw 000775 automatic bit(1) packed unaligned dcl 157 set ref 1577* 2156* 2166* 2172* 2181* 2373 mcpr_fim_sw 000776 automatic bit(1) packed unaligned dcl 158 set ref 1578* 2157* 2167* 2173* 2187* 2389 mcpr_int_sw 000777 automatic bit(1) packed unaligned dcl 159 set ref 1578* 2157* 2167* 2173* 2188* 2382 mcpr_systroub_sw 001000 automatic bit(1) packed unaligned dcl 160 set ref 1578* 2157* 2167* 2173* 2190* 2396 mem_addr 001001 automatic fixed bin(24,0) dcl 161 set ref 800* 801 910* 915* 920* 957 mem_dump 001002 automatic bit(1) packed unaligned dcl 162 set ref 766* 774* 793* 799 869 878 907 958 959 959 959 mem_tag 001004 automatic fixed bin(17,0) dcl 173 set ref 910* 915 915 920 920 mis 0(17) based bit(1) level 2 packed packed unaligned dcl 5-32 set ref 1643* mod builtin function dcl 278 ref 895 964 974 1203 modes_sw 001003 automatic structure level 1 dcl 164 set ref 790* 881 963 998 mptw based structure level 1 dcl 16-27 msl 4 based bit(9) level 2 packed packed unaligned dcl 8-11 ref 555 555 n_entries based fixed bin(17,0) level 2 dcl 7-13 ref 2069 n_match_names 001005 automatic fixed bin(17,0) dcl 174 set ref 782* 1085* 1988* 1995* n_subscripts 001006 automatic fixed bin(17,0) dcl 175 set ref 782* 1085* 1988* 1995* nargs 001007 automatic fixed bin(17,0) dcl 176 set ref 452 464 729 793 804 825* 832 1037 1058* 1091 1240 1253* 1259 1311 1392* 1584 1612* 1618 1748 1759 1772 1800 1848 1853 2085 2091 2121 2127 2155 2162 2254 2433 2437 2478 2481 2495* 2496* new_range 001010 automatic fixed bin(21,0) dcl 177 set ref 1286* next_erf 001011 automatic bit(1) initial packed unaligned dcl 178 set ref 178* no_aste_tr_info 001012 automatic bit(1) packed unaligned dcl 179 set ref 455* 525* 532 540 632 684 non_null 0(16) 000000 constant bit(4) initial level 2 packed packed unaligned dcl 1-8 ref 670 np 12(27) based bit(9) level 2 packed packed unaligned dcl 8-11 ref 555 555 npfs 12(11) based bit(1) level 2 packed packed unaligned dcl 8-11 ref 599 nqsw 5(20) based bit(1) level 2 packed packed unaligned dcl 8-11 ref 594 null builtin function dcl 278 ref 71 91 112 220 388 390 439 457 459 462 462 497 521 658 693 702 704 758 783 784 786 787 824 945 1017 1020 1025 1040 1041 1043 1044 1055 1226 1250 1272 1274 1306 1308 1391 1447 1447 1448 1448 1452 1452 1454 1454 1456 1456 1467 1467 1468 1468 1472 1472 1474 1474 1476 1476 1479 1571 1573 1593 1609 1690 1736 1752 1754 1825 1842 1935 1995 1995 2272 2528 number parameter fixed bin(18,0) dcl 2313 in procedure "hunt_for_code" set ref 2308 2322* number parameter fixed bin(18,0) dcl 2056 in procedure "get_data_" set ref 2049 2067* number_val_args internal static fixed bin(17,0) initial dcl 5-3 ref 5-23 nypd 0(28) based bit(1) level 2 packed packed unaligned dcl 16-5 set ref 666* octal 0(11) 002050 automatic bit(1) level 2 packed packed unaligned dcl 13-10 set ref 1068* 1140* 1144* 1147* octal_sw 001020 automatic bit(1) packed unaligned dcl 185 set ref 1303* 1355* 1378 1447 1467 1576* 1649* 1680 off 2 based fixed bin(18,0) array level 2 dcl 244 set ref 406* 435* offset 0(01) 002050 automatic bit(1) level 2 in structure "dump_segment_format_structure" packed packed unaligned dcl 13-10 in procedure "azm_requests_1_" set ref 1068* 1075* 1156* 1158* offset 001013 automatic fixed bin(18,0) dcl 180 in procedure "azm_requests_1_" set ref 454* 535* 536* 542* 893* 992 992 offset 1 based fixed bin(18,0) level 2 in structure "va" packed packed unaligned dcl 10-39 in procedure "azm_requests_1_" set ref 820* 828 1051* 1192 1246* 1269 1387* 1395 1605* 1616 offset_modifier 2 based fixed bin(18,0) level 2 dcl 10-39 set ref 820* 1051* 1246* 1387* 1605* only_au 001014 automatic bit(1) packed unaligned dcl 181 set ref 1304* 1344* 1376 1376* 1428 1453 1473 only_cu 001015 automatic bit(1) packed unaligned dcl 182 set ref 1304* 1336* 1376 1376* 1428 1453 1473 only_du 001016 automatic bit(1) packed unaligned dcl 183 set ref 1304* 1348* 1376 1428 1453 1473 only_ou 001017 automatic bit(1) packed unaligned dcl 184 set ref 1304* 1340* 1376 1376* 1428 1453 1473 os 0(32) based bit(1) level 2 packed packed unaligned dcl 16-5 set ref 666* ouhist 2500 based bit(72) array level 2 dcl 11-11 set ref 1324 outername 001021 automatic char(32) packed unaligned dcl 186 set ref 854* 855 1163* pack_ovfl 13(20) based bit(1) level 2 packed packed unaligned dcl 8-11 ref 606 par_astep 2(18) based bit(18) level 2 packed packed unaligned dcl 8-11 ref 563 563 563 part1 1 002230 automatic structure level 2 in structure "temp_trans" unaligned dcl 2211 in procedure "get_new_trans" part1 347 based structure array level 3 in structure "translation_table" dcl 7-13 in procedure "azm_requests_1_" part1 1 based structure level 2 in structure "translation" dcl 7-24 in procedure "azm_requests_1_" pcd_args 001034 automatic char(256) packed unaligned dcl 189 set ref 749* 750 751 pcd_args_len 001136 automatic fixed bin(21,0) dcl 191 set ref 750* 752* pcd_argsp 001134 automatic pointer dcl 190 set ref 751* 752* pds_sw 001137 automatic bit(1) packed unaligned dcl 192 set ref 1579* 1632* 1670 1670 1670 1670* 1686 1696 2156 2166 2172 2176 per_process 12(14) based bit(1) level 2 packed packed unaligned dcl 8-11 ref 602 phm 0(29) based bit(1) level 2 packed packed unaligned dcl 16-5 set ref 666* phm1 0(27) based bit(1) level 2 packed packed unaligned dcl 16-5 set ref 666* phu 0(26) based bit(1) level 2 packed packed unaligned dcl 16-5 set ref 666* phu1 0(30) based bit(1) level 2 packed packed unaligned dcl 16-5 set ref 666* pid based bit(36) level 2 in structure "process_info" dcl 6-7 in procedure "azm_requests_1_" ref 1526 1921 pid parameter fixed bin(36,0) dcl 2003 in procedure "determine_process_idx" set ref 2001 2019* pid 001032 automatic fixed bin(36,0) dcl 188 in procedure "azm_requests_1_" set ref 416* 430 430 1503* 1518 1519 1844* 1899* 1900* 1913 1914 2429* pidbit 001031 automatic bit(36) packed unaligned dcl 187 set ref 430 430 1519* 1519 1526 1914* 1914 1921 pidx parameter fixed bin(17,0) dcl 2003 set ref 2001 2015* pointer builtin function dcl 278 ref 507 507 533 616 930 1200 1955 1982 pointers based structure level 2 dcl 3-6 ppr 0(03) based bit(1) level 2 packed packed unaligned dcl 5-32 set ref 1651* pptr_sw 0(04) 001003 automatic bit(1) level 2 packed packed unaligned dcl 164 set ref 839* 842* 980 1006 pr 0(23) based bit(1) array level 2 packed packed unaligned dcl 5-32 set ref 1586* 1676* 2103* prds_sw 001141 automatic bit(1) packed unaligned dcl 194 set ref 1579* 1639* 1670 1670 1670 1670* 1686 1696 2185 prev_erf 001140 automatic bit(1) initial packed unaligned dcl 193 set ref 193* print_all_trans 001142 automatic bit(1) initial packed unaligned dcl 195 set ref 195* privileged 1(18) based bit(1) level 3 packed packed unaligned dcl 19-5 set ref 1810* proc_arg based char packed unaligned dcl 250 set ref 419* 432* 1506* 1533* 1550* 1859* 1884* 1886* 1891 1893* 1896 1927* 1935* 2009* 2011* 2019* 2020* 2025* 2026* 2443* proc_idx 002140 automatic fixed bin(35,0) dcl 2003 set ref 2009* 2014 2015 2018 proc_ptr 001144 automatic pointer dcl 196 set ref 419 432 1506 1533 1550 1842* 1858* 1859 1863* 1867* 1884 1886 1891 1893 1896 1927 1935 1935 2009 2011 2019 2020 2025 2026 2442* 2443 proc_sw 001147 automatic bit(1) packed unaligned dcl 198 set ref 398 1494 1843* 1860* 1877 1880 2427* 2444* 2478 2478* process_idx 001150 automatic fixed bin(17,0) dcl 199 in procedure "azm_requests_1_" set ref 415* 416* 418 419 424* 425 792* 910* 926* 959 959* 1082* 1210 1210* 1503* 1505 1506 1511* 1846* 1849* 1900* 1923* 1932* 2428* process_idx 24 based fixed bin(17,0) level 2 in structure "amu_info" dcl 4-3 in procedure "azm_requests_1_" ref 415 422 1509 1520 1538 1849 1915 2218 2334 process_info based structure level 1 dcl 6-7 process_info_ptr 3 based pointer array level 3 packed packed unaligned dcl 2-23 ref 1525 1920 2338 process_st 000001 constant varying char(9) initial array dcl 273 set ref 404* 2416* procl 001146 automatic fixed bin(21,0) dcl 197 set ref 419 419 432 432 1506 1506 1533 1533 1550 1550 1857* 1859 1863* 1867* 1884 1884 1886 1886 1890 1891 1893 1893 1896 1927 1927 1935 1935 2009 2009 2011 2011 2019 2019 2020 2020 2025 2025 2026 2026 2441* 2443 prs 0(22) based bit(1) level 2 packed packed unaligned dcl 5-32 set ref 2086* 2095* pt_sw 001653 automatic bit(1) packed unaligned dcl 446 set ref 455* 472* 476* 478* 502 502* 613 pt_word based fixed bin(17,0) dcl 251 set ref 676* 678* ptp 002052 automatic pointer dcl 16-3 set ref 645* 646 647 647 655 666 666 666 666 666 666 666 666 676 678 680 ptr 1 based pointer level 3 in structure "translation" packed packed unaligned dcl 7-24 in procedure "azm_requests_1_" ref 2300 ptr based pointer array level 2 in structure "apte_array" dcl 244 in procedure "azm_requests_1_" set ref 406* 435* ptr_sw 0(03) 001003 automatic bit(1) level 2 packed packed unaligned dcl 164 set ref 838* 848* 894 973 1003 pts 40 based fixed bin(17,0) array level 2 in structure "sst" dcl 21-9 in procedure "azm_requests_1_" ref 609 pts 001151 automatic fixed bin(24,0) dcl 200 in procedure "azm_requests_1_" set ref 609* 634* 643 644 647 ptsi 13(28) based bit(2) level 2 packed packed unaligned dcl 8-11 ref 609 ptw based structure level 1 dcl 16-5 set ref 647 680 ptwa based structure array level 1 dcl 16-23 set ref 645 ptwbase 25 based fixed bin(24,0) level 2 dcl 21-9 ref 533 pvt based structure level 1 dcl 17-13 pvt_array based structure array level 1 dcl 18-24 set ref 548 pvt_arrayp 002056 automatic pointer dcl 18-21 set ref 547* 548 pvte based structure level 1 dcl 18-26 pvtep 002060 automatic pointer dcl 18-22 set ref 548* 549 549 549 pvtp 002054 automatic pointer dcl 17-9 set ref 545* 547 pvtx 4(09) based fixed bin(8,0) level 2 packed packed unaligned dcl 8-11 set ref 548 553* pvtx_name 001152 automatic varying char(16) dcl 201 set ref 549* 551* 553 553* qreg 0(16) based bit(1) level 2 packed packed unaligned dcl 5-32 set ref 2140* quota 10 based fixed bin(18,0) array level 2 packed packed unsigned unaligned dcl 8-11 set ref 577 577 577* 577* r1 0(24) based bit(3) level 2 packed packed unaligned dcl 19-5 set ref 1816* r2 0(27) based bit(3) level 2 packed packed unaligned dcl 19-5 set ref 1816* r3 0(30) based bit(3) level 2 packed packed unaligned dcl 19-5 set ref 1816* range 3 based fixed bin(18,0) level 2 in structure "va" packed packed unaligned dcl 10-39 in procedure "azm_requests_1_" set ref 819* 829 1050* 1193 1245* 1267 1386* 1604* range 001157 automatic fixed bin(18,0) dcl 202 in procedure "azm_requests_1_" set ref 623* 624* 720* 721* 804* 809* 829* 891 892 892* 893 899 903 905 935 940* 946* 950 950* 953 954* 955 955* 965 966* 971* 974* 974 974 975* 977* 981* 983* 986* 989* 992 992 998* 998 1003* 1003 1006* 1006 1009* 1193* 1204 1205* 1217* 1219* 1267* 1271 1271* 1280* 1286 1406* 1407* 1425* 1463* 1790* 1793* 1796* 1798 1799 1947* 1949* range1 001160 automatic fixed bin(18,0) dcl 203 set ref 1575* 1716* 1790* 1793* 1798 1799 range_idx 7 based fixed bin(17,0) level 3 dcl 10-39 set ref 1614* range_value_set 001161 automatic bit(1) initial packed unaligned dcl 204 set ref 204* raw_data 0(13) 002050 automatic bit(1) level 2 packed packed unaligned dcl 13-10 set ref 1068* 1103* 1105* 1139* 1143* 1147* raw_syserr_data 001162 automatic bit(1) initial packed unaligned dcl 205 set ref 205* read 1(15) based bit(1) level 3 packed packed unaligned dcl 19-5 set ref 1810* real_address 001163 automatic fixed bin(35,0) dcl 206 set ref 957* 958* reason 001164 automatic varying char(80) dcl 207 set ref 707* 714* 723* 754* 760 760* records 12(18) based bit(9) level 2 packed packed unaligned dcl 8-11 ref 555 555 registers 0(06) based bit(11) level 2 packed packed unaligned dcl 1562 ref 1681 regs 0(06) based bit(1) level 2 packed packed unaligned dcl 5-32 set ref 2122* 2130* 2141* rel builtin function dcl 278 ref 535 535 616 1405 1414 1437 1596 1693 1715 1967 2362 2369 2376 2385 2392 2399 repeat_ 001211 automatic bit(1) packed unaligned dcl 208 set ref 641* 647* 650 651* replaced 346(23) based bit(1) array level 4 packed packed unaligned dcl 7-13 ref 2071 resolved_va 10 based pointer level 2 dcl 10-39 set ref 824* 1055* 1250* 1391* 1609* ret_bit 000100 automatic bit(1) packed unaligned dcl 2505 set ref 2508* 2514* 2516* 2518* 2520 ret_ptr based pointer dcl 252 set ref 1410* ret_str 001212 automatic varying char(168) initial dcl 209 set ref 209* 1410* 1411 1411 1417 1718* 1720 1720 1720 return_ptr 24 based pointer level 2 dcl 22-36 set ref 1403 1713 rtrim builtin function dcl 278 ref 749 749 749 rv_lth 001265 automatic fixed bin(21,0) dcl 210 set ref 780 998 1003 1006 1009* 1216 1217* 1496* 1512* 1528* 1545* 2343* 2349 2410 2411 2415 2495* rv_ptr 001266 automatic pointer dcl 211 set ref 780 998 1003 1006 1009* 1216 1217* 1496* 1512* 1528* 1545* 2343* 2349 2410 2411 2415 2415 2495* rv_str based varying char dcl 253 set ref 780* 998* 1003* 1006* 1216* 2349* 2410* 2411* 2415* 2415 sb 002070 automatic pointer dcl 23-24 set ref 1711 2300* 2301 2303 sci_ptr 001270 automatic pointer dcl 212 in procedure "azm_requests_1_" set ref 386* 390* 396* 419* 439* 449* 452* 459* 465* 480* 483* 485* 488* 490* 491* 498* 509* 512* 544* 546* 620* 626* 627* 688* 693* 700* 704* 718* 730* 731* 739* 745* 758* 760* 778* 786* 787* 793* 797* 802* 808* 825* 826* 834* 869* 873* 878* 880* 881* 884* 891* 896* 924* 935* 940* 945* 946* 1017* 1020* 1022* 1025* 1027* 1035* 1037* 1043* 1044* 1057* 1058* 1060* 1092* 1174* 1180* 1187* 1189* 1226* 1229* 1238* 1240* 1252* 1253* 1255* 1260* 1263* 1274* 1278* 1282* 1283* 1286* 1287* 1300* 1308* 1312* 1315* 1321* 1363* 1368* 1392* 1393* 1398* 1422* 1433* 1479* 1481* 1490* 1506* 1533* 1550* 1570* 1573* 1592* 1593* 1611* 1612* 1619* 1621* 1628* 1637* 1665* 1670* 1683* 1689* 1690* 1702* 1708* 1736* 1738* 1746* 1748* 1754* 1763* 1766* 1768* 1769* 1773* 1776* 1778* 1779* 1784* 1787* 1795* 1825* 1840* 1854* 1873* 1877* 1880* 1886* 1893* 1927* 1935* 1952* 1953* 1980 1985* 1986* 1990* 1992* 1997* 2011* 2020* 2026* 2092* 2101* 2105* 2128* 2136* 2163* 2183* 2192* 2194* 2255* 2260* 2350* 2438* 2474* 2478* 2492* 2495* 2496* sci_ptr 30 based pointer level 3 in structure "amu_info" dcl 4-3 in procedure "azm_requests_1_" set ref 1980* scu 0(02) based bit(1) level 2 packed packed unaligned dcl 5-32 set ref 1586* 1650* 1676* 1681 sdw based structure level 1 dcl 19-5 sdw_address 001272 automatic fixed bin(26,0) dcl 213 set ref 520* 522 522 522 522 635 635 635 637 637 637 sdwp 002062 automatic pointer dcl 19-3 set ref 507* 512 515 520 533 633 1808* 1810 1810 1810 1810 1810 1810 1810 1810 1816 1816 1816 1816 1816 1816 1816 1816 1820 1820 1822* 1822 seg parameter fixed bin(17,0) dcl 2054 in procedure "get_data_" set ref 2049 2062* 2067* 2069 seg parameter fixed bin(17,0) dcl 2312 in procedure "hunt_for_code" set ref 2308 2317* 2322* segln 001273 automatic fixed bin(35,0) initial dcl 214 set ref 214* 462* segno 16 based structure level 2 in structure "hardcore_info" dcl 3-6 in procedure "azm_requests_1_" segno 001274 automatic fixed bin(17,0) dcl 215 in procedure "azm_requests_1_" set ref 453* 486* 490* 507 507 509* 512* 516* 526 526 526* 536 536 536* 621* 624* 827* 910* 920* 930 931* 933* 935* 940* 942* 946* 958* 959* 992* 1191* 1200 1201* 1210* 1268* 1280* 1394* 1401 1422 1422 1436* 1441 1463* 1595* 1615* 1692* 1703* 1728 1728 1728 1728 1750* 1796* 1809* 1816* 1816 1816* 1949* 1955 1958* 1966* 1970* 1982 1983* 2361* 2368* 2375* 2384* 2391* 2398* segno parameter fixed bin(17,0) dcl 2209 in procedure "get_new_trans" set ref 2204 2216* 2220 2220 2224 2224 2239* segno based fixed bin(18,0) level 2 in structure "va" dcl 10-39 in procedure "azm_requests_1_" set ref 820* 827 1051* 1191 1246* 1268 1387* 1394 1605* 1615 segno 346 based fixed bin(18,0) array level 3 in structure "translation_table" packed packed unsigned unaligned dcl 7-13 in procedure "azm_requests_1_" ref 2069 segno parameter fixed bin(17,0) dcl 2504 in procedure "thread_ptr_val" ref 2500 2514 segno1 001275 automatic fixed bin(17,0) dcl 216 set ref 1404* 1407* 1714* set_ptr 0(32) based bit(1) level 2 packed packed unaligned dcl 5-32 set ref 1582* 1954 1972 short 0(02) 002050 automatic bit(1) level 2 packed packed unaligned dcl 13-10 set ref 1095* 1151* sidx 002170 automatic fixed bin(17,0) dcl 2055 set ref 2069* 2069* 2071 sig_stack based structure level 1 unaligned dcl 258 signaller_stack based structure level 1 unaligned dcl 20-5 sigstp 001276 automatic pointer dcl 217 set ref 1412* 1413 size based fixed bin(17,0) level 2 in structure "fdump_process_table" dcl 2-23 in procedure "azm_requests_1_" ref 419 1506 1523 1541 1918 2336 2411 2420 size builtin function dcl 278 in procedure "azm_requests_1_" ref 640 slog_code 001300 automatic fixed bin(17,0) initial dcl 218 set ref 218* slt based structure level 3 dcl 3-6 sltntp 2 based pointer level 2 dcl 3-40 set ref 543* 711* sltp based pointer level 2 dcl 3-40 set ref 543* 711* sp 002066 automatic pointer dcl 22-31 set ref 1401* 1403 1412 1711* 1713 sptp 001302 automatic pointer dcl 219 set ref 635* 637* 640* 645 sst based structure level 1 dcl 21-9 sstp 6 based pointer level 2 in structure "hardcore_cur" dcl 3-40 in procedure "azm_requests_1_" ref 497 505 sstp 002064 automatic pointer dcl 21-7 in procedure "azm_requests_1_" set ref 505* 533 533 533 535 541 609 615 616 616 616 619 ssu_$abort_line 000174 constant entry external dcl 349 ref 386 419 449 452 480 483 488 491 498 509 512 544 546 627 688 700 731 739 745 760 778 793 802 826 869 873 878 880 881 891 896 924 935 946 1022 1027 1035 1037 1060 1174 1180 1229 1238 1240 1255 1263 1283 1300 1315 1321 1363 1368 1393 1422 1433 1481 1490 1506 1533 1550 1570 1592 1593 1621 1628 1637 1665 1670 1683 1689 1690 1708 1738 1746 1748 1766 1769 1776 1779 1784 1787 1840 1873 1877 1880 1886 1893 1927 1935 1953 1986 1990 1992 1997 2011 2020 2026 2101 2105 2136 2183 2192 2194 2255 2350 2474 2478 ssu_$apply_request_util 000176 constant entry external dcl 350 ref 1286 ssu_$arg_count 000200 constant entry external dcl 351 ref 2496 ssu_$arg_ptr 000202 constant entry external dcl 352 ref 465 485 730 797 808 834 1057 1092 1252 1260 1312 1611 1619 1763 1773 1854 2092 2128 2163 2260 2438 ssu_$get_subsystem_and_request_name 000214 constant entry external dcl 357 ref 2274 2274 2281 2281 2293 2293 ssu_$get_temp_segment 000204 constant entry external dcl 353 ref 396 620 718 884 1189 1278 1398 1702 1795 ssu_$print_message 000206 constant entry external dcl 354 ref 940 1187 ssu_$release_temp_segment 000210 constant entry external dcl 355 ref 390 439 459 626 693 704 758 786 787 945 1017 1020 1025 1043 1044 1226 1274 1282 1287 1308 1479 1573 1736 1754 1825 1985 ssu_$return_arg 000212 constant entry external dcl 356 ref 2495 stack_begin_ptr 22 based pointer level 2 dcl 23-26 set ref 2301* stack_end_ptr 24 based pointer level 2 dcl 23-26 set ref 2303* stack_frame based structure level 1 dcl 22-36 stack_header based structure level 1 dcl 23-26 stack_no parameter fixed bin(17,0) dcl 2266 set ref 2264 2271* 2274* 2279* 2281* 2291* 2293* 2301* 2303* start_configp 001304 automatic pointer initial dcl 220 set ref 220* state 3 based fixed bin(17,0) level 2 dcl 6-7 ref 2339 2341 2341 state_found 002266 automatic bit(1) packed unaligned dcl 2331 set ref 2333* 2340* 2348 str 001306 automatic char(16) packed unaligned dcl 221 set ref 664* strp 2 based bit(18) level 2 packed packed unaligned dcl 8-11 set ref 566 566 567 567 567 685 687* struct_name 001312 automatic varying char(256) dcl 222 set ref 855* 857* 1163* 1988 1990* 1997* struct_sw 001413 automatic bit(1) initial packed unaligned dcl 223 set ref 223* 791* 852* 878 878* 880 881 886 1089* 1161* 1187 1195 structure_find_$search 000220 constant entry external dcl 361 ref 1991 structure_ref_$parse 000216 constant entry external dcl 359 ref 1988 subscripts 001414 automatic fixed bin(24,0) array dcl 224 set ref 782* 1085* 1988* 1995* substr builtin function dcl 278 set ref 549 871 915 915 920 920 1178 1663 1856 2040* 2093 2129 2134 2135 2135 2164 2440 suppress_duplicates 0(15) 002050 automatic bit(1) level 2 packed packed unaligned dcl 13-10 set ref 1068* 1075* 1099* 1101* symbol_ptr 001454 automatic pointer dcl 225 set ref 783* 1040* 1991* 1995* sys_info$max_seg_size 000222 external static fixed bin(35,0) dcl 362 ref 623 720 1271 1758 1787 1981 t_pr_name 001456 automatic char(4) packed unaligned dcl 226 set ref 1590* 1591* 1687* 1688* 1957* 1958* 1959* 1960* 1961* 1962* 1969* 1970* tally_states 001505 automatic fixed bin(17,0) array dcl 234 set ref 403* 2341* 2341 2415 2416* 2431* temp_name 001457 automatic char(32) packed unaligned dcl 227 set ref 708* 711* temp_num 001467 automatic fixed bin(17,0) dcl 228 set ref 2100* 2103 2103 2103 2135* 2137 temp_proc_hold 002235 automatic fixed bin(17,0) dcl 2212 set ref 2218* 2221* temp_ptr 001470 automatic pointer dcl 229 set ref 543* 545* 711* 721 721 930* 959* 1200* 1210* 1324* 1431* 1436 1437 1447* 1448* 1452* 1454* 1456* 1591* 1593 1595 1596 1688* 1690 1692 1693 1955* 1956* 1962* 1966 1967 2360* 2361 2362 2367* 2368 2369 2374* 2375 2376 2383* 2384 2385 2390* 2391 2392 2397* 2398 2399 temp_ptr1 001472 automatic pointer dcl 230 set ref 619* 621 1403* 1404 1405 1413* 1414 1441* 1442* 1442* 1713* 1714 1715 1718* temp_range 001474 automatic fixed bin(18,0) dcl 231 set ref 899* 903* 905* 931* 933* 935 942* 950 950 953 954 1201* temp_str 001475 automatic varying char(24) initial dcl 232 set ref 232* temp_trans 002230 automatic structure level 1 unaligned dcl 2211 set ref 2214 threaded_hregs 001504 automatic bit(1) packed unaligned dcl 233 set ref 1305* 1337* 1341* 1345* 1349* 1352* 1361* 1446 1466 timer 47 based bit(27) level 2 packed packed unaligned dcl 22-36 set ref 1412 tm 0(20) based bit(1) level 2 packed packed unaligned dcl 5-32 set ref 1588* 1646* 1678* totals_only 001514 automatic bit(1) packed unaligned dcl 235 set ref 406 2342 2411 2420 2427* 2483* tpr 0(04) based bit(1) level 2 packed packed unaligned dcl 5-32 set ref 1587* 1652* 1677* tqsw 5(24) based bit(1) array level 2 packed packed unaligned dcl 8-11 ref 595 596 trailer_sw 001515 automatic bit(1) packed unaligned dcl 236 set ref 455* 471* 475* 478* 502 526 526 526* 684 translation based structure level 1 dcl 7-24 translation_ptr 001672 automatic pointer dcl 7-40 set ref 2214* 2220* 2224* 2239* 2271* 2272 2289 2289 2300 translation_table based structure level 1 dcl 7-13 translation_table_ptr 12 based pointer level 2 dcl 4-3 ref 2069 2069 2071 type 3 based fixed bin(17,0) level 2 packed packed unaligned dcl 4-3 ref 1321 1621 1623 1623 1637 2215 2228 uid 3 based bit(36) level 2 packed packed unaligned dcl 8-11 ref 553 553 566 685 unpaged 1(19) based bit(1) level 2 packed packed unaligned dcl 19-5 set ref 515 1810* unspec builtin function dcl 278 set ref 647 680 790* 881 963 998 2041* 2041 unsubscripted_name 001516 automatic char(256) packed unaligned dcl 237 set ref 781* 1084* 1988* 1991* 1992* upt based structure level 1 dcl 24-13 upt_absloc 2 based fixed bin(26,0) level 2 dcl 24-13 ref 522 635 635 upt_entry based structure level 1 dcl 24-26 upt_last_loc 3 based fixed bin(26,0) level 2 dcl 24-13 ref 522 635 upt_ptr 002072 automatic pointer dcl 24-12 set ref 506* 521 522 522 522 522 635 635 635 635 637 637 637 637 uptp 14 based pointer level 2 dcl 3-40 ref 506 used 11 based fixed bin(18,0) array level 2 packed packed unsigned unaligned dcl 8-11 set ref 579 579 579* 579* usedf 5 based bit(1) level 2 packed packed unaligned dcl 8-11 ref 584 va based structure level 1 unaligned dcl 10-39 va_args 001700 automatic structure level 1 dcl 10-14 set ref 818 1049 1244 1385 1603 va_args_ptr 002042 automatic pointer dcl 10-40 set ref 818* 819 820 820 820 820 820 822 823 823 824 825* 826 826 826 826 827 828 829 891 1049* 1050 1051 1051 1051 1051 1051 1053 1054 1054 1055 1058* 1059 1059 1060 1060 1191 1192 1193 1244* 1245 1246 1246 1246 1246 1246 1248 1249 1249 1250 1253* 1254 1254 1255 1255 1267 1268 1269 1385* 1386 1387 1387 1387 1387 1387 1389 1390 1390 1391 1392* 1393 1393 1393 1393 1394 1395 1603* 1604 1605 1605 1605 1605 1605 1607 1608 1608 1609 1612* 1613 1614 1615 1616 2177 2186 2541 va_position 5 based structure level 2 dcl 10-39 set ref 820* 1051* 1246* 1387* 1605* 2541 va_string 40 based varying char(256) level 2 dcl 10-39 set ref 823* 891* 1054* 1249* 1390* 1608* 2177 2186 va_sw 001657 automatic bit(1) packed unaligned dcl 1567 set ref 1576* 1613* 1670 1670 1670 1670* 1686 1701 2084* 2177 2177* 2186 2186* va_switches 3(19) based structure level 2 packed packed unaligned dcl 10-39 set ref 822* 1053* 1248* 1389* 1607* valid_va 3(19) based bit(1) level 3 packed packed unaligned dcl 10-39 set ref 1613 vptr parameter pointer dcl 2503 set ref 2500 2513 2514 vs 001616 automatic varying char(99) dcl 238 set ref 582* 2555 2556 2558* 2559* 2561* 2561 vtocx 4(18) based fixed bin(17,0) level 2 packed packed unaligned dcl 8-11 set ref 553* want_both 001654 automatic bit(1) packed unaligned dcl 1297 set ref 1303* 1379* 1447 1451 1467 1471 what_regs based structure level 1 dcl 1562 why_erf 001650 automatic bit(1) initial packed unaligned dcl 239 set ref 239* wired 0(31) based bit(1) level 2 packed packed unaligned dcl 16-5 set ref 666* word parameter fixed bin(18,0) dcl 2056 in procedure "get_data_" set ref 2049 2067* word parameter fixed bin(18,0) dcl 2313 in procedure "hunt_for_code" set ref 2308 2322* write 1(17) based bit(1) level 3 packed packed unaligned dcl 19-5 set ref 1810* write_access_on 5(07) based bit(1) level 2 packed packed unaligned dcl 8-11 ref 590 x parameter char packed unaligned dcl 2553 ref 2549 2555 2561 xreg 0(07) based bit(1) array level 2 packed packed unaligned dcl 5-32 set ref 2137* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. AMU_FDUMP_INFO_VERSION internal static char(8) initial packed unaligned dcl 2-43 AMU_FDUMP_INFO_VERSION_1 internal static char(8) initial packed unaligned dcl 2-42 AMU_INFO_VERSION internal static char(8) initial packed unaligned dcl 4-57 AMU_INFO_VERSION_1 internal static char(8) initial packed unaligned dcl 4-56 AMU_INFO_VERSION_2 internal static char(8) initial packed unaligned dcl 4-58 AZM_INFO_VERSION_1 internal static char(8) initial packed unaligned dcl 9-19 AZM_INFO_VERSION_2 internal static char(8) initial packed unaligned dcl 9-20 DUMP_VERSION_1 internal static fixed bin(17,0) initial dcl 11-120 DUMP_VERSION_2 internal static fixed bin(17,0) initial dcl 11-121 INDIRECT_TYPE internal static fixed bin(17,0) initial dcl 4-47 NETWORK_FDUMP_TYPE internal static fixed bin(17,0) initial dcl 4-47 NETWORK_ONLINE_TYPE internal static fixed bin(17,0) initial dcl 4-47 ONLINE_PROCESS_TYPE internal static fixed bin(17,0) initial dcl 4-47 ONLINE_TYPE internal static fixed bin(17,0) initial dcl 4-47 PDIR_SUFFIX internal static char(4) initial packed unaligned dcl 4-60 RETURN_PTR_MASK internal static bit(72) initial packed unaligned dcl 22-19 TRANSLATOR_ID_ALM internal static bit(18) initial packed unaligned dcl 22-25 TRANSLATOR_ID_PL1V1 internal static bit(18) initial packed unaligned dcl 22-26 TRANSLATOR_ID_PL1V2 internal static bit(18) initial packed unaligned dcl 22-24 TRANSLATOR_ID_SIGNALLER internal static bit(18) initial packed unaligned dcl 22-28 TRANSLATOR_ID_SIGNAL_CALLER internal static bit(18) initial packed unaligned dcl 22-27 VOLMAP_ASYNC_IDLE internal static fixed bin(17,0) initial dcl 18-113 VOLMAP_ASYNC_READ internal static fixed bin(17,0) initial dcl 18-113 VOLMAP_ASYNC_WRITE internal static fixed bin(17,0) initial dcl 18-113 abx internal static fixed bin(17,0) initial dcl 15-42 alloc_fdump_process_table_size automatic fixed bin(17,0) dcl 2-40 alloc_translation_table_max_entries automatic fixed bin(17,0) dcl 7-39 amu_area based area(1024) dcl 4-43 apx internal static fixed bin(17,0) initial dcl 15-42 arg_bits based structure level 1 dcl 5-23 asta based bit(432) array dcl 8-86 aste_part based structure level 1 dcl 8-89 atptwa based structure array level 1 dcl 16-40 badd_type based structure level 1 packed packed unaligned dcl 1-15 bbx internal static fixed bin(17,0) initial dcl 15-42 bpx internal static fixed bin(17,0) initial dcl 15-42 call_offset internal static fixed bin(17,0) initial dcl 23-78 entry_offset internal static fixed bin(17,0) initial dcl 23-78 fp_table_ptr automatic pointer dcl 2-38 itp based structure level 1 dcl 14-18 itp_unsigned based structure level 1 dcl 14-43 its_unsigned based structure level 1 dcl 14-30 lbx internal static fixed bin(17,0) initial dcl 15-42 lpx internal static fixed bin(17,0) initial dcl 15-42 mcme based structure level 1 dcl 12-32 mcp automatic pointer dcl 15-10 mptwa based structure array level 1 dcl 16-31 ptwa_bits based bit(36) array dcl 16-25 push_offset internal static fixed bin(17,0) initial dcl 23-78 pvt$ external static fixed bin(17,0) dcl 17-9 pvt$array external static fixed bin(17,0) dcl 18-18 pvt$max_n_entries external static fixed bin(17,0) dcl 18-19 return_no_pop_offset internal static fixed bin(17,0) initial dcl 23-78 return_offset internal static fixed bin(17,0) initial dcl 23-78 sbx internal static fixed bin(17,0) initial dcl 15-42 scu based structure level 1 dcl 15-56 scup automatic pointer dcl 15-54 scux based structure level 1 dcl 15-207 sdwa based structure array level 1 dcl 19-24 seg_aste based structure level 1 dcl 8-96 spx internal static fixed bin(17,0) initial dcl 15-42 sst_seg$ external static fixed bin(17,0) dcl 21-6 stack_frame_flags based structure level 1 dcl 22-64 stack_frame_min_length internal static fixed bin(17,0) initial dcl 22-33 stack_header_overlay based fixed bin(17,0) array dcl 23-94 tv_offset internal static fixed bin(17,0) initial dcl 23-72 upt_entry_ptr automatic pointer dcl 24-25 v1_dump based structure level 1 dcl 11-83 valid_mc_arg internal static char(8) initial array packed unaligned dcl 5-5 what_prs based structure level 1 dcl 5-26 NAMES DECLARED BY EXPLICIT CONTEXT. AF_DS_ERROR 015450 constant label dcl 1229 ref 1098 1108 1155 1160 1166 1171 COMMON_DISPLAY 010510 constant label dcl 776 ref 767 DUMP_AF 013156 constant label dcl 998 ref 951 DUMP_AF_ARG_ERR 013432 constant label dcl 1020 ref 841 846 851 860 864 DUMP_AF_ERROR 013504 constant label dcl 1025 ref 913 END_HR_ARGS 017414 constant label dcl 1425 ref 1415 1419 END_LSP 020762 constant label dcl 1553 ref 1500 1515 1534 END_MC 022726 constant label dcl 1736 ref 1698 END_OF_DS 015417 constant label dcl 1221 ref 1197 END_OF_DUMP 013401 constant label dcl 1012 ref 888 897 917 922 997 END_PR 027215 constant label dcl 2109 ref 2087 2097 END_REG 027430 constant label dcl 2143 ref 2123 2132 END_SPECS 030063 constant label dcl 2198 ref 2169 GET_DUMP_CTL_ARGS 011237 constant label dcl 832 set ref 811 GET_DUMP_DATA 012124 constant label dcl 907 ref 900 GET_SDWS 023645 constant label dcl 1790 ref 1759 HREGS_RETURN 020135 constant label dcl 1479 ref 1408 1464 PRINT_CURRENT 025335 constant label dcl 1930 ref 1850 READY_TO_PRINT 022625 constant label dcl 1728 ref 1597 1706 RET_VAL 032613 constant label dcl 2520 ref 2510 SDWERR 024313 constant label dcl 1825 ref 1803 azm_requests_1_ 003213 constant entry external dcl 29 azm_requests_1_$apte 003226 constant entry external dcl 382 azm_requests_1_$aste 003764 constant entry external dcl 443 azm_requests_1_$config_deck 007552 constant entry external dcl 696 azm_requests_1_$display 010500 constant entry external dcl 771 azm_requests_1_$display_abs 010465 constant entry external dcl 763 azm_requests_1_$ds 013545 constant entry external dcl 1031 azm_requests_1_$extract_seg 015505 constant entry external dcl 1234 azm_requests_1_$history_regs 016226 constant entry external dcl 1293 azm_requests_1_$list_proc 020200 constant entry external dcl 1486 azm_requests_1_$mc 020765 constant entry external dcl 1559 azm_requests_1_$sdw 022771 constant entry external dcl 1742 azm_requests_1_$select_proc 024376 constant entry external dcl 1833 bad_name 025053 constant label dcl 1893 ref 1890 chk_range 012331 constant label dcl 935 ref 943 common_mc 025435 constant entry internal dcl 1940 ref 1734 2364 2371 2378 2387 2394 2401 determine_process_idx 026354 constant entry internal dcl 2001 ref 416 1503 1900 dtc 026617 constant entry internal dcl 2031 ref 557 557 560 560 dump_as_structure 025766 constant entry internal dcl 1977 ref 887 1196 four_letter_word 010417 constant label dcl 758 ref 715 724 740 746 755 get_data_ 026654 constant entry internal dcl 2049 ref 624 721 931 1280 1407 1463 1796 1949 1983 get_mc_pr_list 027010 constant entry internal dcl 2080 ref 1659 get_mc_reg_list 027221 constant entry internal dcl 2117 ref 1655 get_mc_specifiers 027434 constant entry internal dcl 2151 ref 1633 1640 get_new_trans 030066 constant entry internal dcl 2204 ref 2279 2291 get_next_arg 030253 constant entry internal dcl 2246 ref 853 1162 1172 1332 1863 1867 get_stack 030352 constant entry internal dcl 2264 ref 1703 hunt_for_code 030653 constant entry internal dcl 2308 ref 933 942 1201 list_by_state 030753 constant entry internal dcl 2329 ref 1499 mc_by_keyword 031134 constant entry internal dcl 2357 ref 1697 print_totals 031622 constant entry internal dcl 2406 ref 411 2352 process_common_args 032053 constant entry internal dcl 2425 ref 394 1492 set_up 032475 constant entry internal dcl 2489 ref 385 448 699 776 1034 1237 1299 1489 1569 1745 1839 thread_ptr_val 032546 constant entry internal dcl 2500 ref 2301 2303 trans_selected 032621 constant entry internal dcl 2525 ref 386 449 700 778 1035 1238 1300 1490 1570 1746 1840 va_arg 032636 constant entry internal dcl 2532 ref 870 1177 1261 1662 vput 032674 constant entry internal dcl 2549 ref 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 608 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 35262 35544 33445 35272 Length 37164 33445 262 1403 1614 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME azm_requests_1_ 2150 external procedure is an external procedure. on unit on line 389 70 on unit on unit on line 458 70 on unit on unit on line 703 70 on unit on unit on line 785 70 on unit on unit on line 1042 70 on unit on unit on line 1273 70 on unit on unit on line 1307 70 on unit on unit on line 1572 70 on unit on unit on line 1753 70 on unit common_mc internal procedure shares stack frame of external procedure azm_requests_1_. dump_as_structure internal procedure shares stack frame of external procedure azm_requests_1_. determine_process_idx internal procedure shares stack frame of external procedure azm_requests_1_. dtc internal procedure shares stack frame of external procedure azm_requests_1_. get_data_ internal procedure shares stack frame of external procedure azm_requests_1_. get_mc_pr_list internal procedure shares stack frame of external procedure azm_requests_1_. get_mc_reg_list internal procedure shares stack frame of external procedure azm_requests_1_. get_mc_specifiers internal procedure shares stack frame of external procedure azm_requests_1_. get_new_trans internal procedure shares stack frame of external procedure azm_requests_1_. get_next_arg internal procedure shares stack frame of external procedure azm_requests_1_. get_stack internal procedure shares stack frame of external procedure azm_requests_1_. hunt_for_code internal procedure shares stack frame of external procedure azm_requests_1_. list_by_state internal procedure shares stack frame of external procedure azm_requests_1_. mc_by_keyword internal procedure shares stack frame of external procedure azm_requests_1_. print_totals internal procedure shares stack frame of external procedure azm_requests_1_. process_common_args internal procedure shares stack frame of external procedure azm_requests_1_. set_up internal procedure shares stack frame of external procedure azm_requests_1_. thread_ptr_val 72 internal procedure enables or reverts conditions. on unit on line 2509 64 on unit trans_selected internal procedure shares stack frame of external procedure azm_requests_1_. va_arg internal procedure shares stack frame of external procedure azm_requests_1_. vput internal procedure shares stack frame of external procedure azm_requests_1_. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME azm_requests_1_ 000100 PTWF azm_requests_1_ 000110 af_sw azm_requests_1_ 000111 arg_position azm_requests_1_ 000112 all_sw azm_requests_1_ 000114 axp azm_requests_1_ 000116 apte_array_ptr azm_requests_1_ 000120 apte_array_index azm_requests_1_ 000121 apte_offset azm_requests_1_ 000122 argl azm_requests_1_ 000123 argno azm_requests_1_ 000124 argp azm_requests_1_ 000126 axstring azm_requests_1_ 000131 bd_sdw azm_requests_1_ 000132 bitcount azm_requests_1_ 000133 block azm_requests_1_ 000134 brief_sw azm_requests_1_ 000144 cdevadd azm_requests_1_ 000150 coremaptr azm_requests_1_ 000152 code azm_requests_1_ 000153 command_arg azm_requests_1_ 000154 cond_frame azm_requests_1_ 000155 config_arg_str azm_requests_1_ 000256 core_add azm_requests_1_ 000260 configp azm_requests_1_ 000262 copy_ptr azm_requests_1_ 000264 cpu_name azm_requests_1_ 000265 cpu_sw azm_requests_1_ 000266 cur_sw azm_requests_1_ 000267 cur_erf azm_requests_1_ 000270 ct_sw azm_requests_1_ 000272 data_buf_ptr azm_requests_1_ 000274 dbr azm_requests_1_ 000275 dbr_sw azm_requests_1_ 000276 del_cur_erf azm_requests_1_ 000277 del_erf azm_requests_1_ 000300 devadd azm_requests_1_ 000301 dir_name azm_requests_1_ 000353 dir_name_lth azm_requests_1_ 000354 dir_sw azm_requests_1_ 000356 display_ptr azm_requests_1_ 000360 display_size azm_requests_1_ 000362 dsegp azm_requests_1_ 000364 erfs_found azm_requests_1_ 000365 entryname azm_requests_1_ 000375 expand_ptr_sw azm_requests_1_ 000376 expand_sw azm_requests_1_ 000377 interpreted_hregs azm_requests_1_ 000400 fdevadd azm_requests_1_ 000401 first azm_requests_1_ 000402 first_segno azm_requests_1_ 000403 first1 azm_requests_1_ 000404 first_erf azm_requests_1_ 000405 first_ptr_arg azm_requests_1_ 000406 first_value_set azm_requests_1_ 000407 forward_search azm_requests_1_ 000410 frame_entry azm_requests_1_ 000412 hard_ptr_space azm_requests_1_ 000430 header_sw azm_requests_1_ 000431 hdr_printed azm_requests_1_ 000432 hold_index azm_requests_1_ 000433 hr_switches azm_requests_1_ 000434 hregs_from_dump azm_requests_1_ 000435 hregs_from_pds azm_requests_1_ 000436 hregs_fm_ptrval azm_requests_1_ 000437 ignore azm_requests_1_ 000440 index_changed azm_requests_1_ 000441 is_wired azm_requests_1_ 000442 is_paged azm_requests_1_ 000443 i azm_requests_1_ 000444 k azm_requests_1_ 000445 last azm_requests_1_ 000446 last_erf azm_requests_1_ 000447 last_ptw azm_requests_1_ 000450 last_segno azm_requests_1_ 000451 list_erfs azm_requests_1_ 000452 list_state azm_requests_1_ 000453 ll azm_requests_1_ 000454 ln azm_requests_1_ 000455 long_sw azm_requests_1_ 000456 match_names azm_requests_1_ 000610 match_str azm_requests_1_ 000711 mc_from_ptrval azm_requests_1_ 000712 mc_area azm_requests_1_ 000772 mc_arg azm_requests_1_ 000773 mcp_fim_sw azm_requests_1_ 000774 mcp_pgflt_sw azm_requests_1_ 000775 mcp_sig_sw azm_requests_1_ 000776 mcpr_fim_sw azm_requests_1_ 000777 mcpr_int_sw azm_requests_1_ 001000 mcpr_systroub_sw azm_requests_1_ 001001 mem_addr azm_requests_1_ 001002 mem_dump azm_requests_1_ 001003 modes_sw azm_requests_1_ 001004 mem_tag azm_requests_1_ 001005 n_match_names azm_requests_1_ 001006 n_subscripts azm_requests_1_ 001007 nargs azm_requests_1_ 001010 new_range azm_requests_1_ 001011 next_erf azm_requests_1_ 001012 no_aste_tr_info azm_requests_1_ 001013 offset azm_requests_1_ 001014 only_au azm_requests_1_ 001015 only_cu azm_requests_1_ 001016 only_du azm_requests_1_ 001017 only_ou azm_requests_1_ 001020 octal_sw azm_requests_1_ 001021 outername azm_requests_1_ 001031 pidbit azm_requests_1_ 001032 pid azm_requests_1_ 001034 pcd_args azm_requests_1_ 001134 pcd_argsp azm_requests_1_ 001136 pcd_args_len azm_requests_1_ 001137 pds_sw azm_requests_1_ 001140 prev_erf azm_requests_1_ 001141 prds_sw azm_requests_1_ 001142 print_all_trans azm_requests_1_ 001144 proc_ptr azm_requests_1_ 001146 procl azm_requests_1_ 001147 proc_sw azm_requests_1_ 001150 process_idx azm_requests_1_ 001151 pts azm_requests_1_ 001152 pvtx_name azm_requests_1_ 001157 range azm_requests_1_ 001160 range1 azm_requests_1_ 001161 range_value_set azm_requests_1_ 001162 raw_syserr_data azm_requests_1_ 001163 real_address azm_requests_1_ 001164 reason azm_requests_1_ 001211 repeat_ azm_requests_1_ 001212 ret_str azm_requests_1_ 001265 rv_lth azm_requests_1_ 001266 rv_ptr azm_requests_1_ 001270 sci_ptr azm_requests_1_ 001272 sdw_address azm_requests_1_ 001273 segln azm_requests_1_ 001274 segno azm_requests_1_ 001275 segno1 azm_requests_1_ 001276 sigstp azm_requests_1_ 001300 slog_code azm_requests_1_ 001302 sptp azm_requests_1_ 001304 start_configp azm_requests_1_ 001306 str azm_requests_1_ 001312 struct_name azm_requests_1_ 001413 struct_sw azm_requests_1_ 001414 subscripts azm_requests_1_ 001454 symbol_ptr azm_requests_1_ 001456 t_pr_name azm_requests_1_ 001457 temp_name azm_requests_1_ 001467 temp_num azm_requests_1_ 001470 temp_ptr azm_requests_1_ 001472 temp_ptr1 azm_requests_1_ 001474 temp_range azm_requests_1_ 001475 temp_str azm_requests_1_ 001504 threaded_hregs azm_requests_1_ 001505 tally_states azm_requests_1_ 001514 totals_only azm_requests_1_ 001515 trailer_sw azm_requests_1_ 001516 unsubscripted_name azm_requests_1_ 001616 vs azm_requests_1_ 001650 why_erf azm_requests_1_ 001651 aste_sw azm_requests_1_ 001652 bf_sw azm_requests_1_ 001653 pt_sw azm_requests_1_ 001654 want_both azm_requests_1_ 001655 dump_sw azm_requests_1_ 001656 args_specified azm_requests_1_ 001657 va_sw azm_requests_1_ 001660 found azm_requests_1_ 001662 Pproc azm_requests_1_ 001664 hardcore_cur_ptr azm_requests_1_ 001666 amu_info_ptr azm_requests_1_ 001670 arg_bits_ptr azm_requests_1_ 001672 translation_ptr azm_requests_1_ 001674 astep azm_requests_1_ 001676 azm_info_ptr azm_requests_1_ 001700 va_args azm_requests_1_ 002042 va_args_ptr azm_requests_1_ 002044 dumpptr azm_requests_1_ 002046 cmep azm_requests_1_ 002050 dump_segment_format_structure azm_requests_1_ 002052 ptp azm_requests_1_ 002054 pvtp azm_requests_1_ 002056 pvt_arrayp azm_requests_1_ 002060 pvtep azm_requests_1_ 002062 sdwp azm_requests_1_ 002064 sstp azm_requests_1_ 002066 sp azm_requests_1_ 002070 sb azm_requests_1_ 002072 upt_ptr azm_requests_1_ 002140 proc_idx determine_process_idx 002141 code determine_process_idx 002150 buf dtc 002152 fbuf dtc 002154 date dtc 002170 sidx get_data_ 002200 i get_mc_pr_list 002210 i get_mc_reg_list 002220 i get_mc_specifiers 002230 temp_trans get_new_trans 002235 temp_proc_hold get_new_trans 002266 state_found list_by_state 002304 i print_totals 002340 i va_arg 002342 Ppos va_arg thread_ptr_val 000100 ret_bit thread_ptr_val THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_g_a r_e_as r_ne_as alloc_char_temp cat_realloc_chars call_ext_out_desc call_ext_out call_int_this return_mac tra_ext_1 mdfx1 enable_op shorten_stack ext_entry int_entry trunc_fx1 set_chars_eis index_chars_eis index_bs_1_eis divide_fx1 THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. adjust_bit_count_ amu_$definition_get_prn amu_$definition_ptr amu_$definition_set_from amu_$definition_set_prn amu_$do_translation amu_$do_translation_hunt amu_$do_translation_hunt_ptr amu_$error_for_caller amu_$fdump_mpt_change_idx amu_$fdump_mpt_current_process amu_$fdump_mpt_current_process_af amu_$fdump_mpt_fill_proc_table amu_$fdump_mpt_revert_idx amu_$fdump_mpt_temp_change_idx amu_$fdump_translate_to_temp_seg amu_$get_name amu_$get_name_no_comp amu_$get_segno_from_name amu_$get_va_args amu_$get_va_args_given_start amu_$hardcore_info_set_cur_ptrs amu_$print_apte amu_$print_char_dump amu_$print_char_dump_af amu_$print_dump_oct amu_$print_dump_pptr amu_$print_dump_pptr_exp amu_$print_dump_ptr amu_$print_dump_ptr_exp amu_$print_inst_dump amu_$return_val_per_process amu_$slt_search_seg_ptr amu_$tc_data_get_apt_entry amu_$tc_data_get_dbr amu_$translate_force_add amu_$translate_get azm_display_mc_ azm_dump_mem_ azm_find_mem_box_$bf azm_str_util_ cu_$cp cv_dec_check_ cv_oct_check_ date_time_ display_data_$for_azm dump_segment_ dump_segment_$string get_line_length_$switch hcs_$fs_get_path_name hran_$bos_no_thread hran_$hran_bos hran_$hranl hran_$no_thread ioa_ ioa_$nnl ioa_$rsnnl ssu_$abort_line ssu_$apply_request_util ssu_$arg_count ssu_$arg_ptr ssu_$get_subsystem_and_request_name ssu_$get_temp_segment ssu_$print_message ssu_$release_temp_segment ssu_$return_arg structure_find_$search structure_ref_$parse THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. amu_et_$big_idx amu_et_$dbr_not_found amu_et_$free_core amu_et_$invalid_segno amu_et_$neg_range amu_et_$no_translation amu_et_$not_implemented amu_et_$not_stack_seg amu_et_$proc_not_dumped amu_et_$seg_not_dumped error_table_$bad_arg error_table_$badopt error_table_$inconsistent error_table_$noarg error_table_$too_many_args iox_$user_output sys_info$max_seg_size LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 71 003140 78 003142 82 003145 91 003146 96 003147 101 003150 102 003151 109 003152 112 003153 113 003154 115 003155 116 003156 122 003157 124 003160 125 003161 126 003162 129 003163 140 003164 141 003165 144 003166 146 003167 147 003170 150 003171 178 003172 193 003173 195 003174 204 003175 205 003176 209 003177 214 003200 218 003201 220 003203 223 003205 232 003206 239 003207 29 003212 31 003221 382 003222 385 003234 386 003235 388 003272 389 003274 390 003310 392 003325 394 003326 396 003327 398 003351 399 003356 400 003363 401 003364 402 003370 403 003415 404 003420 405 003450 406 003457 408 003500 410 003502 411 003504 412 003507 415 003510 416 003516 418 003520 419 003522 422 003561 423 003564 424 003575 425 003606 426 003615 429 003624 430 003625 432 003655 434 003713 435 003723 436 003742 439 003744 441 003761 443 003762 448 003772 449 003773 451 004030 452 004031 453 004057 454 004061 455 004063 456 004070 457 004071 458 004073 459 004107 460 004124 462 004125 464 004142 465 004151 467 004166 468 004177 469 004201 471 004202 472 004216 473 004231 474 004240 475 004250 476 004254 477 004255 478 004256 480 004275 481 004326 483 004330 485 004357 486 004374 487 004421 488 004423 490 004472 491 004525 495 004561 496 004563 497 004574 498 004601 499 004625 502 004626 505 004642 506 004644 507 004646 509 004676 512 004730 515 004764 516 004770 517 005010 520 005011 521 005014 522 005020 525 005032 526 005034 529 005134 532 005135 533 005137 535 005151 536 005160 538 005234 540 005235 541 005242 542 005245 543 005260 544 005303 545 005333 546 005350 547 005400 548 005403 549 005412 551 005456 553 005457 555 005535 557 005604 559 005637 560 005653 562 005711 563 005725 566 006001 567 006033 568 006063 570 006102 571 006106 573 006126 574 006142 575 006143 577 006162 579 006216 582 006252 583 006253 584 006266 585 006277 586 006310 587 006321 588 006332 589 006343 590 006354 591 006365 592 006376 593 006407 594 006420 595 006431 596 006444 597 006460 598 006471 599 006502 600 006513 601 006524 602 006535 603 006550 604 006561 605 006572 606 006603 608 006614 609 006621 613 006630 615 006632 616 006636 619 006654 620 006656 621 006703 622 006707 623 006710 624 006713 625 006715 626 006717 627 006730 629 006751 632 006755 633 006757 634 006765 635 006770 637 007003 639 007013 640 007014 641 007017 643 007020 644 007037 645 007047 646 007051 647 007054 650 007076 651 007100 652 007101 655 007114 656 007117 657 007122 658 007125 659 007131 660 007135 661 007140 662 007141 664 007142 665 007145 666 007150 669 007243 670 007246 672 007307 673 007312 674 007326 675 007330 676 007333 677 007366 678 007367 680 007422 681 007424 684 007426 685 007433 686 007441 687 007456 688 007472 689 007515 690 007516 693 007532 694 007547 696 007550 699 007560 700 007561 702 007616 703 007620 704 007634 705 007651 707 007652 708 007653 709 007656 710 007660 711 007671 713 007711 714 007713 715 007720 718 007721 720 007743 721 007746 722 007755 723 007757 724 007764 727 007765 728 007767 729 007770 730 007777 731 010014 734 010061 735 010116 737 010121 738 010152 739 010154 740 010200 743 010201 744 010222 745 010224 746 010250 749 010251 750 010367 751 010372 752 010374 753 010407 754 010411 755 010416 758 010417 760 010434 761 010462 763 010463 766 010473 767 010475 771 010476 774 010506 776 010510 778 010511 780 010546 781 010552 782 010567 783 010611 784 010615 785 010617 786 010633 787 010650 788 010666 790 010667 791 010670 792 010673 793 010675 796 010727 797 010731 799 010746 800 010751 801 010776 802 010777 804 011035 807 011043 808 011044 809 011061 810 011106 811 011110 814 011111 815 011112 818 011113 819 011115 820 011121 822 011131 823 011144 824 011146 825 011150 826 011167 827 011226 828 011230 829 011234 832 011237 834 011247 835 011264 836 011302 837 011304 838 011305 839 011320 840 011333 841 011343 842 011346 843 011350 844 011352 845 011353 846 011363 847 011366 848 011370 849 011372 850 011373 851 011377 852 011402 853 011404 854 011413 855 011420 857 011432 858 011442 859 011443 860 011453 861 011456 862 011460 863 011461 864 011475 865 011500 866 011502 867 011503 869 011514 870 011551 871 011556 872 011567 873 011572 876 011623 878 011625 880 011667 881 011726 884 011764 886 012010 887 012013 888 012015 891 012016 892 012050 893 012054 894 012055 895 012060 896 012064 897 012111 899 012112 900 012115 903 012116 905 012123 907 012124 910 012127 912 012156 913 012160 914 012163 915 012166 917 012216 919 012217 920 012221 922 012255 924 012256 926 012276 927 012307 930 012311 931 012320 933 012327 935 012331 938 012373 939 012375 940 012403 941 012436 942 012437 943 012441 945 012442 946 012456 949 012511 950 012514 951 012520 953 012521 954 012524 955 012525 957 012553 958 012555 959 012577 963 012715 964 012721 965 012725 966 012730 971 012741 972 012754 973 012755 974 012760 975 012764 977 013002 978 013017 980 013020 981 013023 983 013041 984 013056 985 013057 986 013062 987 013075 988 013076 989 013101 992 013114 997 013155 998 013156 1003 013231 1006 013304 1009 013357 1012 013401 1014 013404 1015 013413 1017 013414 1018 013431 1020 013432 1022 013447 1023 013503 1025 013504 1027 013521 1028 013542 1031 013543 1034 013553 1035 013554 1037 013606 1040 013634 1041 013640 1042 013642 1043 013656 1044 013673 1045 013711 1049 013712 1050 013714 1051 013720 1053 013730 1054 013743 1055 013745 1057 013747 1058 013766 1059 014005 1060 014015 1067 014044 1068 014110 1074 014122 1075 014125 1082 014133 1083 014135 1084 014137 1085 014153 1087 014175 1088 014202 1089 014204 1090 014210 1091 014212 1092 014221 1093 014236 1094 014250 1095 014254 1096 014256 1097 014257 1098 014267 1099 014272 1100 014274 1101 014275 1103 014310 1105 014317 1107 014332 1108 014342 1109 014345 1110 014347 1111 014350 1113 014363 1114 014377 1115 014403 1117 014413 1118 014414 1119 014420 1120 014424 1122 014434 1123 014435 1124 014441 1125 014445 1127 014453 1128 014454 1129 014460 1130 014464 1132 014472 1133 014473 1134 014477 1135 014503 1137 014511 1138 014512 1139 014516 1140 014522 1141 014526 1142 014527 1143 014533 1144 014537 1145 014543 1146 014544 1147 014554 1148 014560 1149 014564 1150 014565 1151 014575 1152 014577 1153 014601 1154 014602 1155 014612 1156 014615 1157 014617 1158 014620 1159 014633 1160 014637 1161 014642 1162 014644 1163 014653 1164 014673 1165 014675 1166 014705 1167 014710 1168 014712 1169 014713 1170 014725 1171 014735 1172 014740 1173 014747 1174 014774 1175 015032 1177 015033 1178 015040 1179 015051 1180 015054 1183 015105 1187 015107 1189 015137 1191 015163 1192 015165 1193 015171 1195 015174 1196 015177 1197 015201 1200 015202 1201 015211 1203 015214 1204 015220 1205 015223 1210 015234 1213 015315 1215 015320 1216 015323 1217 015324 1218 015363 1219 015364 1221 015417 1223 015422 1224 015431 1226 015432 1227 015447 1229 015450 1232 015502 1234 015503 1237 015513 1238 015514 1240 015551 1244 015600 1245 015602 1246 015606 1248 015616 1249 015631 1250 015633 1252 015635 1253 015654 1254 015673 1255 015703 1258 015732 1259 015734 1260 015743 1261 015760 1262 015765 1263 015772 1265 016024 1267 016026 1268 016032 1269 016034 1271 016037 1272 016044 1273 016046 1274 016062 1276 016077 1278 016100 1280 016125 1281 016127 1282 016131 1283 016142 1286 016167 1287 016211 1289 016222 1290 016223 1293 016224 1299 016234 1300 016235 1302 016272 1303 016276 1304 016301 1305 016305 1306 016307 1307 016311 1308 016325 1309 016342 1311 016343 1312 016353 1314 016370 1315 016401 1317 016437 1318 016441 1319 016443 1320 016444 1321 016451 1323 016503 1324 016507 1325 016511 1326 016513 1327 016514 1328 016520 1329 016522 1330 016523 1331 016533 1332 016535 1333 016545 1334 016547 1335 016550 1336 016554 1337 016556 1338 016557 1339 016560 1340 016564 1341 016566 1342 016567 1343 016570 1344 016574 1345 016576 1346 016577 1347 016600 1348 016604 1349 016606 1350 016607 1351 016610 1352 016614 1353 016615 1354 016616 1355 016626 1356 016630 1357 016631 1358 016635 1359 016637 1360 016640 1361 016644 1362 016646 1363 016647 1364 016700 1366 016702 1368 016721 1376 017020 1378 017034 1379 017036 1380 017042 1381 017043 1383 017045 1385 017053 1386 017055 1387 017061 1389 017071 1390 017104 1391 017106 1392 017110 1393 017131 1394 017170 1395 017172 1398 017176 1400 017222 1401 017225 1403 017234 1404 017236 1405 017242 1406 017245 1407 017247 1408 017252 1410 017254 1411 017310 1412 017327 1413 017334 1414 017336 1415 017341 1417 017342 1418 017351 1419 017353 1422 017354 1425 017414 1428 017416 1430 017436 1431 017441 1432 017477 1433 017501 1434 017522 1436 017523 1437 017527 1441 017532 1442 017541 1445 017622 1446 017626 1447 017630 1448 017654 1449 017673 1451 017674 1452 017676 1453 017713 1454 017734 1455 017751 1456 017752 1458 017767 1463 017770 1464 017772 1466 017774 1467 017776 1468 020022 1469 020041 1471 020042 1472 020044 1473 020061 1474 020102 1475 020117 1476 020120 1479 020135 1481 020152 1483 020175 1486 020176 1489 020206 1490 020207 1492 020241 1494 020242 1495 020245 1496 020247 1497 020266 1498 020275 1499 020276 1500 020277 1503 020300 1505 020302 1506 020304 1509 020343 1510 020346 1511 020357 1512 020370 1513 020407 1514 020416 1515 020425 1518 020426 1519 020430 1520 020435 1521 020440 1522 020451 1523 020452 1524 020465 1525 020476 1526 020505 1527 020510 1528 020512 1529 020531 1531 020540 1532 020542 1533 020551 1534 020607 1537 020610 1538 020612 1539 020615 1540 020626 1541 020627 1542 020641 1543 020652 1544 020663 1545 020665 1546 020704 1548 020713 1549 020715 1550 020724 1553 020762 1559 020763 1569 020773 1570 020774 1571 021031 1572 021033 1573 021047 1574 021064 1575 021065 1576 021067 1577 021073 1578 021076 1579 021102 1580 021107 1581 021111 1582 021112 1584 021115 1585 021117 1586 021120 1587 021126 1588 021134 1589 021142 1590 021145 1591 021147 1592 021173 1593 021221 1595 021252 1596 021256 1597 021261 1603 021262 1604 021264 1605 021270 1607 021300 1608 021313 1609 021315 1611 021317 1612 021336 1613 021355 1614 021363 1615 021364 1616 021366 1618 021371 1619 021401 1620 021416 1621 021424 1623 021456 1624 021466 1625 021471 1626 021475 1627 021477 1628 021500 1629 021525 1631 021526 1632 021532 1633 021534 1634 021535 1636 021536 1637 021542 1639 021574 1640 021576 1641 021577 1643 021600 1644 021613 1645 021626 1646 021645 1647 021664 1648 021677 1649 021716 1650 021732 1651 021745 1652 021760 1653 021773 1654 022003 1655 022005 1656 022006 1657 022007 1658 022017 1659 022021 1660 022022 1662 022023 1663 022030 1664 022041 1665 022044 1668 022075 1670 022077 1675 022204 1676 022206 1677 022215 1678 022223 1679 022231 1680 022232 1681 022234 1683 022265 1686 022311 1687 022325 1688 022327 1689 022353 1690 022401 1692 022432 1693 022436 1696 022441 1697 022447 1698 022450 1701 022451 1702 022454 1703 022476 1704 022500 1705 022502 1706 022505 1708 022506 1711 022522 1713 022526 1714 022530 1715 022534 1716 022537 1718 022541 1720 022575 1728 022625 1734 022724 1736 022726 1738 022743 1740 022766 1742 022767 1745 022777 1746 023000 1748 023035 1750 023064 1751 023070 1752 023071 1753 023073 1754 023107 1755 023124 1757 023125 1758 023126 1759 023133 1763 023135 1764 023153 1765 023200 1766 023202 1768 023251 1769 023304 1772 023340 1773 023343 1774 023362 1775 023407 1776 023411 1778 023460 1779 023513 1781 023547 1782 023550 1784 023552 1787 023610 1790 023645 1793 023654 1795 023664 1796 023706 1798 023713 1799 023716 1800 023732 1803 023767 1804 023775 1807 023777 1808 024000 1809 024002 1810 024011 1814 024110 1815 024126 1816 024130 1820 024260 1822 024306 1823 024311 1825 024313 1828 024330 1831 024373 1833 024374 1839 024404 1840 024405 1842 024437 1843 024441 1844 024446 1845 024452 1846 024454 1848 024456 1849 024460 1850 024463 1853 024464 1854 024473 1856 024510 1857 024515 1858 024517 1859 024520 1860 024524 1861 024526 1862 024527 1863 024534 1864 024541 1865 024543 1866 024544 1867 024550 1868 024557 1869 024561 1870 024562 1871 024575 1873 024610 1875 024643 1877 024645 1880 024711 1883 024747 1884 024752 1885 024777 1886 025001 1888 025034 1889 025035 1890 025040 1891 025043 1892 025052 1893 025053 1896 025106 1897 025113 1899 025114 1900 025117 1903 025121 1904 025123 1905 025125 1906 025137 1907 025152 1908 025155 1909 025200 1913 025201 1914 025203 1915 025210 1916 025213 1917 025224 1918 025225 1919 025237 1920 025250 1921 025257 1922 025262 1923 025264 1925 025266 1926 025270 1927 025277 1930 025335 1932 025336 1933 025357 1934 025361 1935 025367 1938 025434 1940 025435 1946 025436 1947 025443 1948 025445 1949 025447 1952 025451 1953 025470 1954 025514 1955 025531 1956 025540 1957 025561 1958 025563 1959 025614 1960 025616 1961 025642 1962 025644 1963 025670 1966 025676 1967 025702 1969 025705 1970 025707 1972 025740 1975 025765 1977 025766 1980 025770 1981 025773 1982 025776 1983 026005 1984 026010 1985 026012 1986 026023 1988 026044 1990 026120 1991 026154 1992 026175 1995 026230 1997 026322 1999 026353 2001 026354 2009 026356 2010 026401 2011 026403 2014 026436 2015 026441 2016 026443 2018 026444 2019 026446 2020 026475 2022 026532 2025 026533 2026 026561 2029 026616 2031 026617 2039 026621 2040 026623 2041 026627 2042 026631 2044 026646 2049 026654 2059 026656 2060 026657 2061 026660 2062 026664 2063 026703 2064 026705 2067 026717 2068 026741 2069 026744 2070 026765 2071 026767 2072 026777 2073 027006 2076 027007 2080 027010 2084 027011 2085 027013 2086 027016 2087 027022 2090 027023 2091 027024 2092 027033 2093 027050 2095 027055 2097 027064 2100 027065 2101 027112 2103 027147 2105 027160 2108 027213 2109 027215 2111 027220 2117 027221 2121 027222 2122 027225 2123 027231 2126 027232 2127 027233 2128 027243 2129 027260 2130 027267 2132 027276 2134 027277 2135 027301 2136 027327 2137 027365 2138 027372 2139 027373 2140 027405 2141 027416 2142 027426 2143 027430 2145 027433 2151 027434 2155 027435 2156 027440 2157 027450 2158 027454 2161 027455 2162 027456 2163 027465 2164 027502 2165 027507 2166 027512 2167 027522 2169 027526 2171 027527 2172 027534 2173 027544 2174 027550 2176 027551 2177 027554 2178 027571 2180 027611 2181 027624 2183 027647 2184 027701 2185 027702 2186 027705 2187 027722 2188 027736 2190 027755 2192 027774 2193 030026 2194 030027 2196 030061 2198 030063 2200 030065 2204 030066 2214 030070 2215 030072 2216 030100 2218 030117 2219 030122 2220 030134 2221 030156 2222 030167 2224 030170 2226 030212 2228 030213 2229 030215 2230 030220 2234 030221 2235 030224 2238 030225 2239 030231 2240 030246 2242 030252 2246 030253 2254 030264 2255 030270 2256 030331 2259 030332 2260 030333 2262 030351 2264 030352 2269 030354 2271 030355 2272 030373 2273 030377 2274 030404 2276 030443 2279 030444 2280 030454 2281 030457 2283 030517 2286 030520 2289 030521 2291 030524 2292 030535 2293 030540 2295 030600 2300 030601 2301 030604 2303 030627 2306 030652 2308 030653 2315 030655 2316 030656 2317 030662 2318 030701 2319 030703 2322 030715 2323 030737 2324 030742 2325 030751 2327 030752 2329 030753 2333 030754 2334 030755 2335 030760 2336 030771 2337 031001 2338 031012 2339 031021 2340 031026 2341 031030 2342 031031 2343 031033 2344 031052 2347 031061 2348 031063 2349 031065 2350 031072 2352 031121 2353 031124 2355 031133 2357 031134 2359 031135 2360 031137 2361 031175 2362 031201 2363 031204 2364 031220 2366 031221 2367 031223 2368 031257 2369 031263 2370 031266 2371 031302 2373 031303 2374 031305 2375 031343 2376 031347 2377 031352 2378 031366 2382 031367 2383 031371 2384 031427 2385 031433 2386 031436 2387 031452 2389 031453 2390 031455 2391 031511 2392 031515 2393 031520 2394 031534 2396 031535 2397 031537 2398 031575 2399 031601 2400 031604 2401 031620 2404 031621 2406 031622 2410 031623 2411 031627 2413 031672 2414 031677 2415 031703 2416 031771 2419 032021 2420 032023 2423 032052 2425 032053 2427 032054 2428 032063 2429 032065 2430 032070 2431 032102 2433 032112 2434 032114 2437 032126 2438 032135 2440 032152 2441 032157 2442 032161 2443 032162 2444 032170 2445 032172 2446 032173 2447 032204 2448 032220 2449 032221 2450 032231 2451 032233 2452 032234 2453 032244 2454 032246 2455 032247 2456 032257 2457 032263 2458 032264 2459 032274 2460 032300 2461 032301 2462 032311 2463 032315 2464 032316 2465 032322 2466 032326 2467 032327 2468 032337 2469 032343 2470 032344 2471 032350 2472 032354 2474 032355 2476 032410 2478 032412 2481 032452 2483 032457 2484 032461 2487 032474 2489 032475 2492 032476 2493 032502 2494 032505 2495 032507 2496 032526 2498 032544 2500 032545 2508 032553 2509 032554 2510 032570 2513 032573 2514 032600 2517 032612 2520 032613 2525 032621 2528 032623 2532 032636 2541 032640 2542 032643 2543 032651 2544 032664 2546 032666 2549 032674 2555 032705 2556 032717 2558 032743 2559 032764 2561 032765 2563 033001 ----------------------------------------------------------- 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