COMPILATION LISTING OF SEGMENT azm_pds_trace_ Compiled by: Multics PL/I Compiler, Release 28d, of October 4, 1983 Compiled at: Honeywell Multics Op. - System M Compiled on: 11/19/84 1131.5 mst Mon Options: optimize map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1983 * 4* * * 5* *********************************************************** */ 6 azm_pds_trace_: proc (P_sci_ptr, P_azm_info_ptr); 7 8 /* format: style4,delnl,insnl,ifthenstmt,indnoniterend,ifthendo,ifthen,^thendo */ 9 10 dcl ( 11 P_sci_ptr pointer, 12 P_azm_info_ptr pointer 13 ) parameter; 14 15 dcl sci_ptr pointer; 16 17 dcl amu_$do_translation entry (ptr, fixed bin, ptr, fixed bin (18), fixed bin (18), fixed bin (35)), 18 amu_$definition_ptr entry (ptr, char (*), char (*), fixed bin (35)) returns (ptr), 19 amu_$get_name_no_comp entry (ptr, ptr) returns (char (*)), 20 amu_$get_name entry (ptr, ptr) returns (char (*)), 21 ssu_$abort_line entry () options (variable), 22 ( 23 ioa_, 24 ioa_$nnl 25 ) entry () options (variable), 26 error_table_$noarg fixed bin (35) ext static, 27 error_table_$bad_arg fixed bin(35) ext static, 28 cv_dec_check_ entry (char (*), fixed bin (35)) returns (fixed bin (35)), 29 ssu_$arg_count entry (pointer, fixed bin, bit (1) aligned), 30 ssu_$arg_ptr entry (pointer, fixed bin, pointer, fixed bin (21)), 31 ssu_$get_temp_segment entry (ptr, char(*), ptr), 32 ssu_$release_temp_segment entry (ptr, ptr); 33 34 dcl al fixed bin (21), 35 arg char (al) based (ap), 36 ap ptr, 37 (argno, nargs) fixed bin, 38 code fixed bin (35); 39 dcl af_sw bit (1) aligned; 40 dcl (number, entry_number, index) fixed bin; 41 dcl (by_ptr, ref_ptr, temp_link_ptr, trace_buf_ptr) ptr; 42 dcl cond_type char (4) based (trace_ptr); 43 dcl 1 trace_buf like trace based (trace_buf_ptr); 44 dcl link_ptr ptr unal based (trace_ptr); 45 46 dcl entry_type (0:12) char (20) 47 init ("page_fault_type", "illegal entry type", "seg fault start", "seg fault end", "linkage fault start", 48 "linkage fault end", "boundfault start", "boundfault end", "signaller type", "restart fault type", 49 "reschedule type", "marker type", "interrupt type") static options (constant); 50 51 dcl (addr, baseno, baseptr, bin, 52 binary, fixed, null, pointer, rel, 53 rtrim, size, substr, unspec) builtin; 54 55 dcl cleanup condition; 56 57 58 59 sci_ptr = P_sci_ptr; 60 azm_info_ptr = P_azm_info_ptr; 61 amu_info_ptr = azm_info.aip; 62 trace_buf_ptr = null(); 63 on condition(cleanup) begin; 64 if trace_buf_ptr ^= null() then call ssu_$release_temp_segment(sci_ptr, trace_buf_ptr); 65 end; 66 67 call ssu_$arg_count (sci_ptr, nargs, af_sw); 68 if nargs = 0 then number = 15; 69 do argno = 1 to nargs; 70 call ssu_$arg_ptr (sci_ptr, argno, ap, al); 71 if arg = "-all" | arg = "-a" then number = 0; 72 else if arg = "-lt" | arg = "-last" then do; 73 if argno + 1 > nargs then call ssu_$abort_line (sci_ptr, error_table_$noarg, "Number expected after ^a", arg); 74 argno = argno + 1; 75 call ssu_$arg_ptr (sci_ptr, argno, ap, al); 76 number = cv_dec_check_ (arg, code); 77 if code ^= 0 then call ssu_$abort_line (sci_ptr, code, " ""^a"" is not decimal.", arg); 78 end; 79 else /* unrecognized arg */ 80 call ssu_$abort_line (sci_ptr, error_table_$bad_arg, ""); 81 end; 82 83 call ssu_$get_temp_segment (sci_ptr, "azm-pgt", trace_buf_ptr); 84 85 call get_page_trace_azm (trace_buf_ptr); 86 87 if number = 0 then number = trace_buf.last_available; 88 call select_entry; 89 call ssu_$release_temp_segment (sci_ptr, trace_buf_ptr); 90 return; 91 92 select_entry: 93 proc; 94 95 entry_number = 0; 96 do index = (trace_buf.next_free - 1) by -1 to 1 while (number > 0), 97 trace_buf.last_available - 1 by -1 to trace_buf.next_free while (number > 0); 98 99 trace_ptr = addr (trace_buf.data (index)); 100 101 call print_entry; 102 103 number = number - 1; 104 end; 105 end select_entry; 106 107 print_entry: 108 proc; 109 dcl e_type fixed bin; 110 dcl seg_n fixed bin; 111 dcl path char (168); 112 dcl page_n fixed bin; 113 entry_number = entry_number + 1; 114 e_type = fixed (page_trace_entry.type, 6); 115 call ioa_$nnl ("^d^2x", entry_number); 116 if e_type = 0 then do; 117 seg_n = binary (page_trace_entry.segment_number, 15); 118 page_n = binary (page_trace_entry.page_number, 12); 119 path = amu_$get_name_no_comp (amu_info_ptr, baseptr (seg_n)); 120 call ioa_ ("^20a^x^5o^x^4o^5x^1o^2x^a", entry_type (e_type), seg_n, page_n, 121 binary (page_trace_entry.ring, 3), path); 122 return; 123 end; 124 125 if e_type = 8 | e_type = 11 then do; 126 call ioa_ ("^20a^5x^4a", entry_type (e_type), cond_type); 127 return; 128 end; 129 130 if e_type = 9 | e_type = 10 then do; 131 call ioa_ ("^20a", entry_type (e_type)); 132 return; 133 end; 134 135 if e_type = 2 | e_type = 3 | e_type = 6 | e_type = 7 then do; 136 seg_n = binary (page_trace_entry.segment_number, 15); 137 138 path = amu_$get_name_no_comp (amu_info_ptr, baseptr (seg_n)); 139 call ioa_ ("^20a^26tsegno^5o^2x^a", entry_type (e_type), seg_n, path); 140 return; 141 end; 142 if e_type = 5 then do; 143 if page_trace_entry.pad = "0"b then do; 144 call ioa_ ("link_make_end"); 145 return; 146 end; 147 else do; 148 temp_link_ptr = link_ptr; 149 path = amu_$get_name (amu_info_ptr, temp_link_ptr); 150 call ioa_ ("^20a^x^12p^2x^a", entry_type (e_type), temp_link_ptr, path); 151 return; 152 end; 153 end; 154 if e_type = 15 then do; 155 by_ptr = 156 pointer (baseptr (bin (extended_page_trace_entry.psr_segno, 12)), 157 fixed (extended_page_trace_entry.psr_offset, 18)); 158 call ioa_ ("page_fault by^18t^12p^2x^a", by_ptr, rtrim (amu_$get_name (amu_info_ptr, by_ptr))); 159 ref_ptr = 160 baseptr (bin (extended_page_trace_entry.tsr_segno_1 || extended_page_trace_entry.tsr_segno_2, 12)); 161 162 163 call ioa_ ("^6xreferencing ^4o page ^o^32t^a", baseno (ref_ptr), extended_page_trace_entry.tsr_pageno, 164 rtrim (amu_$get_name_no_comp (amu_info_ptr, ref_ptr))); 165 return; 166 end; 167 168 169 if e_type = 4 then do; 170 if page_trace_entry.pad = "0"b then do; 171 call ioa_ ("link_make_start"); 172 return; 173 end; 174 else do; 175 temp_link_ptr = link_ptr; 176 path = amu_$get_name (amu_info_ptr, temp_link_ptr); 177 call ioa_ ("^20a^x^12p^2x^a", entry_type (e_type), temp_link_ptr, path); 178 return; 179 end; 180 end; 181 182 call ioa_$nnl ("^20a ^12.3b ^12.3b", entry_type (e_type), substr (unspec (page_trace_entry), 1, 36), 183 substr (unspec (page_trace_entry), 37, 36)); 184 call ioa_ (" "); 185 186 187 end print_entry; 188 189 get_page_trace_azm: 190 proc (a_dp); 191 192 dcl a_dp ptr; 193 dcl seg fixed bin; 194 dcl (word, number) fixed bin (18); 195 dcl temp_ptr ptr; 196 dcl code fixed bin (35); 197 dcl data_buf_ptr ptr; 198 199 temp_ptr = amu_$definition_ptr (amu_info_ptr, "pds", "trace", code); 200 if code ^= 0 then call ssu_$abort_line (sci_ptr, code, "page_trace."); 201 202 seg = fixed (baseno (temp_ptr), 17); 203 word = fixed (rel (temp_ptr), 18); 204 number = size (trace_buf); 205 data_buf_ptr = a_dp; 206 call amu_$do_translation (amu_info_ptr, seg, data_buf_ptr, word, number, code); 207 if code ^= 0 then call ssu_$abort_line (sci_ptr, code, "page_trace."); 208 209 return; 210 211 end get_page_trace_azm; 212 1 1 /* BEGIN INCLUDE FILE ... bos_dump.incl.pl1 ... */ 1 2 /* Modified 1 September 1976 */ 1 3 /* Modified 11/11/80 by J. A. Bush for the DPS8/70M CPU */ 1 4 /* Modified 6/12/81 by Rich Coppola to extend the dps8 extended fault reg to 1 5* 15 bits */ 1 6 /* Modified 02/23/81, W. Olin Sibert, to describe old and new FDUMP styles */ 1 7 1 8 1 9 dcl dumpptr ptr; /* pointer to following structure */ 1 10 1 11 dcl 1 dump based (dumpptr) aligned, /* header of dump by fdump */ 1 12 2 dump_header aligned like dump_header, 1 13 1 14 2 segs (1008), /* segment array */ 1 15 3 segno bit (18) unal, /* segment number */ 1 16 3 length bit (18) unal, /* length of segment in sector sized blocks */ 1 17 1 18 2 amptwregs (0 : 63) bit (36), /* assoc. mem. page table word regs */ 1 19 2 amptwptrs (0 : 63) bit (36), /* assoc. mem. page table word pointers */ 1 20 2 amsdwregs (0 : 63) bit (72), /* assoc. mem. segment descriptor word registers */ 1 21 2 amsdwptrs (0 : 63) bit (36), /* assoc. mem. segment descriptor word pointers */ 1 22 1 23 2 ouhist (0 : 63) bit (72), /* operations unit history registers */ 1 24 2 cuhist (0 : 63) bit (72), /* control unit history registers */ 1 25 2 duhist (0 : 63) bit (72), /* decimal unit history registers */ 1 26 2 auhist (0 : 63) bit (72), /* appending unit history registers */ 1 27 1 28 2 prs (0 : 7) ptr, /* pointer registers */ 1 29 1 30 2 regs aligned like dump_registers, /* assorted machine registers */ 1 31 1 32 2 low_order_port bit (3), /* from which clock is read */ 1 33 2 pad4 bit (36), 1 34 2 mctime fixed bin (52), /* time conditions were taken */ 1 35 2 pad5 (0 : 3) bit (36), 1 36 1 37 2 misc_registers like dump_misc_registers, /* Assorted registers & processor data */ 1 38 1 39 2 ptrlen (0 : 7) bit (36), /* pointers and lengths for EIS */ 1 40 1 41 2 coreblocks (0 : 7), 1 42 3 num_first bit (18) unal, /* first addr in coreblock */ 1 43 3 num_blocks bit (18) unal, /* number of blocks used */ 1 44 2 pad7 (112) fixed bin; 1 45 1 46 1 47 dcl 1 dump_header aligned based, /* Standard header for FDUMP */ 1 48 2 words_dumped fixed bin (35), /* total words in dump */ 1 49 2 valid bit (1), /* = 1 if there is a 6180 dump to be had */ 1 50 2 time fixed bin (71), /* time of dump */ 1 51 2 erfno fixed bin (18), /* Error Report Form Number */ 1 52 2 num_segs fixed bin, /* number of segments dumped */ 1 53 2 valid_355 bit (1), /* = 1 if there is a dn355 dump to be had */ 1 54 2 dumped_355s bit (4), /* indicates which 355s were dumped */ 1 55 2 time_355 fixed bin (71), /* time of 355 dump */ 1 56 2 version fixed bin, /* currently 2 */ 1 57 2 pad0 (5) fixed bin; /* pad0 to 16 words */ 1 58 1 59 dcl 1 dump_registers aligned based, /* Standard (SREG) arrangement of registers in dump */ 1 60 (2 x (0 : 7) bit (18), /* index registers */ 1 61 2 a bit (36), /* the a register */ 1 62 2 q bit (36), /* the q register */ 1 63 2 e bit (8), /* the e register */ 1 64 2 pad2 bit (28), /* pad */ 1 65 2 t bit (27), /* timer register */ 1 66 2 pad3 bit (6), /* pad */ 1 67 2 ralr bit (3)) unaligned; /* ring alarm register */ 1 68 1 69 dcl 1 dump_misc_registers aligned based, 1 70 2 scu (0 : 7) bit (36), /* from store control unit instr. */ 1 71 2 mcm (0 : 7) bit (72), /* memory controller masks every 64 K */ 1 72 2 dbr bit (72), /* descriptor segment base register */ 1 73 2 intrpts bit (36), /* interrupts */ 1 74 2 bar bit (36), /* base address register */ 1 75 2 modereg bit (36), /* mode register */ 1 76 2 cmodereg bit (36), /* cache mode register */ 1 77 2 faultreg bit (36), /* fault register */ 1 78 2 ext_fault_reg bit (15) unaligned, /* DPS8 extended fault register */ 1 79 2 pad6 bit (21) unaligned; 1 80 1 81 1 82 1 83 dcl 1 v1_dump aligned based (dumpptr), /* Old version of FDUMP (pre March, 1981) */ 1 84 2 dump_header aligned like dump_header, 1 85 1 86 2 segs (688), /* segment array */ 1 87 3 segno bit (18) unal, /* segment number */ 1 88 3 length bit (18) unal, /* length of segment in sector sized blocks */ 1 89 1 90 2 amsdwregs (0 : 15) bit (72), /* assoc. mem. segment descriptor word registers */ 1 91 2 amsdwptrs (0 : 15) bit (36), /* assoc. mem. segment descriptor word pointers */ 1 92 2 amptwregs (0 : 15) bit (36), /* assoc. mem. page table word regs */ 1 93 2 amptwptrs (0 : 15) bit (36), /* assoc. mem. page table word pointers */ 1 94 2 pad1 (0 : 15) bit (36), 1 95 1 96 2 ouhist (0 : 15) bit (72), /* operations unit history registers */ 1 97 2 cuhist (0 : 15) bit (72), /* control unit history registers */ 1 98 2 auhist (0 : 15) bit (72), /* appending unit history registers */ 1 99 2 duhist (0 : 15) bit (72), /* decimal unit history registers */ 1 100 1 101 2 prs (0 : 7) ptr, /* pointer registers */ 1 102 1 103 2 regs aligned like dump_registers, /* assorted machine registers */ 1 104 1 105 2 mctime fixed bin (52), /* time conditions were taken */ 1 106 2 pad4 (0 : 5) bit (36), 1 107 1 108 2 misc_registers aligned like dump_misc_registers, /* Assorted registers */ 1 109 1 110 2 pad5 bit (36), 1 111 2 ptrlen (0 : 7) bit (36), /* pointers and lengths for EIS */ 1 112 2 pad6 (15) bit (36), 1 113 2 low_order_port bit (3), /* from which clock was read */ 1 114 1 115 2 coreblocks (0 : 7), 1 116 3 num_first bit (18) unal, /* first addr in coreblock */ 1 117 3 num_blocks bit (18) unal; /* number of blocks used */ 1 118 1 119 1 120 dcl DUMP_VERSION_1 fixed bin internal static options (constant) init (1); 1 121 dcl DUMP_VERSION_2 fixed bin internal static options (constant) init (2); 1 122 1 123 /* END INCLUDE FILE ... bos_dump.incl.pl1 ... */ 213 214 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 */ 215 216 3 1 /* BEGIN INCLUDE FILE amu_info.incl.pl1 */ 3 2 3 3 dcl 1 amu_info aligned based (amu_info_ptr), 3 4 2 version char (8) aligned, /* AMU_INFO_VERSION */ 3 5 2 flags aligned, 3 6 3 early_dump bit(1) unal, 3 7 3 pad bit(35) unal, 3 8 2 type fixed bin unal, /* One of the types below */ 3 9 2 time_created fixed bin (71) aligned, /* time created -- for debugging purposes */ 3 10 2 chain, /* a chain of all the amu_info's which exist */ 3 11 3 prev pointer unaligned, 3 12 3 next pointer unaligned, 3 13 3 14 2 area_ptr pointer, /* pointer to area used for allocating things */ 3 15 3 16 2 translation_table_ptr pointer, /* pointer to address map -- always present */ 3 17 /* SEE: amu_translation.incl.pl1 */ 3 18 2 fdump_info_ptr pointer, 3 19 /* pointer to FDUMP info, present if looking at an FDUMP */ 3 20 /* SEE: amu_fdump_info.incl.pl1 */ 3 21 /* old_uid_table pointer if looking at a SAVED PROC. */ 3 22 /* See: amu_old_uid_table */ 3 23 3 24 3 25 2 hardcore_info_ptr pointer, /* pointer to hardcore information -- always present */ 3 26 /* SEE: amu_hardcore_info.incl.pl1 */ 3 27 2 copy_chain pointer, /* pointer to info about segment copies */ 3 28 /* SEE: amu_copy_info.incl.pl1 */ 3 29 2 process_info_ptr pointer, /* pointer to process info for this translation */ 3 30 /* SEE: amu_process_info.incl.pl1 */ 3 31 2 process_idx fixed bin, /* index of process in translation-specifc process table */ 3 32 3 33 2 proc_idx_hold fixed bin, /* a place to keep the index when a changing to another proc */ 3 34 3 35 2 error_info, /* various info about how amu_error_ is to behave */ 3 36 3 error_flags aligned, 3 37 4 handler_exists bit (1) unaligned, /* set to indicate existence of an amu_error handler */ 3 38 4 in_subsystem bit (1) unaligned, /* This amu_info belongs to an ssu_ maintained subsystem */ 3 39 4 pad bit (34) unaligned, 3 40 3 sci_ptr pointer, /* sci_ptr for subsystem, if in_subsystem = "1"b */ 3 41 2 definitions_info_ptr ptr; 3 42 3 43 dcl amu_area area based (amu_info.area_ptr); 3 44 3 45 dcl amu_info_ptr pointer; 3 46 3 47 dcl (FDUMP_TYPE init (1037), /* the various legitimate types of amu_info's */ 3 48 FDUMP_PROCESS_TYPE init (1038), 3 49 ONLINE_TYPE init (1039), 3 50 ONLINE_PROCESS_TYPE init (1040), 3 51 NETWORK_FDUMP_TYPE init (1041), 3 52 NETWORK_ONLINE_TYPE init (1042), 3 53 SAVED_PROC_TYPE init (1043), 3 54 INDIRECT_TYPE init (1044)) fixed bin internal static options (constant); 3 55 3 56 dcl AMU_INFO_VERSION_1 char (8) internal static options (constant) init ("amu_v1"); 3 57 dcl AMU_INFO_VERSION char (8) internal static options (constant) init ("amu_v1"); 3 58 dcl AMU_INFO_VERSION_2 char (8) internal static options (constant) init ("amu_v2"); 3 59 3 60 dcl PDIR_SUFFIX char(4) init("pdir") int static options(constant); 3 61 3 62 /* END INCLUDE FILE amu_info.incl.pl1 */ 217 218 4 1 /* BEGIN INCLUDE FILE azm_info.incl.pl1 */ 4 2 4 3 dcl 1 azm_info aligned based (azm_info_ptr), 4 4 2 version char(8), 4 5 2 area_ptr ptr, /* area pointer for azm to use when needed */ 4 6 2 aip pointer, /* pointer for all amu_ calls */ 4 7 2 flags aligned, 4 8 3 in_erf bit (1) unaligned, /* examining an FDUMP */ 4 9 3 in_process bit (1) unaligned, /* some specific process selected in FDUMP */ 4 10 3 online bit (1) unaligned, /* examining online system, my process */ 4 11 3 saved_proc bit (1) unaligned, /* examining "deadproc" */ 4 12 3 pad bit (33) unaligned, 4 13 4 14 2 erf_name char (168), /* name of ERF or deadproc path */ 4 15 2 pad fixed bin; 4 16 4 17 dcl azm_info_ptr pointer; 4 18 4 19 dcl AZM_INFO_VERSION_1 char (8) internal static options (constant) init ("azm_v1"); 4 20 dcl AZM_INFO_VERSION_2 char (8) internal static options (constant) init ("azm_v2"); 4 21 4 22 /* END INCLUDE FILE azm_info.incl.pl1 */ 219 220 5 1 /* BEGIN INCLUDE FILE sys_trace.incl.pl1 -- Last modified Jan. 1982 */ 5 2 /* Modified for new pgt_ signal technology, Benson Margulies, 83-12 */ 5 3 /* format: style3 */ 5 4 5 5 declare trace_ptr ptr; 5 6 5 7 declare 1 trace based (trace_ptr) aligned, /* system trace data structure */ 5 8 2 next_free fixed bin (17) uns unal, /* index to next free trace entry */ 5 9 2 pad1 bit (19) unal, 5 10 2 last_available fixed bin (17) uns unal, /* index to first unusable entry in list */ 5 11 2 pad2 bit (19) unal, 5 12 2 ttime fixed bin (71), /* time used to figure incremental times */ 5 13 2 temp bit (36), /* temporary used by page$enter_data */ 5 14 2 index bit (17), /* index to end of post purge list */ 5 15 2 threshold fixed bin (17) unsigned unaligned, 5 16 2 pad3 bit (1) unaligned, /* to halfword */ 5 17 2 flags unaligned, 5 18 3 send_ips bit (1) unaligned, /* send pgt_ when index reached threshold */ 5 19 3 pad bit (17) unaligned, 5 20 2 pad4 bit (36) aligned, 5 21 2 data (1024), /* trace data entry structure */ 5 22 3 data_word char (4), /* per-type data word */ 5 23 3 type fixed bin (6) uns unaligned, /* type of trace entry */ 5 24 3 pad bit (14) unaligned, 5 25 3 dtime fixed bin (16) uns unaligned; /* time increment since last trace entry (in 64 micsec) */ 5 26 5 27 declare 1 page_trace_entry based (trace_ptr) aligned, /* entry for page fault data */ 5 28 2 pad bit (18) unaligned, 5 29 2 ring fixed bin (3) uns unaligned, /* ring number fault occured in */ 5 30 2 segment_number fixed bin (15) uns unaligned, /* segment number of segment getting page fault */ 5 31 2 type fixed bin (6) uns unaligned, /* MBZ for page faults */ 5 32 2 page_number fixed bin (12) uns unaligned, /* page number which caused fault */ 5 33 2 pad1 bit (2) unal, 5 34 2 time fixed bin (16) uns unaligned; /* time increment since last trace entry (res = 64 micro-secs) */ 5 35 5 36 declare 1 extended_page_trace_entry 5 37 based (trace_ptr) aligned, /* page fault data with more info */ 5 38 2 psr_segno fixed bin (12) uns unaligned, /* segment number of proc faulting */ 5 39 2 psr_offset fixed bin (18) uns unaligned, /* IC of proc faulting */ 5 40 2 tsr_segno_1 bit (6) unaligned, /* 1st 6 bits of segment number faulted */ 5 41 2 type fixed bin (6) uns unaligned, /* 15 decimal */ 5 42 2 tsr_segno_2 bit (6) unaligned, /* last 6 bits of segment number faulted */ 5 43 2 tsr_pageno fixed bin (8) uns unaligned, /* page number faulted */ 5 44 2 time fixed bin (16) uns unaligned; /* time increment since last trace entry (res = 64 micro-secs) */ 5 45 5 46 5 47 /* END INCLUDE FILE sys_trace.incl.pl1 */ 221 222 223 224 225 end azm_pds_trace_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 11/15/84 1440.2 azm_pds_trace_.pl1 >special_ldd>online>6897-11/15/84>azm_pds_trace_.pl1 213 1 08/12/81 2025.8 bos_dump.incl.pl1 >ldd>include>bos_dump.incl.pl1 215 2 09/22/83 1102.5 amu_fdump_info.incl.pl1 >ldd>include>amu_fdump_info.incl.pl1 217 3 11/15/84 1524.3 amu_info.incl.pl1 >special_ldd>online>6897-11/15/84>amu_info.incl.pl1 219 4 11/15/84 1437.4 azm_info.incl.pl1 >special_ldd>online>6897-11/15/84>azm_info.incl.pl1 221 5 07/11/84 0937.3 sys_trace.incl.pl1 >ldd>include>sys_trace.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. P_azm_info_ptr parameter pointer dcl 10 ref 6 60 P_sci_ptr parameter pointer dcl 10 ref 6 59 a_dp parameter pointer dcl 192 ref 189 205 addr builtin function dcl 51 ref 99 af_sw 000111 automatic bit(1) dcl 39 set ref 67* aip 4 based pointer level 2 dcl 4-3 ref 61 al 000102 automatic fixed bin(21,0) dcl 34 set ref 70* 71 71 72 72 73 73 75* 76 76 77 77 amu_$definition_ptr 000012 constant entry external dcl 17 ref 199 amu_$do_translation 000010 constant entry external dcl 17 ref 206 amu_$get_name 000016 constant entry external dcl 17 ref 149 158 158 176 amu_$get_name_no_comp 000014 constant entry external dcl 17 ref 119 138 163 163 amu_info_ptr 000134 automatic pointer dcl 3-45 set ref 61* 119* 138* 149* 158* 158* 163* 163* 176* 199* 206* ap 000104 automatic pointer dcl 34 set ref 70* 71 71 72 72 73 75* 76 77 arg based char unaligned dcl 34 set ref 71 71 72 72 73* 76* 77* argno 000106 automatic fixed bin(17,0) dcl 34 set ref 69* 70* 73 74* 74 75* azm_info based structure level 1 dcl 4-3 azm_info_ptr 000136 automatic pointer dcl 4-17 set ref 60* 61 baseno builtin function dcl 51 ref 163 163 202 baseptr builtin function dcl 51 ref 119 119 138 138 155 159 bin builtin function dcl 51 ref 155 159 binary builtin function dcl 51 ref 117 118 120 120 136 by_ptr 000116 automatic pointer dcl 41 set ref 155* 158* 158* 158* cleanup 000126 stack reference condition dcl 55 ref 63 code 000110 automatic fixed bin(35,0) dcl 34 in procedure "azm_pds_trace_" set ref 76* 77 77* code 000276 automatic fixed bin(35,0) dcl 196 in procedure "get_page_trace_azm" set ref 199* 200 200* 206* 207 207* cond_type based char(4) unaligned dcl 42 set ref 126* cv_dec_check_ 000032 constant entry external dcl 17 ref 76 data 10 based structure array level 2 packed unaligned dcl 43 set ref 99 data_buf_ptr 000300 automatic pointer dcl 197 set ref 205* 206* dump_header based structure level 1 dcl 1-47 dump_misc_registers based structure level 1 dcl 1-69 dump_registers based structure level 1 dcl 1-59 e_type 000204 automatic fixed bin(17,0) dcl 109 set ref 114* 116 120 125 125 126 130 130 131 135 135 135 135 139 142 150 154 169 177 182 entry_number 000113 automatic fixed bin(17,0) dcl 40 set ref 95* 113* 113 115* entry_type 000000 constant char(20) initial array unaligned dcl 46 set ref 120* 126* 131* 139* 150* 177* 182* error_table_$bad_arg 000030 external static fixed bin(35,0) dcl 17 set ref 79* error_table_$noarg 000026 external static fixed bin(35,0) dcl 17 set ref 73* extended_page_trace_entry based structure level 1 dcl 5-36 fixed builtin function dcl 51 ref 114 155 202 203 fp_table based structure level 1 unaligned dcl 2-28 index 000114 automatic fixed bin(17,0) dcl 40 set ref 96* 99* ioa_ 000022 constant entry external dcl 17 ref 120 126 131 139 144 150 158 163 171 177 184 ioa_$nnl 000024 constant entry external dcl 17 ref 115 182 last_available 1 based fixed bin(17,0) level 2 packed unsigned unaligned dcl 43 ref 87 96 link_ptr based pointer unaligned dcl 44 ref 148 175 nargs 000107 automatic fixed bin(17,0) dcl 34 set ref 67* 68 69 73 next_free based fixed bin(17,0) level 2 packed unsigned unaligned dcl 43 ref 96 96 null builtin function dcl 51 ref 62 64 number 000272 automatic fixed bin(18,0) dcl 194 in procedure "get_page_trace_azm" set ref 204* 206* number 000112 automatic fixed bin(17,0) dcl 40 in procedure "azm_pds_trace_" set ref 68* 71* 76* 87 87* 96 103* 103 104 pad based bit(18) level 2 packed unaligned dcl 5-27 ref 143 170 page_n 000260 automatic fixed bin(17,0) dcl 112 set ref 118* 120* page_number 1(06) based fixed bin(12,0) level 2 packed unsigned unaligned dcl 5-27 ref 118 page_trace_entry based structure level 1 dcl 5-27 ref 182 182 182 182 path 000206 automatic char(168) unaligned dcl 111 set ref 119* 120* 138* 139* 149* 150* 176* 177* pointer builtin function dcl 51 ref 155 psr_offset 0(12) based fixed bin(18,0) level 2 packed unsigned unaligned dcl 5-36 ref 155 psr_segno based fixed bin(12,0) level 2 packed unsigned unaligned dcl 5-36 ref 155 ref_ptr 000120 automatic pointer dcl 41 set ref 159* 163 163 163* 163* rel builtin function dcl 51 ref 203 ring 0(18) based fixed bin(3,0) level 2 packed unsigned unaligned dcl 5-27 ref 120 120 rtrim builtin function dcl 51 ref 158 158 163 163 sci_ptr 000100 automatic pointer dcl 15 set ref 59* 64* 67* 70* 73* 75* 77* 79* 83* 89* 200* 207* seg 000270 automatic fixed bin(17,0) dcl 193 set ref 202* 206* seg_n 000205 automatic fixed bin(17,0) dcl 110 set ref 117* 119 119 120* 136* 138 138 139* segment_number 0(21) based fixed bin(15,0) level 2 packed unsigned unaligned dcl 5-27 ref 117 136 size builtin function dcl 51 ref 204 ssu_$abort_line 000020 constant entry external dcl 17 ref 73 77 79 200 207 ssu_$arg_count 000034 constant entry external dcl 17 ref 67 ssu_$arg_ptr 000036 constant entry external dcl 17 ref 70 75 ssu_$get_temp_segment 000040 constant entry external dcl 17 ref 83 ssu_$release_temp_segment 000042 constant entry external dcl 17 ref 64 89 substr builtin function dcl 51 ref 182 182 182 182 temp_link_ptr 000122 automatic pointer dcl 41 set ref 148* 149* 150* 175* 176* 177* temp_ptr 000274 automatic pointer dcl 195 set ref 199* 202 203 trace based structure level 1 dcl 5-7 trace_buf based structure level 1 unaligned dcl 43 set ref 204 trace_buf_ptr 000124 automatic pointer dcl 41 set ref 62* 64 64* 83* 85* 87 89* 96 96 96 99 204 trace_ptr 000140 automatic pointer dcl 5-5 set ref 99* 114 117 118 120 120 126 136 143 148 155 155 159 159 163 170 175 182 182 182 182 tsr_pageno 1(12) based fixed bin(8,0) level 2 packed unsigned unaligned dcl 5-36 set ref 163* tsr_segno_1 0(30) based bit(6) level 2 packed unaligned dcl 5-36 ref 159 tsr_segno_2 1(06) based bit(6) level 2 packed unaligned dcl 5-36 ref 159 type 1 based fixed bin(6,0) level 2 packed unsigned unaligned dcl 5-27 ref 114 unspec builtin function dcl 51 ref 182 182 182 182 word 000271 automatic fixed bin(18,0) dcl 194 set ref 203* 206* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. AMU_FDUMP_INFO_VERSION internal static char(8) initial unaligned dcl 2-43 AMU_FDUMP_INFO_VERSION_1 internal static char(8) initial unaligned dcl 2-42 AMU_INFO_VERSION internal static char(8) initial unaligned dcl 3-57 AMU_INFO_VERSION_1 internal static char(8) initial unaligned dcl 3-56 AMU_INFO_VERSION_2 internal static char(8) initial unaligned dcl 3-58 AZM_INFO_VERSION_1 internal static char(8) initial unaligned dcl 4-19 AZM_INFO_VERSION_2 internal static char(8) initial unaligned dcl 4-20 DUMP_VERSION_1 internal static fixed bin(17,0) initial dcl 1-120 DUMP_VERSION_2 internal static fixed bin(17,0) initial dcl 1-121 FDUMP_PROCESS_TYPE internal static fixed bin(17,0) initial dcl 3-47 FDUMP_TYPE internal static fixed bin(17,0) initial dcl 3-47 INDIRECT_TYPE internal static fixed bin(17,0) initial dcl 3-47 NETWORK_FDUMP_TYPE internal static fixed bin(17,0) initial dcl 3-47 NETWORK_ONLINE_TYPE internal static fixed bin(17,0) initial dcl 3-47 ONLINE_PROCESS_TYPE internal static fixed bin(17,0) initial dcl 3-47 ONLINE_TYPE internal static fixed bin(17,0) initial dcl 3-47 PDIR_SUFFIX internal static char(4) initial unaligned dcl 3-60 SAVED_PROC_TYPE internal static fixed bin(17,0) initial dcl 3-47 alloc_fdump_process_table_size automatic fixed bin(17,0) dcl 2-40 amu_area based area(1024) dcl 3-43 amu_info based structure level 1 dcl 3-3 dump based structure level 1 dcl 1-11 dumpptr automatic pointer dcl 1-9 fdump_info based structure level 1 dcl 2-3 fdump_process_table based structure level 1 dcl 2-23 fp_table_ptr automatic pointer dcl 2-38 v1_dump based structure level 1 dcl 1-83 NAMES DECLARED BY EXPLICIT CONTEXT. azm_pds_trace_ 000257 constant entry external dcl 6 get_page_trace_azm 002021 constant entry internal dcl 189 ref 85 print_entry 000726 constant entry internal dcl 107 ref 101 select_entry 000650 constant entry internal dcl 92 ref 88 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 2374 2440 2201 2404 Length 2764 2201 44 307 173 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME azm_pds_trace_ 334 external procedure is an external procedure. on unit on line 63 70 on unit select_entry internal procedure shares stack frame of external procedure azm_pds_trace_. print_entry internal procedure shares stack frame of external procedure azm_pds_trace_. get_page_trace_azm internal procedure shares stack frame of external procedure azm_pds_trace_. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME azm_pds_trace_ 000100 sci_ptr azm_pds_trace_ 000102 al azm_pds_trace_ 000104 ap azm_pds_trace_ 000106 argno azm_pds_trace_ 000107 nargs azm_pds_trace_ 000110 code azm_pds_trace_ 000111 af_sw azm_pds_trace_ 000112 number azm_pds_trace_ 000113 entry_number azm_pds_trace_ 000114 index azm_pds_trace_ 000116 by_ptr azm_pds_trace_ 000120 ref_ptr azm_pds_trace_ 000122 temp_link_ptr azm_pds_trace_ 000124 trace_buf_ptr azm_pds_trace_ 000134 amu_info_ptr azm_pds_trace_ 000136 azm_info_ptr azm_pds_trace_ 000140 trace_ptr azm_pds_trace_ 000204 e_type print_entry 000205 seg_n print_entry 000206 path print_entry 000260 page_n print_entry 000270 seg get_page_trace_azm 000271 word get_page_trace_azm 000272 number get_page_trace_azm 000274 temp_ptr get_page_trace_azm 000276 code get_page_trace_azm 000300 data_buf_ptr get_page_trace_azm THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. alloc_cs call_ext_out_desc call_ext_out return enable shorten_stack ext_entry int_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. amu_$definition_ptr amu_$do_translation amu_$get_name amu_$get_name_no_comp cv_dec_check_ ioa_ ioa_$nnl ssu_$abort_line ssu_$arg_count ssu_$arg_ptr ssu_$get_temp_segment ssu_$release_temp_segment THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$bad_arg error_table_$noarg LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 6 000253 59 000264 60 000270 61 000273 62 000275 63 000277 64 000313 65 000330 67 000331 68 000344 69 000350 70 000357 71 000374 72 000410 73 000420 74 000457 75 000460 76 000475 77 000522 78 000557 79 000560 81 000601 83 000603 85 000625 87 000627 88 000635 89 000636 90 000647 92 000650 95 000651 96 000652 99 000665 101 000672 103 000673 104 000675 105 000725 107 000726 113 000727 114 000730 115 000734 116 000753 117 000755 118 000760 119 000765 120 001021 122 001070 125 001071 126 001075 127 001125 130 001126 131 001132 132 001152 135 001153 136 001163 138 001166 139 001221 140 001254 142 001255 143 001257 144 001262 145 001277 148 001300 149 001306 150 001336 151 001372 154 001373 155 001375 158 001407 159 001502 163 001520 165 001624 169 001626 170 001630 171 001633 172 001650 175 001651 176 001657 177 001707 178 001743 182 001744 184 002005 187 002020 189 002021 199 002023 200 002057 202 002106 203 002112 204 002115 205 002117 206 002123 207 002144 209 002173 ----------------------------------------------------------- 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