COMPILATION LISTING OF SEGMENT !BBBJZjXjhcXMgg Compiled by: Multics PL/I Compiler, Release 32f, of October 9, 1989 Compiled at: Bull HN, Phoenix AZ, System-M Compiled on: 11/11/89 1007.2 mst Sat Options: table map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Bull Inc., 1987 * 4* * * 5* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 6* * * 7* * Copyright (c) 1972 by Massachusetts Institute of * 8* * Technology and Honeywell Information Systems, Inc. * 9* * * 10* *********************************************************** */ 11 12 13 /* PDS - The Process Data Segment 14* 15* Last modified (Date and reason): 16* 2/6/76 by S. Webber Initial coding 17* 9/17/76 by R. Bratt to add seg_fault, bounds_fault, vtoc_read, and vtoc_write meters. 18* 11/03/76 by M. Weaver to extend stack header 19* 04/20/77 by M. Weaver to delete rntp and 7/77 to add name template_pds 20* 06/07/78 by E. Donner to add ring_events (to prevent delayed ipc wakeups) 21* 05/10/79 by B. Margulies to eliminate exmode_level 22* 05/09/79 by Mike Grady to use shared ring 0 stacks 23* 08/17/79 by J. A. Bush for exp under/overflow restart switches & cache parity diagnostics 24* 02/28/80 by B. Margulies to use the include file for the default overflow 25* 08/26/80 by J. A. Bush for the DPS8/70M CPU 26* value. 27* 02/23/81 by J. Bongiovanni to remove temp_mode_reg (moved to prds$mode_reg_enabled) 28* 03/81 by E. Donner to remove next_itt and ect_pointers 29* 3/82 BIM for lock_array cleanup. 30* 11/82 by J. Bongiovanni to make force_write_limit per-ring 31* 2/83 by E. N. Kittlitz for hfp_exponent_enabled. 32* 830621 BIM for level improvements. 33* 10/83 by E. N. Kittlitz to resurrect obsolescent network_ptbl_idx for MR10.2. 34* 83-11-02 by E. N. Kittlitz for block_lock_count in low page, hex exponent control. 35* 83-11-21 BIM to inhibit quota and save history registers by default 36* in the initializer's process. 37* 83-12-01 E. N. Kittlitz for restart hex overflow fault control 38* 83-12-03 BIM to clear trace header properly. (and new trace format) 39* 84-12-10 Keith Loepere for throttle_segment_state_changes and other 40* covert channel related variables. 41* 1985-01-21, BIM: admin_privileges to record ring 1 priv settings. 42* 1985-04-08, BIM: no_audit_ring1_fs_object_ops to suppress auditing 43* while in the mseg primitives and RCP. 44**/ 45 46 /* format: style3,idind25 */ 47 pds: 48 procedure; 49 50 /* This program creates the pds data base */ 51 52 /* Automatic */ 53 54 dcl 1 cdsa aligned like cds_args; 55 dcl code fixed bin (35); 56 57 /* Constants */ 58 59 dcl pdsname char (3) aligned static init ("pds") options (constant); 60 dcl exclude_pad (1) char (32) aligned static options (constant) init ("pad*"); 61 62 /* Builtins */ 63 64 dcl (addr, bin, bit, decimal, divide, float, hbound, mod, null, rel, size, string, unspec) 65 builtin; 66 67 /* Entries */ 68 69 dcl com_err_ entry options (variable); 70 dcl create_data_segment_ entry (ptr, fixed bin (35)); 71 dcl get_temp_segment_ entry (char (*), ptr, fixed bin (35)); 72 dcl release_temp_segment_ entry (char (*), ptr, fixed bin (35)); 73 dcl hcs_$chname_file entry (char (*), char (*), char (*), char (*), fixed bin (35)); 74 dcl get_wdir_ entry () returns (char (168)); 75 76 /* External Static */ 77 78 dcl error_table_$segnamedup fixed bin (35) ext; 79 80 81 dcl pdsp ptr; 82 83 dcl 1 pds aligned based (pdsp), 84 2 page_fault_data like mc, /* MC for page faults and timer runouts */ 85 2 fim_data like mc, /* MC for normal faults */ 86 2 signal_data aligned like mc, /* storage for MC being signalled */ 87 2 history_reg_data (64) fixed bin (71), /* this must follow signal data */ 88 2 process_group_id char (32), /* user id for current process */ 89 2 cpu_time fixed bin (52), /* number that when subtracted from clock reading gives 90* virtual cpu time */ 91 2 virtual_delta fixed bin (52), /* temporary used in calculating VCPU time */ 92 2 virtual_time_at_eligibility 93 fixed bin (52), /* temporary used in calculation of VCPU time */ 94 2 temp_1 fixed bin (71), /* temporary */ 95 2 temp_2 fixed bin (71), /* temporary */ 96 2 time_1 fixed bin (52), /* page fault metering time */ 97 2 time_v_temp fixed bin (52), /* temporary used in calculating VCPU time */ 98 2 fim_v_temp fixed bin (52), /* VCPU temporary for the FIM */ 99 2 fim_v_delta fixed bin (71), /* VCPU temporary for the FIM */ 100 2 save_history_regs bit (1) aligned, /* = "1"b if history registers are to be saved */ 101 2 hregs_saved bit (1) aligned, /* = "1"b if history regs were saved */ 102 2 last_sp ptr, /* stack pointer at getwork time */ 103 2 apt_ptr ptr, /* pointer to this process's APT entry */ 104 2 arg_1 fixed bin (71), /* argument for pxss */ 105 2 arg_2 fixed bin (71), /* argument for pxss */ 106 2 arg_3 fixed bin (71), /* argument for pxss */ 107 2 arg_4 fixed bin (71), /* argument for pxss */ 108 2 access_authorization aligned like aim_template, 109 /* access authorization for the process */ 110 2 base_addr_reg bit (18) aligned, /* for BAR mode use */ 111 2 alarm_ring fixed bin (3), /* setting for ring alarm register */ 112 2 pxss_args_invalid bit (36) aligned, /* used by pxss masking/arg copying code */ 113 2 processid bit (0) unaligned, /* process ID (added segdef) */ 114 2 process_id bit (36) aligned, /* process ID */ 115 2 vtime_count fixed bin, /* depth counter used in VCPU calculation */ 116 2 pstep bit (0) unaligned, /* (added segdef for dstep) */ 117 2 dstep bit (18) aligned, /* rel pointer to ASTE for dseg */ 118 2 wakeup_flag bit (36) aligned, /* flag indicating type of wakeup */ 119 2 pc_call bit (36) aligned, /* flag saying type of wait */ 120 2 audit_flags bit (36) aligned, /* bits indicating types of auditing to do */ 121 2 quota_inhib fixed bin aligned, /* ON if quota checking to be inhibited */ 122 2 covert_event_count fixed bin, /* count of covert channel related segment state change events */ 123 2 page_waits fixed bin, /* page faults */ 124 2 number_of_pages_in_use 125 fixed bin, /* used in calculating memory units */ 126 2 post_purged fixed bin, /* number of post purgings */ 127 2 connect_pending bit (1) aligned, /* turned on for delayed connects to be resent by fim */ 128 2 segment_faults fixed bin (35), /* count of segment faults taken by this process */ 129 2 bounds_faults fixed bin (35), /* count of bounds faults taken by this process */ 130 2 vtoc_reads fixed bin (35), /* vtoc read I/Os done for this process */ 131 2 vtoc_writes fixed bin (35), /* vtoc write I/Os done for this process */ 132 2 mc_trace_seg fixed bin, /* seg number of object segment being traced */ 133 2 mc_trace_sw bit (2) aligned, /* switch for M. C. Tracing "11"b => trace on */ 134 2 stack_0_sdwp ptr aligned, /* ptr to stack sdw in dseg */ 135 2 stack_0_ptr ptr aligned, /* ptr to base of ring 0 stack (wired for esd) */ 136 2 tc_argp ptr, /* arg ptr used by tc */ 137 2 tc_mask bit (72) aligned, /* save tc mask */ 138 2 exp_undfl_rest bit (2) aligned, /* fim restarts underflow: '1'b = binary, '01'b = hex */ 139 2 exp_ovfl_rest bit (2) aligned, /* fim restarts exp overflow: '1'b = binary, '01'b = hex */ 140 2 eovfl_value bit (72) aligned, /* value DFLD'ed by fim on restart binary overflow */ 141 2 hex_eovfl_value bit (72) aligned, /* value DFLD'ed by fim on restart hex overflow */ 142 2 cpar_err_data bit (72) aligned, /* cache parity error data (from cache) */ 143 2 cpar_mem_data bit (72) aligned, /* cache parity error data (from memory) */ 144 2 cpar_info bit (36) aligned, /* diagnose flag, cache level and absaddr # */ 145 2 hfp_exponent_enabled bit (1) aligned, /* user allowed to set IR hex exp bit */ 146 2 pre_empt_poll_return pointer, 147 2 block_lock_count fixed bin, /* count of locks held */ 148 2 throttle_segment_state_changes bit (1) aligned,/* limit bandwidth of segment state covert channels */ 149 2 first_covert_event_time fixed bin (52), 150 2 pad_for_trace_mod16 (6) fixed bin, 151 2 trace (306) fixed bin (71), /* system trace data */ 152 /* pds$trace + 16 defines the pds for idle procs */ 153 2 timer_time_out fixed bin (52), /* time out time for the process */ 154 2 timer_channel fixed bin (71), /* event channel for time out event */ 155 2 term_channel fixed bin (71), /* channel used to signal process termination */ 156 2 term_proc bit (36) aligned, /* process ID of process to signal term process */ 157 2 pl1_machine fixed bin, /* nonzero if we do pl1-like things */ 158 2 validation_level fixed bin (3), 159 2 condition_name aligned, /* ACC string for condition name */ 160 3 len fixed bin (8) unaligned, 161 3 chars char (31) unaligned, 162 2 pad_obsolete bit (36) aligned, 163 2 ips_mask (0:7) bit (35) aligned, /* IPS masks */ 164 2 auto_mask (0:7) bit (36) aligned, /* array of automatic masks for IPS signals */ 165 2 ring_alarm_val (0:7) fixed bin, /* used in checking validation level changes */ 166 2 lock_id bit (36) aligned, /* UID used in some locking */ 167 2 mc_trace_buf ptr unaligned, /* packed ptr to mc_trace wired buffer */ 168 2 pad_end_of_page_0 bit (0) unaligned, 169 2 pathname_am aligned like pam, /* pathname associative memory */ 170 2 initial_procedure ptr, /* first procedure executed in a new process */ 171 2 account_id char (32) aligned, /* not used yet */ 172 2 access_name aligned, /* alternate form of process group id */ 173 3 user char (32) aligned, 174 3 project char (32) aligned, 175 3 tag char (32) aligned, 176 2 home_dir char (168) aligned, /* home directory */ 177 2 process_dir_name char (32) aligned, /* name of process directory */ 178 2 wdir (0:7) ptr, /* pointers to per-ring working directories */ 179 2 wdir_uid (0:7) bit (36) aligned, /* UID of per-ring working directories */ 180 2 transparent bit (36) aligned, /* transparent usage, mod, pd switch */ 181 2 itt_head bit (18) aligned, /* top of present ITT list */ 182 2 max_access_authorization 183 aligned like aim_template, 184 /* max authorization this user can attain */ 185 2 stacks (0:7) ptr, /* per-ring stack pointers */ 186 2 kstp ptr, /* pointer to start of KST */ 187 2 events_pending bit (36) aligned, /* special wakeups pending */ 188 2 special_channels bit (36) aligned, /* special channels assigned */ 189 2 event_masks (7) bit (36) aligned, /* per-ring mask for special channels */ 190 2 initial_ring fixed bin (3), /* initial ring of execution for the process */ 191 2 interrupt_ring fixed bin (3), /* lowest ring in which IPS interrupts are allowed */ 192 2 highest_ring fixed bin (3), /* highest ring in which process can run */ 193 2 prelinked_ring bit (8) aligned, /* bit(i) is ON if ring (i) is prelinked */ 194 2 unique_scu_index bit (36) aligned, /* used to tag MC */ 195 2 max_lot_size (0:7) fixed bin, /* sizes lots can grow to */ 196 2 lot_stack_size (0:7) fixed bin, /* size of lot in stack (0 -> lot not in stack) */ 197 2 clr_stack_size (0:7) fixed bin, /* size of CLR in stack */ 198 2 link_meters_bins (4) fixed bin, /* histograms of linkage faults */ 199 2 link_meters_times (4) fixed bin (30), /* histogram of linkage fault times */ 200 2 link_meters_pgwaits (4) fixed bin, /* histogram of linkage faults PF's */ 201 2 dmpr_copy_dirsegp ptr, /* ptr to temp segment into which dirs are copied */ 202 2 dmpr_pvid bit (36), /* pvid of volume being dumped */ 203 2 dmpr_pvtx fixed bin, /* pvtx of volume being dumped */ 204 2 first_call fixed bin, /* ON until leave ring zero once */ 205 2 mc_save_area bit (18) aligned, /* rel pointer to start of saved MC area */ 206 2 mc_save_ptr bit (18) aligned, /* ptr to next mc save place */ 207 2 mc_save_limit bit (18) aligned, /* max address where MC can be saved */ 208 2 useable_lot bit (8) aligned, /* indicates whether lot can be referenced */ 209 2 ring_events bit (36) aligned, /* per-ring indicator that itt messages copied to ect */ 210 2 force_write_limit (0:7) fixed bin, /* limit on force-writing */ 211 /* Following must be doubleword aligned! */ 212 2 ipc_vars aligned, /* holds state of fast_hc_ipc at block */ 213 3 ap pointer unal, 214 3 retsw fixed bin (35), 215 3 save_entry_ret fixed bin (35), 216 3 truncated_stacks fixed bin (35), 217 3 chan fixed bin (71), 218 3 block_start_steps fixed bin (35), 219 3 stk_temp fixed bin (35), 220 2 ipc_block_return bit (36), /* ipc block return address */ 221 2 avg_block_steps fixed bin (35, 18), 222 2 admin_privileges bit (36) aligned, /* There is a 1 here for each privilege that must be reset on exit from ring 1 */ 223 2 no_audit_ring1_fs_object_ops bit (1) aligned, /* Ring 1 has asked to turn off ring 0 auditing */ 224 2 pad_for_data_mod16 (6) fixed bin (35), 225 2 data bit (0) aligned; /* to mark end of PDS for MC save area */ 226 227 call get_temp_segment_ ("pds", pdsp, code); /* Returns ZEROS */ 228 229 /* Now begins the initialization */ 230 231 pds.process_group_id = "Initializer.SysDaemon.z"; 232 233 pds.access_authorization.categories = (18)"0"b; 234 pds.access_authorization.level = 0; 235 pds.access_authorization.dir = "1"b; /* for initializer */ 236 pds.access_authorization.seg = "1"b; 237 pds.access_authorization.rcp = "1"b; 238 pds.access_authorization.ipc = "1"b; 239 pds.access_authorization.soos = "1"b; /* .. */ 240 241 pds.max_access_authorization.categories = (18)"1"b || (18)"0"b; 242 pds.max_access_authorization.level = 7; 243 244 pds.quota_inhib = 1; /* initializer ignore rqover until it is enabled */ 245 pds.vtime_count = -1; 246 pds.process_id = (36)"1"b; 247 pds.lock_id = (36)"1"b; 248 pds.pl1_machine = 1; 249 pds.ips_mask (*) = (35)"1"b; 250 pds.force_write_limit (*) = 1; 251 252 pds.save_history_regs = "1"b; 253 pds.hregs_saved = "0"b; 254 pds.history_reg_data (*) = 0; 255 256 pds.mc_trace_buf = null; 257 pds.mc_trace_sw = "0"b; 258 pds.mc_trace_seg = 0; 259 260 pds.eovfl_value = unspec (Default_exponent_control_overflow_value); 261 pds.hex_eovfl_value = unspec (Default_hex_exponent_control_overflow_value); 262 /* set default exp overflow restart value */ 263 pds.exp_ovfl_rest, pds.exp_undfl_rest = "0"b; 264 265 pds.stack_0_sdwp = null; 266 pds.stack_0_ptr = null; 267 pds.pad_for_trace_mod16 (*) = 0; 268 269 unspec (pds.trace) = ""b; 270 trace_ptr = addr (pds.trace); 271 trace.last_available = divide (hbound (pds.trace, 1) * size (page_trace_entry) - 8, 2, 17, 0); 272 trace.threshold = .75 * float (decimal (trace.last_available)); 273 274 pds.initial_procedure = null; 275 276 pds.access_name.user = "Initializer"; 277 pds.access_name.project = "SysDaemon"; 278 pds.access_name.tag = "z"; 279 280 pds.home_dir = ">system_control_1"; 281 pds.process_dir_name = ">process_dir_dir>!zzzzzzzbBBBBBB"; 282 283 pds.wdir (*) = null; 284 pds.wdir_uid (*) = "0"b; 285 286 287 288 pds.stacks (*) = null; 289 290 pds.dmpr_pvid = "0"b; 291 pds.dmpr_pvtx = 0; 292 pds.dmpr_copy_dirsegp = null; 293 294 pds.kstp = null; 295 pds.first_call = 1; 296 pds.initial_ring = 1; 297 pds.interrupt_ring = 4; 298 pds.highest_ring = 7; 299 300 pds.max_lot_size (*) = 1024; 301 302 pds.mc_save_area = rel (addr (pds.data)); 303 pds.mc_save_ptr = rel (addr (pds.data)); 304 pds.mc_save_limit = bit (bin (4096, 18), 18); /* Allow for as many as fit in 4K. */ 305 306 /* Now make some checks on alignment of certain variables */ 307 308 call check (addr (pds.ipc_vars), "ipc_vars", 2); 309 call check (addr (pds.page_fault_data), "page_fault_data", 16); 310 call check (addr (pds.trace), "trace", 16); 311 call check (addr (pds.signal_data), "signal_data", 16); 312 call check (addr (pds.eovfl_value), "eovfl_value", 2); 313 call check (addr (pds.hex_eovfl_value), "hex_eovfl_value", 2); 314 call check (addr (pds.data), "data", 16); 315 if bin (rel (addr (pds.pad_end_of_page_0)), 18) ^= 1024 316 then call com_err_ (0, pdsname, "Wired portion must end at 1024"); 317 318 /* Now set up call to create data base */ 319 320 cdsa.sections (1).p = addr (pds); 321 cdsa.sections (1).len = size (pds); 322 cdsa.sections (1).struct_name = "pds"; 323 324 cdsa.seg_name = "pds"; 325 cdsa.num_exclude_names = 1; 326 cdsa.exclude_array_ptr = addr (exclude_pad); 327 328 string (cdsa.switches) = "0"b; 329 cdsa.switches.have_text = "1"b; 330 331 call create_data_segment_ (addr (cdsa), code); 332 333 call release_temp_segment_ ("pds", pdsp, code); 334 335 call hcs_$chname_file (get_wdir_ (), "pds", "", "template_pds", code); 336 if code ^= 0 337 then if code ^= error_table_$segnamedup 338 then call com_err_ (code, pdsname, "Unable to add name template_pds."); 339 340 341 check: 342 proc (where, message, modulo); 343 344 dcl where ptr; 345 dcl message char (*); 346 dcl modulo fixed bin; 347 dcl remainder fixed bin; 348 349 remainder = mod (bin (rel (where), 18), modulo); 350 if remainder ^= 0 351 then call com_err_ (0, pdsname, "The variable ^a is ^d words away from being aligned on a ^d-word boundary.", 352 message, (modulo - remainder), modulo); 353 354 end check; 355 /* BEGIN INCLUDE FILE aim_template.incl.pl1 */ 1 2 1 3 /* Created 740723 by PG */ 1 4 /* Modified 06/28/78 by C. D. Tavares to add rcp privilege */ 1 5 /* Modified 83-05-10 by E. N. Kitltitz to add communications privilege */ 1 6 1 7 /* This structure defines the components of both an access 1 8* class and an access authorization as interpreted by the 1 9* Access Isolation Mechanism. */ 1 10 1 11 1 12 dcl 1 aim_template aligned based, /* authorization/access class template */ 1 13 2 categories bit (36), /* access categories */ 1 14 2 level fixed bin (17) unaligned, /* sensitivity level */ 1 15 2 privileges unaligned, /* special access privileges (in authorization only) */ 1 16 (3 ipc, /* interprocess communication privilege */ 1 17 3 dir, /* directory privilege */ 1 18 3 seg, /* segment privilege */ 1 19 3 soos, /* security out-of-service privilege */ 1 20 3 ring1, /* ring 1 access privilege */ 1 21 3 rcp, /* RCP resource access privilege */ 1 22 3 comm) bit (1), /* communications cross-AIM privilege */ 1 23 3 pad bit (11); 1 24 1 25 1 26 /* END INCLUDE FILE aim_template.incl.pl1 */ 355 356 /* BEGIN INCLUDE FILE cds_args.incl.pl1 */ 2 2 2 3 dcl 1 cds_args based aligned, 2 4 2 sections (2), 2 5 3 p ptr, /* pointer to data for text/static section */ 2 6 3 len fixed bin (18), /* size of text/static section */ 2 7 3 struct_name char (32), /* name of declared structure for this section */ 2 8 2 seg_name char (32), /* name to create segment by */ 2 9 2 num_exclude_names fixed bin, /* number of names in exclude array */ 2 10 2 exclude_array_ptr ptr, /* pointer to array of exclude names */ 2 11 2 switches, /* control switches */ 2 12 3 defs_in_link bit (1) unal, /* says put defs in linkage */ 2 13 3 separate_static bit (1) unal, /* says separate static section is wanted */ 2 14 3 have_text bit (1) unal, /* ON if text section given */ 2 15 3 have_static bit (1) unal, /* ON if static section given */ 2 16 3 pad bit (32) unal; 2 17 2 18 dcl exclude_names (1) char (32) based; /* pointed to be cds_args.exclude_array_ptr */ 2 19 2 20 /* END INCLUDE FILE cds_args.incl.pl1 */ 356 357 3 2 /* BEGIN INCLUDE FILE ... exponent_control_info.incl.pl1 */ 3 3 3 4 /* Created by Benson I. Margulies 2-80 */ 3 5 3 6 declare Default_exponent_control_overflow_value float bin (63) aligned 3 7 internal static options (constant) init 3 8 (0.111111111111111111111111111111111111111111111111111111111111111e+127b); 3 9 3 10 declare Default_hex_exponent_control_overflow_value float bin (63) aligned 3 11 internal static options (constant) init 3 12 (0.111111111111111111111111111111111111111111111111111111111111111e+127b); 3 13 3 14 /* END INCLUDE FILE ... exponent_control_info.incl.pl1 */ 3 15 357 358 /* */ 4 2 /* BEGIN INCLUDE FILE mc.incl.pl1 Created Dec 72 for 6180 - WSS. */ 4 3 /* Modified 06/07/76 by Greenberg for mc.resignal */ 4 4 /* Modified 07/07/76 by Morris for fault register data */ 4 5 /* Modified 08/28/80 by J. A. Bush for the DPS8/70M CVPU */ 4 6 /* Modified '82 to make values constant */ 4 7 4 8 /* words 0-15 pointer registers */ 4 9 4 10 dcl mcp ptr; 4 11 4 12 dcl 1 mc based (mcp) aligned, 4 13 2 prs (0:7) ptr, /* POINTER REGISTERS */ 4 14 (2 regs, /* registers */ 4 15 3 x (0:7) bit (18), /* index registers */ 4 16 3 a bit (36), /* accumulator */ 4 17 3 q bit (36), /* q-register */ 4 18 3 e bit (8), /* exponent */ 4 19 3 pad1 bit (28), 4 20 3 t bit (27), /* timer register */ 4 21 3 pad2 bit (6), 4 22 3 ralr bit (3), /* ring alarm register */ 4 23 4 24 2 scu (0:7) bit (36), 4 25 4 26 2 mask bit (72), /* mem controller mask at time of fault */ 4 27 2 ips_temp bit (36), /* Temporary storage for IPS info */ 4 28 2 errcode fixed bin (35), /* fault handler's error code */ 4 29 2 fim_temp, 4 30 3 unique_index bit (18) unal, /* unique index for restarting faults */ 4 31 3 resignal bit (1) unal, /* recompute signal name with fcode below */ 4 32 3 fcode bit (17) unal, /* fault code used as index to FIM table and SCT */ 4 33 2 fault_reg bit (36), /* fault register */ 4 34 2 pad2 bit (1), 4 35 2 cpu_type fixed bin (2) unsigned, /* L68 = 0, DPS8/70M = 1 */ 4 36 2 ext_fault_reg bit (15), /* extended fault reg for DPS8/70M CPU */ 4 37 2 fault_time bit (54), /* time of fault */ 4 38 4 39 2 eis_info (0:7) bit (36)) unaligned; 4 40 4 41 4 42 dcl (apx fixed bin init (0), 4 43 abx fixed bin init (1), 4 44 bpx fixed bin init (2), 4 45 bbx fixed bin init (3), 4 46 lpx fixed bin init (4), 4 47 lbx fixed bin init (5), 4 48 spx fixed bin init (6), 4 49 sbx fixed bin init (7)) internal static options (constant); 4 50 4 51 4 52 4 53 4 54 dcl scup ptr; 4 55 4 56 dcl 1 scu based (scup) aligned, /* SCU DATA */ 4 57 4 58 4 59 /* WORD (0) */ 4 60 4 61 (2 ppr, /* PROCEDURE POINTER REGISTER */ 4 62 3 prr bit (3), /* procedure ring register */ 4 63 3 psr bit (15), /* procedure segment register */ 4 64 3 p bit (1), /* procedure privileged bit */ 4 65 4 66 2 apu, /* APPENDING UNIT STATUS */ 4 67 3 xsf bit (1), /* ext seg flag - IT modification */ 4 68 3 sdwm bit (1), /* match in SDW Ass. Mem. */ 4 69 3 sd_on bit (1), /* SDW Ass. Mem. ON */ 4 70 3 ptwm bit (1), /* match in PTW Ass. Mem. */ 4 71 3 pt_on bit (1), /* PTW Ass. Mem. ON */ 4 72 3 pi_ap bit (1), /* Instr Fetch or Append cycle */ 4 73 3 dsptw bit (1), /* Fetch of DSPTW */ 4 74 3 sdwnp bit (1), /* Fetch of SDW non paged */ 4 75 3 sdwp bit (1), /* Fetch of SDW paged */ 4 76 3 ptw bit (1), /* Fetch of PTW */ 4 77 3 ptw2 bit (1), /* Fetch of pre-paged PTW */ 4 78 3 fap bit (1), /* Fetch of final address paged */ 4 79 3 fanp bit (1), /* Fetch of final address non-paged */ 4 80 3 fabs bit (1), /* Fetch of final address absolute */ 4 81 4 82 2 fault_cntr bit (3), /* number of retrys of EIS instructions */ 4 83 4 84 4 85 /* WORD (1) */ 4 86 4 87 2 fd, /* FAULT DATA */ 4 88 3 iro bit (1), /* illegal ring order */ 4 89 3 oeb bit (1), /* out of execute bracket */ 4 90 3 e_off bit (1), /* no execute */ 4 91 3 orb bit (1), /* out of read bracket */ 4 92 3 r_off bit (1), /* no read */ 4 93 3 owb bit (1), /* out of write bracket */ 4 94 3 w_off bit (1), /* no write */ 4 95 3 no_ga bit (1), /* not a gate */ 4 96 3 ocb bit (1), /* out of call bracket */ 4 97 3 ocall bit (1), /* outward call */ 4 98 3 boc bit (1), /* bad outward call */ 4 99 3 inret bit (1), /* inward return */ 4 100 3 crt bit (1), /* cross ring transfer */ 4 101 3 ralr bit (1), /* ring alarm register */ 4 102 3 am_er bit (1), /* associative memory fault */ 4 103 3 oosb bit (1), /* out of segment bounds */ 4 104 3 paru bit (1), /* processor parity upper */ 4 105 3 parl bit (1), /* processor parity lower */ 4 106 3 onc_1 bit (1), /* op not complete type 1 */ 4 107 3 onc_2 bit (1), /* op not complete type 2 */ 4 108 4 109 2 port_stat, /* PORT STATUS */ 4 110 3 ial bit (4), /* illegal action lines */ 4 111 3 iac bit (3), /* illegal action channel */ 4 112 3 con_chan bit (3), /* connect channel */ 4 113 4 114 2 fi_num bit (5), /* (fault/interrupt) number */ 4 115 2 fi_flag bit (1), /* 1 => fault, 0 => interrupt */ 4 116 4 117 4 118 /* WORD (2) */ 4 119 4 120 2 tpr, /* TEMPORARY POINTER REGISTER */ 4 121 3 trr bit (3), /* temporary ring register */ 4 122 3 tsr bit (15), /* temporary segment register */ 4 123 4 124 2 pad2 bit (9), 4 125 4 126 2 cpu_no bit (3), /* CPU number */ 4 127 4 128 2 delta bit (6), /* tally modification DELTA */ 4 129 4 130 4 131 /* WORD (3) */ 4 132 4 133 2 word3 bit (18), 4 134 4 135 2 tsr_stat, /* TSR STATUS for 1,2,&3 word instructions */ 4 136 3 tsna, /* Word 1 status */ 4 137 4 prn bit (3), /* Word 1 PR number */ 4 138 4 prv bit (1), /* Word 1 PR valid bit */ 4 139 3 tsnb, /* Word 2 status */ 4 140 4 prn bit (3), /* Word 2 PR number */ 4 141 4 prv bit (1), /* Word 2 PR valid bit */ 4 142 3 tsnc, /* Word 3 status */ 4 143 4 prn bit (3), /* Word 3 PR number */ 4 144 4 prv bit (1), /* Word 3 PR valid bit */ 4 145 4 146 2 tpr_tbr bit (6), /* TPR.TBR field */ 4 147 4 148 4 149 /* WORD (4) */ 4 150 4 151 2 ilc bit (18), /* INSTRUCTION COUNTER */ 4 152 4 153 2 ir, /* INDICATOR REGISTERS */ 4 154 3 zero bit (1), /* zero indicator */ 4 155 3 neg bit (1), /* negative indicator */ 4 156 3 carry bit (1), /* carryry indicator */ 4 157 3 ovfl bit (1), /* overflow indicator */ 4 158 3 eovf bit (1), /* eponent overflow */ 4 159 3 eufl bit (1), /* exponent underflow */ 4 160 3 oflm bit (1), /* overflow mask */ 4 161 3 tro bit (1), /* tally runout */ 4 162 3 par bit (1), /* parity error */ 4 163 3 parm bit (1), /* parity mask */ 4 164 3 bm bit (1), /* ^bar mode */ 4 165 3 tru bit (1), /* truncation mode */ 4 166 3 mif bit (1), /* multi-word instruction mode */ 4 167 3 abs bit (1), /* absolute mode */ 4 168 3 hex bit (1), /* hexadecimal exponent mode */ 4 169 3 pad bit (3), 4 170 4 171 4 172 /* WORD (5) */ 4 173 4 174 2 ca bit (18), /* COMPUTED ADDRESS */ 4 175 4 176 2 cu, /* CONTROL UNIT STATUS */ 4 177 3 rf bit (1), /* on first cycle of repeat instr */ 4 178 3 rpt bit (1), /* repeat instruction */ 4 179 3 rd bit (1), /* repeat double instruction */ 4 180 3 rl bit (1), /* repeat link instruciton */ 4 181 3 pot bit (1), /* IT modification */ 4 182 3 pon bit (1), /* return type instruction */ 4 183 3 xde bit (1), /* XDE from Even location */ 4 184 3 xdo bit (1), /* XDE from Odd location */ 4 185 3 poa bit (1), /* operation preparation */ 4 186 3 rfi bit (1), /* tells CPU to refetch instruction */ 4 187 3 its bit (1), /* ITS modification */ 4 188 3 if bit (1), /* fault occured during instruction fetch */ 4 189 4 190 2 cpu_tag bit (6)) unaligned, /* computed tag field */ 4 191 4 192 4 193 /* WORDS (6,7) */ 4 194 4 195 2 even_inst bit (36), /* even instruction of faulting pair */ 4 196 4 197 2 odd_inst bit (36); /* odd instruction of faulting pair */ 4 198 4 199 4 200 4 201 4 202 4 203 4 204 /* ALTERNATE SCU DECLARATION */ 4 205 4 206 4 207 dcl 1 scux based (scup) aligned, 4 208 4 209 (2 pad0 bit (36), 4 210 4 211 2 fd, /* GROUP II FAULT DATA */ 4 212 3 isn bit (1), /* illegal segment number */ 4 213 3 ioc bit (1), /* illegal op code */ 4 214 3 ia_am bit (1), /* illegal address - modifier */ 4 215 3 isp bit (1), /* illegal slave procedure */ 4 216 3 ipr bit (1), /* illegal procedure */ 4 217 3 nea bit (1), /* non existent address */ 4 218 3 oobb bit (1), /* out of bounds */ 4 219 3 pad bit (29), 4 220 4 221 2 pad2 bit (36), 4 222 4 223 2 pad3a bit (18), 4 224 4 225 2 tsr_stat (0:2), /* TSR STATUS as an ARRAY */ 4 226 3 prn bit (3), /* PR number */ 4 227 3 prv bit (1), /* PR valid bit */ 4 228 4 229 2 pad3b bit (6)) unaligned, 4 230 4 231 2 pad45 (0:1) bit (36), 4 232 4 233 2 instr (0:1) bit (36); /* Instruction ARRAY */ 4 234 4 235 4 236 4 237 /* END INCLUDE FILE mc.incl.pl1 */ 358 359 /* BEGIN INCLUDE FILE pathname_am.incl.pl1 MODIFIED Februrary 2, 1976 BY R. Bratt */ 5 2 /* Modified November 1984 by Keith Loepere to change PAM to use uid's. */ 5 3 5 4 dcl active_hardcore_data$pam_flush_level fixed bin (34) ext, 5 5 active_hardcore_data$pam_flush_buffer (0:31) bit (36) aligned ext; 5 6 5 7 dcl pds$pathname_am ext; 5 8 5 9 dcl PAM_name_max_lth fixed bin (17) static options (constant) init (68); 5 10 5 11 dcl amp ptr; 5 12 dcl 1 pam aligned based (amp), 5 13 2 (fp, /* head of circular pam entry list */ 5 14 bp) ptr unaligned, 5 15 2 (sets, /* number of times a pathname was loaded into pam */ 5 16 gets, /* number of requests for segno given pathname */ 5 17 hits, /* number of sucessful searches for segno */ 5 18 getps, /* number of requests for pathname given segno */ 5 19 hitps, /* number of sucessful searches for pathname */ 5 20 rejects, /* number of pathnames that were too big to fit in pam */ 5 21 clears, /* number of times a directory was terminated */ 5 22 cleared, /* number of entries wiped in clears */ 5 23 flushes, /* number of times pam was flushed due to directory rename */ 5 24 flushed, /* number of entries cleared in response to flushes */ 5 25 overflows, /* number of times entire pam had to be flushed */ 5 26 overflow_uids, /* number of times too many uids in flush buffer appeared in addr space */ 5 27 initial_flush_level, /* global pam flush level at process creation time */ 5 28 flush_level) fixed bin (35), /* last pam flush level seen */ 5 29 2 search (30) aligned, 5 30 3 fp ptr unaligned, 5 31 3 bp ptr unaligned, 5 32 3 segno fixed bin (17) unaligned, 5 33 3 name_len fixed bin (17) unaligned, 5 34 3 name char (68); 5 35 5 36 dcl amep ptr; 5 37 dcl 1 ame based (amep) like pam.search; 5 38 5 39 /* END INCLUDE FILE pathname_am.incl.pl1 */ 359 360 /* BEGIN INCLUDE FILE sys_trace.incl.pl1 -- Last modified Jan. 1982 */ 6 2 /* Modified for new pgt_ signal technology, Benson Margulies, 83-12 */ 6 3 /* format: style3 */ 6 4 6 5 declare trace_ptr ptr; 6 6 6 7 declare 1 trace based (trace_ptr) aligned, /* system trace data structure */ 6 8 2 next_free fixed bin (17) uns unal, /* index to next free trace entry */ 6 9 2 pad1 bit (19) unal, 6 10 2 last_available fixed bin (17) uns unal, /* index to first unusable entry in list */ 6 11 2 pad2 bit (19) unal, 6 12 2 ttime fixed bin (71), /* time used to figure incremental times */ 6 13 2 temp bit (36), /* temporary used by page$enter_data */ 6 14 2 index bit (17), /* index to end of post purge list */ 6 15 2 threshold fixed bin (17) unsigned unaligned, 6 16 2 pad3 bit (1) unaligned, /* to halfword */ 6 17 2 flags unaligned, 6 18 3 send_ips bit (1) unaligned, /* send pgt_ when index reached threshold */ 6 19 3 pad bit (17) unaligned, 6 20 2 pad4 bit (36) aligned, 6 21 2 data (1024), /* trace data entry structure */ 6 22 3 data_word char (4), /* per-type data word */ 6 23 3 type fixed bin (6) uns unaligned, /* type of trace entry */ 6 24 3 pad bit (14) unaligned, 6 25 3 dtime fixed bin (16) uns unaligned; /* time increment since last trace entry (in 64 micsec) */ 6 26 6 27 declare 1 page_trace_entry based (trace_ptr) aligned, /* entry for page fault data */ 6 28 2 pad bit (18) unaligned, 6 29 2 ring fixed bin (3) uns unaligned, /* ring number fault occured in */ 6 30 2 segment_number fixed bin (15) uns unaligned, /* segment number of segment getting page fault */ 6 31 2 type fixed bin (6) uns unaligned, /* MBZ for page faults */ 6 32 2 page_number fixed bin (12) uns unaligned, /* page number which caused fault */ 6 33 2 pad1 bit (2) unal, 6 34 2 time fixed bin (16) uns unaligned; /* time increment since last trace entry (res = 64 micro-secs) */ 6 35 6 36 declare 1 extended_page_trace_entry 6 37 based (trace_ptr) aligned, /* page fault data with more info */ 6 38 2 psr_segno fixed bin (12) uns unaligned, /* segment number of proc faulting */ 6 39 2 psr_offset fixed bin (18) uns unaligned, /* IC of proc faulting */ 6 40 2 tsr_segno_1 bit (6) unaligned, /* 1st 6 bits of segment number faulted */ 6 41 2 type fixed bin (6) uns unaligned, /* 15 decimal */ 6 42 2 tsr_segno_2 bit (6) unaligned, /* last 6 bits of segment number faulted */ 6 43 2 tsr_pageno fixed bin (8) uns unaligned, /* page number faulted */ 6 44 2 time fixed bin (16) uns unaligned; /* time increment since last trace entry (res = 64 micro-secs) */ 6 45 6 46 6 47 /* END INCLUDE FILE sys_trace.incl.pl1 */ 360 361 end pds; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 11/11/89 0859.7 !BBBJZjXjhcXMgg.pl1 >spec>install>1115>pds.cds 355 1 09/07/83 1610.6 aim_template.incl.pl1 >ldd>include>aim_template.incl.pl1 356 2 04/01/76 2209.5 cds_args.incl.pl1 >ldd>include>cds_args.incl.pl1 357 3 12/15/83 1100.4 exponent_control_info.incl.pl1 >ldd>include>exponent_control_info.incl.pl1 358 4 12/15/83 1100.4 mc.incl.pl1 >ldd>include>mc.incl.pl1 359 5 01/30/85 1221.4 pathname_am.incl.pl1 >ldd>include>pathname_am.incl.pl1 360 6 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. Default_exponent_control_overflow_value 000002 constant float bin(63) initial dcl 3-6 ref 260 Default_hex_exponent_control_overflow_value 000000 constant float bin(63) initial dcl 3-10 ref 261 access_authorization 470 based structure level 2 dcl 83 access_name 3162 based structure level 2 dcl 83 addr builtin function dcl 64 ref 270 302 303 308 308 309 309 310 310 311 311 312 312 313 313 314 314 315 320 326 331 331 aim_template based structure level 1 dcl 1-12 amp 000154 automatic pointer dcl 5-11 ref 5-12 5-12 5-12 5-12 5-12 5-12 5-12 5-12 5-12 5-12 5-12 5-12 5-12 5-12 5-12 5-12 5-12 5-12 5-12 5-12 5-12 5-12 5-12 bin builtin function dcl 64 ref 304 315 349 bit builtin function dcl 64 ref 304 categories 470 based bit(36) level 3 in structure "pds" dcl 83 in procedure "pds" set ref 233* categories 3326 based bit(36) level 3 in structure "pds" dcl 83 in procedure "pds" set ref 241* cds_args based structure level 1 dcl 2-3 cdsa 000100 automatic structure level 1 dcl 54 set ref 331 331 code 000145 automatic fixed bin(35,0) dcl 55 set ref 227* 331* 333* 335* 336 336 336* com_err_ 000012 constant entry external dcl 69 ref 315 336 350 create_data_segment_ 000014 constant entry external dcl 70 ref 331 data 3500 based bit level 2 dcl 83 set ref 302 303 314 314 decimal builtin function dcl 64 ref 272 dir 471(19) based bit(1) level 4 packed packed unaligned dcl 83 set ref 235* divide builtin function dcl 64 ref 271 dmpr_copy_dirsegp 3434 based pointer level 2 dcl 83 set ref 292* dmpr_pvid 3436 based bit(36) level 2 dcl 83 set ref 290* dmpr_pvtx 3437 based fixed bin(17,0) level 2 dcl 83 set ref 291* eovfl_value 532 based bit(72) level 2 dcl 83 set ref 260* 312 312 error_table_$segnamedup 000026 external static fixed bin(35,0) dcl 78 ref 336 exclude_array_ptr 42 000100 automatic pointer level 2 dcl 54 set ref 326* exclude_pad 000004 constant char(32) initial array dcl 60 set ref 326 exp_ovfl_rest 531 based bit(2) level 2 dcl 83 set ref 263* exp_undfl_rest 530 based bit(2) level 2 dcl 83 set ref 263* first_call 3440 based fixed bin(17,0) level 2 dcl 83 set ref 295* float builtin function dcl 64 ref 272 force_write_limit 3446 based fixed bin(17,0) array level 2 dcl 83 set ref 250* get_temp_segment_ 000016 constant entry external dcl 71 ref 227 get_wdir_ 000024 constant entry external dcl 74 ref 335 335 have_text 44(02) 000100 automatic bit(1) level 3 packed packed unaligned dcl 54 set ref 329* hbound builtin function dcl 64 ref 271 hcs_$chname_file 000022 constant entry external dcl 73 ref 335 hex_eovfl_value 534 based bit(72) level 2 dcl 83 set ref 261* 313 313 highest_ring 3365 based fixed bin(3,0) level 2 dcl 83 set ref 298* history_reg_data 220 based fixed bin(71,0) array level 2 dcl 83 set ref 254* home_dir 3212 based char(168) level 2 dcl 83 set ref 280* hregs_saved 453 based bit(1) level 2 dcl 83 set ref 253* initial_procedure 3150 based pointer level 2 dcl 83 set ref 274* initial_ring 3363 based fixed bin(3,0) level 2 dcl 83 set ref 296* interrupt_ring 3364 based fixed bin(3,0) level 2 dcl 83 set ref 297* ipc 471(18) based bit(1) level 4 packed packed unaligned dcl 83 set ref 238* ipc_vars 3456 based structure level 2 dcl 83 set ref 308 308 ips_mask 1746 based bit(35) array level 2 dcl 83 set ref 249* kstp 3350 based pointer level 2 dcl 83 set ref 294* last_available 1 based fixed bin(17,0) level 2 packed packed unsigned unaligned dcl 6-7 set ref 271* 272 len 2 000100 automatic fixed bin(18,0) array level 3 dcl 54 set ref 321* level 3327 based fixed bin(17,0) level 3 in structure "pds" packed packed unaligned dcl 83 in procedure "pds" set ref 242* level 471 based fixed bin(17,0) level 3 in structure "pds" packed packed unaligned dcl 83 in procedure "pds" set ref 234* lock_id 1776 based bit(36) level 2 dcl 83 set ref 247* max_access_authorization 3326 based structure level 2 dcl 83 max_lot_size 3370 based fixed bin(17,0) array level 2 dcl 83 set ref 300* mc based structure level 1 dcl 4-12 mc_save_area 3441 based bit(18) level 2 dcl 83 set ref 302* mc_save_limit 3443 based bit(18) level 2 dcl 83 set ref 304* mc_save_ptr 3442 based bit(18) level 2 dcl 83 set ref 303* mc_trace_buf 1777 based pointer level 2 packed packed unaligned dcl 83 set ref 256* mc_trace_seg 515 based fixed bin(17,0) level 2 dcl 83 set ref 258* mc_trace_sw 516 based bit(2) level 2 dcl 83 set ref 257* mcp 000150 automatic pointer dcl 4-10 ref 4-12 4-12 4-12 4-12 4-12 4-12 4-12 4-12 4-12 4-12 4-12 4-12 4-12 4-12 4-12 4-12 4-12 4-12 4-12 4-12 4-12 4-12 4-12 4-12 4-12 message parameter char packed unaligned dcl 345 set ref 341 350* mod builtin function dcl 64 ref 349 modulo parameter fixed bin(17,0) dcl 346 set ref 341 349 350 350* null builtin function dcl 64 ref 256 265 266 274 283 288 292 294 num_exclude_names 40 000100 automatic fixed bin(17,0) level 2 dcl 54 set ref 325* p 000100 automatic pointer array level 3 dcl 54 set ref 320* pad_end_of_page_0 2000 based bit level 2 packed packed unaligned dcl 83 set ref 315 pad_for_trace_mod16 552 based fixed bin(17,0) array level 2 dcl 83 set ref 267* page_fault_data based structure level 2 dcl 83 set ref 309 309 page_trace_entry based structure level 1 dcl 6-27 ref 271 pam based structure level 1 dcl 5-12 pds based structure level 1 dcl 83 set ref 320 321 pdsname 000040 constant char(3) initial dcl 59 set ref 315* 336* 350* pdsp 000146 automatic pointer dcl 81 set ref 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 83 227* 231 233 234 235 236 237 238 239 241 242 244 245 246 247 248 249 250 252 253 254 256 257 258 260 261 263 263 265 266 267 269 270 271 274 276 277 278 280 281 283 284 288 290 291 292 294 295 296 297 298 300 302 302 303 303 304 308 308 309 309 310 310 311 311 312 312 313 313 314 314 315 320 321 333* pl1_machine 1733 based fixed bin(17,0) level 2 dcl 83 set ref 248* privileges 471(18) based structure level 3 packed packed unaligned dcl 83 process_dir_name 3264 based char(32) level 2 dcl 83 set ref 281* process_group_id 420 based char(32) level 2 dcl 83 set ref 231* process_id 475 based bit(36) level 2 dcl 83 set ref 246* project 3172 based char(32) level 3 dcl 83 set ref 277* quota_inhib 503 based fixed bin(17,0) level 2 dcl 83 set ref 244* rcp 471(23) based bit(1) level 4 packed packed unaligned dcl 83 set ref 237* rel builtin function dcl 64 ref 302 303 315 349 release_temp_segment_ 000020 constant entry external dcl 72 ref 333 remainder 000172 automatic fixed bin(17,0) dcl 347 set ref 349* 350 350 save_history_regs 452 based bit(1) level 2 dcl 83 set ref 252* search 20 based structure array level 2 in structure "pam" dcl 5-12 in procedure "pds" search 2020 based structure array level 3 in structure "pds" dcl 83 in procedure "pds" sections 000100 automatic structure array level 2 dcl 54 seg 471(20) based bit(1) level 4 packed packed unaligned dcl 83 set ref 236* seg_name 30 000100 automatic char(32) level 2 dcl 54 set ref 324* signal_data 140 based structure level 2 dcl 83 set ref 311 311 size builtin function dcl 64 ref 271 321 soos 471(21) based bit(1) level 4 packed packed unaligned dcl 83 set ref 239* stack_0_ptr 522 based pointer level 2 dcl 83 set ref 266* stack_0_sdwp 520 based pointer level 2 dcl 83 set ref 265* stacks 3330 based pointer array level 2 dcl 83 set ref 288* string builtin function dcl 64 set ref 328* struct_name 3 000100 automatic char(32) array level 3 dcl 54 set ref 322* switches 44 000100 automatic structure level 2 dcl 54 set ref 328* tag 3202 based char(32) level 3 dcl 83 set ref 278* threshold 6 based fixed bin(17,0) level 2 packed packed unsigned unaligned dcl 6-7 set ref 272* trace based structure level 1 dcl 6-7 in procedure "pds" trace 560 based fixed bin(71,0) array level 2 in structure "pds" dcl 83 in procedure "pds" set ref 269* 270 271 310 310 trace_ptr 000160 automatic pointer dcl 6-5 set ref 270* 271 271 272 272 6-7 6-7 6-7 6-7 6-7 6-7 6-7 6-7 6-7 6-7 6-7 6-7 6-7 6-7 6-7 6-7 6-7 6-7 6-7 6-27 6-27 6-27 6-27 6-27 6-27 6-27 6-27 unspec builtin function dcl 64 set ref 260 261 269* user 3162 based char(32) level 3 dcl 83 set ref 276* vtime_count 476 based fixed bin(17,0) level 2 dcl 83 set ref 245* wdir 3274 based pointer array level 2 dcl 83 set ref 283* wdir_uid 3314 based bit(36) array level 2 dcl 83 set ref 284* where parameter pointer dcl 344 ref 341 349 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. PAM_name_max_lth constant fixed bin(17,0) initial dcl 5-9 abx constant fixed bin(17,0) initial dcl 4-42 active_hardcore_data$pam_flush_buffer 000032 external static bit(36) array dcl 5-4 active_hardcore_data$pam_flush_level 000030 external static fixed bin(34,0) dcl 5-4 ame based structure level 1 packed packed unaligned dcl 5-37 amep 000156 automatic pointer dcl 5-36 apx constant fixed bin(17,0) initial dcl 4-42 bbx constant fixed bin(17,0) initial dcl 4-42 bpx constant fixed bin(17,0) initial dcl 4-42 exclude_names based char(32) array packed unaligned dcl 2-18 extended_page_trace_entry based structure level 1 dcl 6-36 lbx constant fixed bin(17,0) initial dcl 4-42 lpx constant fixed bin(17,0) initial dcl 4-42 pds$pathname_am 000034 external static fixed bin(17,0) dcl 5-7 sbx constant fixed bin(17,0) initial dcl 4-42 scu based structure level 1 dcl 4-56 scup 000152 automatic pointer dcl 4-54 scux based structure level 1 dcl 4-207 spx constant fixed bin(17,0) initial dcl 4-42 NAMES DECLARED BY EXPLICIT CONTEXT. check 001106 constant entry internal dcl 341 ref 308 309 310 311 312 313 314 pds 000170 constant entry external dcl 47 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1504 1542 1327 1514 Length 11236 1327 36 7457 154 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME pds 268 external procedure is an external procedure. check internal procedure shares stack frame of external procedure pds. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME pds 000100 cdsa pds 000145 code pds 000146 pdsp pds 000150 mcp pds 000152 scup pds 000154 amp pds 000156 amep pds 000160 trace_ptr pds 000172 remainder check THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc call_ext_out return_mac mdfx1 ext_entry real_to_real_truncate_ divide_fx3 THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. com_err_ create_data_segment_ get_temp_segment_ get_wdir_ hcs_$chname_file release_temp_segment_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$segnamedup LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 47 000167 227 000175 231 000217 233 000223 234 000224 235 000226 236 000230 237 000232 238 000234 239 000236 241 000240 242 000242 244 000244 245 000246 246 000250 247 000252 248 000253 249 000255 250 000270 252 000302 253 000304 254 000305 256 000322 257 000324 258 000325 260 000326 261 000331 263 000334 265 000336 266 000340 267 000341 269 000353 270 000356 271 000360 272 000374 274 000421 276 000424 277 000427 278 000432 280 000435 281 000440 283 000443 284 000460 288 000471 290 000506 291 000507 292 000510 294 000512 295 000513 296 000515 297 000517 298 000521 300 000523 302 000536 303 000541 304 000544 308 000551 309 000564 310 000601 311 000613 312 000627 313 000644 314 000662 315 000674 320 000730 321 000732 322 000734 324 000737 325 000742 326 000744 328 000746 329 000747 331 000751 333 000764 335 001007 336 001055 361 001105 341 001106 349 001117 350 001127 354 001175 Object Segment >spec>install>1115>pds Created on 11/11/89 1007.4 mst Sat by Hirneisen.SysMaint.a using create_data_segment_, Version II of Thursday, November 20, 1986 Object Text Defs Link Symb Static Start 0 0 3500 5142 5152 5152 Length 5735 3500 1442 10 547 0 120 Definitions: segname: pds text|470 access_authorization text|3162 access_name text|3152 account_id text|3470 admin_privileges text|473 alarm_ring text|456 apt_ptr text|460 arg_1 text|462 arg_2 text|464 arg_3 text|466 arg_4 text|502 audit_flags text|1756 auto_mask text|3467 avg_block_steps text|472 base_addr_reg text|546 block_lock_count text|512 bounds_faults text|3410 clr_stack_size text|1735 condition_name text|510 connect_pending text|504 covert_event_count text|536 cpar_err_data text|542 cpar_info text|540 cpar_mem_data text|430 cpu_time text|3500 data text|3434 dmpr_copy_dirsegp text|3436 dmpr_pvid text|3437 dmpr_pvtx text|477 dstep text|532 eovfl_value text|3354 event_masks text|3352 events_pending text|531 exp_ovfl_rest text|530 exp_undfl_rest text|60 fim_data text|450 fim_v_delta text|446 fim_v_temp text|3440 first_call text|550 first_covert_event_time text|3446 force_write_limit text|534 hex_eovfl_value text|543 hfp_exponent_enabled text|3365 highest_ring text|220 history_reg_data text|3212 home_dir text|453 hregs_saved text|3150 initial_procedure text|3363 initial_ring text|3364 interrupt_ring text|3466 ipc_block_return text|3456 ipc_vars text|1746 ips_mask text|3325 itt_head text|3350 kstp text|454 last_sp text|3420 link_meters_bins text|3430 link_meters_pgwaits text|3424 link_meters_times text|1776 lock_id text|3400 lot_stack_size text|3326 max_access_authorization text|3370 max_lot_size text|3441 mc_save_area text|3443 mc_save_limit text|3442 mc_save_ptr text|1777 mc_trace_buf text|515 mc_trace_seg text|516 mc_trace_sw text|3471 no_audit_ring1_fs_object_ops text|506 number_of_pages_in_use text|0 page_fault_data text|505 page_waits text|2000 pathname_am text|501 pc_call text|1733 pl1_machine text|507 post_purged text|544 pre_empt_poll_return text|3366 prelinked_ring text|3264 process_dir_name text|420 process_group_id text|475 process_id text|475 processid text|477 pstep text|474 pxss_args_invalid text|503 quota_inhib text|1766 ring_alarm_val text|3445 ring_events text|452 save_history_regs text|511 segment_faults text|140 signal_data text|3353 special_channels text|522 stack_0_ptr text|520 stack_0_sdwp text|3330 stacks symb|0 symbol_table text|524 tc_argp text|526 tc_mask text|436 temp_1 text|440 temp_2 text|1730 term_channel text|1732 term_proc text|547 throttle_segment_state_changes text|442 time_1 text|444 time_v_temp text|1726 timer_channel text|1724 timer_time_out text|560 trace text|3324 transparent text|3367 unique_scu_index text|3444 useable_lot text|1734 validation_level text|432 virtual_delta text|434 virtual_time_at_eligibility text|476 vtime_count text|513 vtoc_reads text|514 vtoc_writes text|500 wakeup_flag text|3274 wdir text|3314 wdir_uid No Links. ----------------------------------------------------------- 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