COMPILATION LISTING OF SEGMENT announce_chwm 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 1001.0 mst Sat Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Bull Inc., 1987 * 4* * * 5* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 6* * * 7* *********************************************************** */ 8 9 10 /****^ HISTORY COMMENTS: 11* 1) change(86-05-13,GJohnson), approve(86-05-13,MCR7387), 12* audit(86-05-13,Martinson), install(86-05-14,MR12.0-1056): 13* Correct error message documentation. 14* END HISTORY COMMENTS */ 15 16 17 /* format: style2 */ 18 19 announce_chwm: 20 proc (); 21 22 /* format: off */ 23 /* * This procedure announces the value of the Collection One High Water Mark, 24* * once before, and once after segments are made paged. 25* * 26* * Extracted from init_sst and make_segs_paged, 12/21/80 W. Olin Sibert 27* * Modified September 1983 by Keith Loepere for high marks on unpaged page tables. 28* */ 29 30 /* format: on */ 31 32 dcl parm_ptr pointer; 33 34 dcl ptp pointer; /* Can't be declared in silly include files */ 35 dcl wired_bit bit (1) aligned; 36 dcl suptop fixed bin; 37 dcl initbase fixed bin; 38 dcl n_pages fixed bin; 39 dcl wired fixed bin; 40 dcl total fixed bin; 41 42 dcl int_unpaged_page_tables$ 43 external static; 44 dcl slt$ fixed bin external static; 45 dcl sst_seg$ external static; 46 dcl sstp pointer; 47 dcl cmp pointer; 48 dcl sst$cmp ptr ext static; 49 dcl sst$usedp bit (18) external static; 50 dcl sys_info$system_type fixed bin external static; 51 dcl unpaged_page_tables$ external static; 52 53 dcl config_$find_parm entry (char (4) aligned, pointer); 54 dcl syserr entry options (variable); 55 dcl sys_boot_info$contig_mem_size 56 fixed bin (26) ext static; 57 58 dcl (addr, divide, pointer, rel, null, segno) 59 builtin; 60 61 /* */ 62 63 announce_chwm$before: 64 entry (); 65 66 /* Announce the number of pages left over after collection one loaded and initialized */ 67 68 call config_$find_parm ("chwm", parm_ptr); /* Should we bother? */ 69 if parm_ptr = null () 70 then return; 71 72 sltp = addr (slt$); 73 74 suptop = divide (slt.free_core_start + 1023, 1024, 17, 0); 75 initbase = divide ((slt.free_core_start + slt.free_core_size - 1), 1024, 17, 0); 76 77 total = divide (sys_boot_info$contig_mem_size, 1024, 17, 0); 78 n_pages = total - (initbase - suptop); 79 80 call syserr (ANNOUNCE, "announce_chwm: ^d. pages used of ^d. in wired environment.", n_pages, total); 81 82 upt_ptr = addr (int_unpaged_page_tables$); 83 call syserr (ANNOUNCE, "announce_chwm: ^d. words used of ^d. in int_unpaged_page_tables.", upt.current_length, upt.max_length); 84 return; 85 86 /* */ 87 88 announce_chwm$after: 89 entry (); 90 91 /* Announce the number of pages left after segs are made paged */ 92 93 call config_$find_parm ("chwm", parm_ptr); /* Should we bother? */ 94 if parm_ptr = null () 95 then return; 96 97 sltp = addr (slt$); 98 sstp = addr (sst_seg$); 99 cmp = sst$cmp; 100 101 total = 0; 102 wired = 0; 103 104 cmep = pointer (cmp, sst$usedp); /* scan the used list */ 105 ptp = pointer (sstp, cme.ptwp); 106 107 if sys_info$system_type = ADP_SYSTEM 108 then wired_bit = adp_ptw.wired; 109 else wired_bit = l68_ptw.wired; 110 111 if ptp = sstp 112 then total = total + 1; 113 else if wired_bit 114 then wired = wired + 1; 115 else total = total + 1; 116 117 do cmep = pointer (cmep, cme.fp) repeat pointer (cmep, cme.fp) while (rel (cmep) ^= sst$usedp); 118 119 ptp = pointer (sstp, cme.ptwp); /* get pointer to page table word */ 120 if sys_info$system_type = ADP_SYSTEM 121 then wired_bit = adp_ptw.wired; 122 else wired_bit = l68_ptw.wired; 123 124 if ptp = sstp 125 then /* free */ 126 total = total + 1; 127 else if wired_bit 128 then wired = wired + 1; 129 else total = total + 1; 130 end; 131 132 call syserr (ANNOUNCE, "announce_chwm: ^d. pages wired, ^d. pages usable.", wired, total); 133 134 upt_ptr = addr (unpaged_page_tables$); 135 call syserr (ANNOUNCE, "announce_chwm: ^d. words used of ^d. in unpaged_page_tables.", upt.current_length, upt.max_length); 136 return; /* End of announce_chwm$after */ 137 138 1 1 /* BEGIN INCLUDE FILE slt.incl.pl1 --- Last modified 2/76 SHW */ 1 2 1 3 /* Declarations for Segment Loading Table header and array. 1 4* 1 5* Used by Initialization and MST Checker subroutines */ 1 6 1 7 dcl sltp ptr, /* pointer to base of SLT segment */ 1 8 names_ptr ptr, /* pointer to base of SLT names segment */ 1 9 namep ptr, /* pointer to segment name list block */ 1 10 pathp ptr, /* pointer to segment's directory path name */ 1 11 aclp ptr; /* pointer to acl structure */ 1 12 1 13 declare 1 slt based (sltp) aligned, /* declaration of Segment Loading Table (SLT) */ 1 14 2 name_seg_ptr ptr, /* words 0-1, pointer (ITS pair) to name segment */ 1 15 2 free_core_start fixed bin (24), /* word 2, start of free core after perm-wired */ 1 16 2 first_sup_seg fixed bin (18), /* word 3, first supervisor segment number */ 1 17 2 last_sup_seg fixed bin (18), /* word 4, last supervisor segment number */ 1 18 2 first_init_seg fixed bin (18), /* word 5, first initializer segment number */ 1 19 2 last_init_seg fixed bin (18), /* word 6, last initializer segment number */ 1 20 2 free_core_size fixed bin (24), /* size (in words) of free core after perm-wired */ 1 21 2 seg (0:8191) aligned, /* segment entries (4 words each) */ 1 22 3 slte (4) fixed bin (35); /* Space for SLT entries */ 1 23 1 24 /* auxiliary segment of SLT for storing of segment names and directory path names */ 1 25 1 26 declare 1 name_seg based (names_ptr) aligned, /* name segment header */ 1 27 2 pad bit (18) unal, 1 28 2 next_loc bit (18) unal, /* Next available free location in name seg */ 1 29 2 ht (0:127) bit (18) aligned; /* Names hash table */ 1 30 1 31 declare 1 segnam based (namep) aligned, /* declaration for segment name block */ 1 32 2 count fixed bin (17), /* number of segment names in this block */ 1 33 2 names (50 refer (segnam.count)), /* segment name array */ 1 34 3 hp bit (18) unal, /* hash thread pointer */ 1 35 3 ref bit (1) unal, /* "1"b if name referenced */ 1 36 3 pad bit (5) unal, 1 37 3 segno bit (12) unal, /* segment number associated with this name */ 1 38 3 name char (32) unal; /* space for name (max 32 characters) */ 1 39 1 40 declare 1 path based (pathp) aligned, /* declaration for directory path name */ 1 41 2 size fixed bin (17), /* length of pathname */ 1 42 2 name char (168 refer (path.size)) unal, /* directory path name */ 1 43 2 acls fixed bin; /* ACL list starts here */ 1 44 1 45 declare 1 acls based (aclp) aligned, /* declaration for acl list */ 1 46 2 count fixed bin, /* number of entries in acl list */ 1 47 2 acl (50 refer (acls.count)), /* array of acl entries */ 1 48 3 userid char (32), /* user specification */ 1 49 3 mode bit (36) aligned, /* mode for the specified user */ 1 50 3 pad bit (36) aligned, 1 51 3 code fixed bin; 1 52 1 53 1 54 /* END INCLUDE FILE slt.incl.pl1 */ 139 140 2 1 /* BEGIN INCLUDE FILE cmp.incl.pl1 --- October 1982 */ 2 2 /* Note: This include file has an ALM counterpart NOT made with cif (for historical reasons). Keep it up to date */ 2 3 2 4 dcl cmep ptr; /* pointer to core map entry */ 2 5 2 6 dcl 1 cme based (cmep) aligned, /* core map entry */ 2 7 2 fp bit (18) unaligned, /* forward pointer to next entry */ 2 8 2 bp bit (18) unaligned, /* backward pointer to previous entry */ 2 9 2 10 2 devadd bit (22) unaligned, /* device address of page in the core block */ 2 11 2 pad5 bit (1) unaligned, 2 12 2 synch_held bit (1) unaligned, /* Page of synchronized seg held in memory */ 2 13 2 io bit (1) unaligned, /* input/output indicator 1=output, 0=input */ 2 14 2 pad2 bit (1) unaligned, 2 15 2 er bit (1) unaligned, /* indicates error in previous IO activity */ 2 16 2 removing bit (1) unaligned, /* core is being removed by reconfiguration */ 2 17 2 abs_w bit (1) unaligned, /* absolute address must not be changed for page */ 2 18 2 abs_usable bit (1) unaligned, /* page may be assigned with fixed absolute address */ 2 19 2 notify_requested bit (1) unaligned, /* notify requested on I/O completion */ 2 20 2 pad3 bit (1) unaligned, 2 21 2 phm_hedge bit (1) unaligned, /* on => pc$flush_core ought write. */ 2 22 2 contr bit (3) unaligned, /* controller in which core block is located */ 2 23 2 24 2 ptwp bit (18) unaligned, /* pointer to page table word for the page */ 2 25 2 astep bit (18) unaligned, /* relative AST entry pointer of page */ 2 26 2 pin_counter fixed bin (17) unaligned, /* number of times to skip eviction */ 2 27 2 synch_page_entryp bit (18) unaligned; /* relp to synch page entry */ 2 28 2 29 2 30 dcl 1 cma (0: 1) based aligned like cme; /* Core map array */ 2 31 2 32 dcl 1 mcme based (cmep) aligned, /* core map entry for extracting DID */ 2 33 2 pad bit (36) unaligned, 2 34 2 record_no bit (18) unaligned, /* record number of device */ 2 35 2 add_type bit (4) unaligned, /* see add_type.incl.pl1 */ 2 36 2 flags bit (14) unal, 2 37 2 pad1 bit (18) unal; 2 38 2 39 2 40 /* END INCLUDE FILE cmp.incl.pl1 */ 141 142 3 1 /* BEGIN INCLUDE FILE ... ptw.l68.incl.pl1 ... 02/26/81, for ADP conversion */ 3 2 /* Note: This include file has an ALM counterpart made with cif. Keep it up to date */ 3 3 3 4 dcl 1 l68_core_ptw aligned based (ptp), /* In-core page descriptor */ 3 5 2 frame fixed bin (14) unsigned unaligned, /* Core frame number */ 3 6 2 pad1 bit (4) unaligned, 3 7 2 flags unaligned like l68_ptw_flags; 3 8 3 9 dcl 1 l68_ptw aligned based (ptp), /* General declaration for out-of-core PTW */ 3 10 2 add bit (18) unaligned, 3 11 2 flags like l68_ptw_flags unaligned; 3 12 3 13 dcl 1 l68_special_ptw aligned based (ptp) like l68_ptw; /* Page is somewhere peculiar -- add_type = "01"b */ 3 14 dcl 1 l68_real_disk_ptw aligned based (ptp) like l68_ptw; /* PTW for page actually on disk -- add_type = "10"b */ 3 15 dcl 1 l68_null_disk_ptw aligned based (ptp) like l68_ptw; /* PTW for page not yet on disk -- add_type = "11"b */ 3 16 3 17 dcl 1 l68_ptw_flags unaligned based, /* Various software/hardware flags */ 3 18 (2 add_type bit (4), /* 0000=null, 1000=core, 0100=disk, 0010=pd, 0001=swap */ 3 19 2 first bit (1), /* the page has not yet been written out */ 3 20 2 er bit (1), /* error on last page I/O (also used by post-purge as temp) */ 3 21 3 22 2 pad1 bit (1), 3 23 2 unusable1 bit (1), /* can't be used because hardware resets this bit */ 3 24 2 phu bit (1), /* page has been used bit */ 3 25 3 26 2 phm1 bit (1), /* Cumulative OR of hardware phm's */ 3 27 2 nypd bit (1), /* must be moved to paging device */ 3 28 2 phm bit (1), /* page has been modified bit */ 3 29 3 30 2 phu1 bit (1), /* page has been used in the quantum */ 3 31 2 wired bit (1), /* page is to remain in core */ 3 32 2 os bit (1), /* page is out-of-service (I/O in progress) */ 3 33 2 valid bit (1), /* directed fault if this is 0 (page not in core) */ 3 34 2 df_no bit (2)) unaligned; /* directed fault number for page faults */ 3 35 3 36 /* END INCLUDE FILE ... ptw.l68.incl.pl1 */ 143 144 4 1 /* BEGIN INCLUDE FILE ... ptw.adp.incl.pl1 ... 02/11/81, for ADP conversion */ 4 2 /* Note: This include file has an ALM counterpart made with cif. Keep it up to date */ 4 3 4 4 dcl 1 adp_core_ptw aligned based (ptp), /* PTW for in-core page */ 4 5 2 pad1 bit (2) unaligned, 4 6 2 frame fixed bin (16) unsigned unaligned, /* Core frame number */ 4 7 2 flags like adp_ptw_flags unaligned; /* add_type = "00"b; */ 4 8 4 9 dcl 1 adp_ptw aligned based (ptp), /* General declaration for out-of-core PTW */ 4 10 2 add bit (18) unaligned, 4 11 2 flags like adp_ptw_flags unaligned; 4 12 4 13 dcl 1 adp_special_ptw aligned based (ptp) like adp_ptw; /* Page is somewhere peculiar -- add_type = "01"b */ 4 14 dcl 1 adp_real_disk_ptw aligned based (ptp) like adp_ptw; /* PTW for page actually on disk -- add_type = "10"b */ 4 15 dcl 1 adp_null_disk_ptw aligned based (ptp) like adp_ptw; /* PTW for page not yet on disk -- add_type = "11"b */ 4 16 4 17 dcl 1 adp_ptw_flags unaligned based, /* Common lower halfword for ADP PTW */ 4 18 (2 add_type bit (4), /* See specific declarations */ 4 19 2 er bit (1), /* error on last page I/O (also used by post-purge as temp) */ 4 20 2 wired bit (1), /* page is to remain in core */ 4 21 2 os bit (1), /* page is out-of-service (I/O in progress) */ 4 22 2 phu1 bit (1), /* page has been used in the quantum */ 4 23 2 phm1 bit (1), /* Cumulative OR of hardware phm's */ 4 24 4 25 2 unusable1 bit (3), /* Shares hardware byte */ 4 26 2 valid bit (1), /* "1"b if page is in core */ 4 27 2 write bit (1), /* "1"b if page may be written into */ 4 28 2 unusable2 bit (1), /* Shares hardware byte */ 4 29 2 iox bit (1), /* "1"b if page is to be present to IOX */ 4 30 2 phm bit (1), /* page has been modified bit */ 4 31 2 phu bit (1)) unaligned; /* page has been used bit */ 4 32 4 33 /* END INCLUDE FILE ... ptw.adp.incl.pl1 */ 145 146 5 1 /* BEGIN INCLUDE FILE syserr_constants.incl.pl1 ... 11/11/80 W. Olin Sibert */ 5 2 /* 85-02-12, EJ Sharpe - Added sorting class constants, removed AIM_MESSAGE, added new action code names. */ 5 3 /* 85-04-24, G. Palter - Renamed SYSERR_UNUSED_10 to SYSERR_RING1_ERROR to reflect its actual use. */ 5 4 5 5 /* This include file has an ALM version. Keep 'em in sync! */ 5 6 5 7 dcl ( 5 8 5 9 /* The following constants define the message action codes. This indicates 5 10*how a message is to be handled. */ 5 11 5 12 SYSERR_CRASH_SYSTEM init (1), 5 13 CRASH init (1), /* Crash the system, and bleat plaintively. */ 5 14 5 15 SYSERR_TERMINATE_PROCESS init (2), 5 16 TERMINATE_PROCESS init (2), /* Terminate the process, print the message, and beep. */ 5 17 5 18 SYSERR_PRINT_WITH_ALARM init (3), 5 19 BEEP init (3), /* Beep and print the message on the console. */ 5 20 5 21 SYSERR_PRINT_ON_CONSOLE init (0), 5 22 ANNOUNCE init (0), /* Just print the message on the console. */ 5 23 5 24 SYSERR_LOG_OR_PRINT init (4), 5 25 LOG init (4), /* Log the message, or print it if it can't be logged */ 5 26 5 27 SYSERR_LOG_OR_DISCARD init (5), 5 28 JUST_LOG init (5), /* Just try to log the message, and discard it if it can't be */ 5 29 5 30 5 31 /* The following constants are added to the normal severities to indicate 5 32*different sorting classes of messages. */ 5 33 5 34 SYSERR_SYSTEM_ERROR init (00), /* indicates a standard level system error */ 5 35 SYSERR_RING1_ERROR init (10), /* indicates an error detected in ring 1 (mseg_, RCP) */ 5 36 SYSERR_COVERT_CHANNEL init (20), /* indicates covert channel audit trail message */ 5 37 SYSERR_UNSUCCESSFUL_ACCESS init (30), /* indicates access denial audit trail message */ 5 38 SYSERR_SUCCESSFUL_ACCESS init (40) /* indicates access grant audit trail message */ 5 39 ) fixed bin internal static options (constant); 5 40 5 41 /* END INCLUDE FILE syserr_constants.incl.pl1 */ 147 148 6 1 /* BEGIN INCLUDE FILE ... system_types.incl.pl1 ... 03/23/81 ... W. Olin Sibert */ 6 2 6 3 dcl L68_SYSTEM fixed bin (17) internal static options (constant) init (1); 6 4 dcl ADP_SYSTEM fixed bin (17) internal static options (constant) init (2); 6 5 6 6 dcl SYSTEM_TYPE_NAME (2) char (8) internal static options (constant) init 6 7 ("Level68", "ADP"); 6 8 6 9 /* END INCLUDE FILE ... system_types.incl.pl1 */ 149 150 7 1 /* BEGIN include file unpaged_page_tables.incl.pl1 */ 7 2 7 3 /* This include file describes the segments unpaged_page_tables and 7 4*int_unpaged_page_tables. These segments contain the page tables for 7 5*segments that are paged and wired, those segments previously called 7 6*unpaged. 7 7* 7 8*Written September 15, 1983 by Keith Loepere. */ 7 9 7 10 /* format: style4,indattr,ifthenstmt,ifthen,idind33,^indcomtxt */ 7 11 7 12 dcl upt_ptr ptr; 7 13 dcl 1 upt aligned based (upt_ptr), 7 14 2 sst_absloc fixed bin (26), /* for dump analyzers */ 7 15 2 sst_last_loc fixed bin (26), 7 16 2 upt_absloc fixed bin (26), 7 17 2 upt_last_loc fixed bin (26), 7 18 2 iupt_absloc fixed bin (26), 7 19 2 iupt_last_loc fixed bin (26), 7 20 7 21 2 current_length fixed bin, /* number of words currently used */ 7 22 2 max_length fixed bin, /* max number of words in memory allocated */ 7 23 2 first_entry like upt_entry; 7 24 7 25 dcl upt_entry_ptr ptr; 7 26 dcl 1 upt_entry aligned based (upt_entry_ptr), 7 27 2 size fixed bin, /* number of page table words allocated */ 7 28 2 segno fixed bin, /* of hardcore segment */ 7 29 2 ptws (0 refer (upt_entry.size)) bit (36) aligned; 7 30 7 31 /* END include file unpaged_page_tables.incl.pl1 */ 151 152 153 /* */ 154 155 /* BEGIN MESSAGE DOCUMENTATION 156* 157* Message: 158* announce_chwm: WWW. pages used of XXX. in wired environment. 159* 160* S: $info 161* 162* T: $init 163* 164* M: This message is produced when the CHWM parameter is specified on 165* the PARM CONFIG card. WWW is the number of pages of memory which 166* remain unused (out of a maximum of XXX) after all the segments in 167* collection one have been loaded, and all the segments constructed by 168* collection one have been created. 169* 170* A: $ignore 171* 172* 173* Message: 174* announce_chwm: WWW. words used of XXX. in int_unpaged_page_tables. 175* 176* S: $info 177* 178* T: $init 179* 180* M: This message is produced when the CHWM parameter is specified on 181* the PARM CONFIG card. WWW is the number of words of the XXX word 182* long segment int_unpaged_page_tables used to hold page tables for 183* temporary collection 1 segments. 184* 185* A: $ignore 186* 187* 188* Message: 189* announce_chwm: WWW pages wired, UUU pages usable. 190* 191* S: $info 192* 193* T: $init 194* 195* M: This message is produced when the CHWM paramter is specified on 196* the PARM CONFIG card. WWW is the number of wired pages in collection 197* one. UUU is the number of available main memory frames, including those 198* occupied by wired pages, but not those occupied by unpaged segments. 199* 200* A: $ignore 201* 202* 203* Message: 204* announce_chwm: WWW. words used of XXX. in unpaged_page_tables. 205* 206* S: $info 207* 208* T: $init 209* 210* M: This message is produced when the CHWM parameter is specified on 211* the PARM CONFIG card. WWW is the number of words of the XXX word long 212* segment unpaged_page_tables used to hold page tables for permanent 213* "unpaged" segments. 214* 215* A: $ignore 216* 217* END MESSAGE DOCUMENTATION */ 218 219 end announce_chwm; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 11/11/89 0815.1 announce_chwm.pl1 >spec>install>1112>announce_chwm.pl1 139 1 05/24/82 1005.0 slt.incl.pl1 >ldd>include>slt.incl.pl1 141 2 11/23/82 0953.7 cmp.incl.pl1 >ldd>include>cmp.incl.pl1 143 3 03/27/82 0430.2 ptw.l68.incl.pl1 >ldd>include>ptw.l68.incl.pl1 145 4 03/27/82 0430.2 ptw.adp.incl.pl1 >ldd>include>ptw.adp.incl.pl1 147 5 05/17/85 0615.7 syserr_constants.incl.pl1 >ldd>include>syserr_constants.incl.pl1 149 6 06/19/81 2115.0 system_types.incl.pl1 >ldd>include>system_types.incl.pl1 151 7 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. ADP_SYSTEM constant fixed bin(17,0) initial dcl 6-4 ref 107 120 ANNOUNCE 000005 constant fixed bin(17,0) initial dcl 5-7 set ref 80* 83* 132* 135* addr builtin function dcl 58 ref 72 82 97 98 134 adp_ptw based structure level 1 dcl 4-9 adp_ptw_flags based structure level 1 packed packed unaligned dcl 4-17 cme based structure level 1 dcl 2-6 cmep 000120 automatic pointer dcl 2-4 set ref 104* 105 117* 117 117 117* 119* 130 130 cmp 000114 automatic pointer dcl 47 set ref 99* 104 config_$find_parm 000026 constant entry external dcl 53 ref 68 93 current_length 6 based fixed bin(17,0) level 2 dcl 7-13 set ref 83* 135* divide builtin function dcl 58 ref 74 75 77 flags 0(18) based structure level 2 in structure "adp_ptw" packed packed unaligned dcl 4-9 in procedure "announce_chwm" flags 0(18) based structure level 2 in structure "l68_ptw" packed packed unaligned dcl 3-9 in procedure "announce_chwm" fp based bit(18) level 2 packed packed unaligned dcl 2-6 ref 117 130 free_core_size 7 based fixed bin(24,0) level 2 dcl 1-13 ref 75 free_core_start 2 based fixed bin(24,0) level 2 dcl 1-13 ref 74 75 initbase 000106 automatic fixed bin(17,0) dcl 37 set ref 75* 78 int_unpaged_page_tables$ 000010 external static fixed bin(17,0) dcl 42 set ref 82 l68_ptw based structure level 1 dcl 3-9 l68_ptw_flags based structure level 1 packed packed unaligned dcl 3-17 max_length 7 based fixed bin(17,0) level 2 dcl 7-13 set ref 83* 135* n_pages 000107 automatic fixed bin(17,0) dcl 38 set ref 78* 80* null builtin function dcl 58 ref 69 94 parm_ptr 000100 automatic pointer dcl 32 set ref 68* 69 93* 94 pointer builtin function dcl 58 ref 104 105 117 119 130 ptp 000102 automatic pointer dcl 34 set ref 105* 107 109 111 119* 120 122 124 ptwp 2 based bit(18) level 2 packed packed unaligned dcl 2-6 ref 105 119 rel builtin function dcl 58 ref 117 slt based structure level 1 dcl 1-13 slt$ 000012 external static fixed bin(17,0) dcl 44 set ref 72 97 sltp 000116 automatic pointer dcl 1-7 set ref 72* 74 75 75 97* sst$cmp 000016 external static pointer dcl 48 ref 99 sst$usedp 000020 external static bit(18) packed unaligned dcl 49 ref 104 117 sst_seg$ 000014 external static fixed bin(17,0) dcl 45 set ref 98 sstp 000112 automatic pointer dcl 46 set ref 98* 105 111 119 124 suptop 000105 automatic fixed bin(17,0) dcl 36 set ref 74* 78 sys_boot_info$contig_mem_size 000032 external static fixed bin(26,0) dcl 55 ref 77 sys_info$system_type 000022 external static fixed bin(17,0) dcl 50 ref 107 120 syserr 000030 constant entry external dcl 54 ref 80 83 132 135 total 000111 automatic fixed bin(17,0) dcl 40 set ref 77* 78 80* 101* 111* 111 115* 115 124* 124 129* 129 132* unpaged_page_tables$ 000024 external static fixed bin(17,0) dcl 51 set ref 134 upt based structure level 1 dcl 7-13 upt_entry based structure level 1 dcl 7-26 upt_ptr 000122 automatic pointer dcl 7-12 set ref 82* 83 83 134* 135 135 wired 0(31) based bit(1) level 3 in structure "l68_ptw" packed packed unaligned dcl 3-9 in procedure "announce_chwm" ref 109 122 wired 0(23) based bit(1) level 3 in structure "adp_ptw" packed packed unaligned dcl 4-9 in procedure "announce_chwm" ref 107 120 wired 000110 automatic fixed bin(17,0) dcl 39 in procedure "announce_chwm" set ref 102* 113* 113 127* 127 132* wired_bit 000104 automatic bit(1) dcl 35 set ref 107* 109* 113 120* 122* 127 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. BEEP internal static fixed bin(17,0) initial dcl 5-7 CRASH internal static fixed bin(17,0) initial dcl 5-7 JUST_LOG internal static fixed bin(17,0) initial dcl 5-7 L68_SYSTEM internal static fixed bin(17,0) initial dcl 6-3 LOG internal static fixed bin(17,0) initial dcl 5-7 SYSERR_COVERT_CHANNEL internal static fixed bin(17,0) initial dcl 5-7 SYSERR_CRASH_SYSTEM internal static fixed bin(17,0) initial dcl 5-7 SYSERR_LOG_OR_DISCARD internal static fixed bin(17,0) initial dcl 5-7 SYSERR_LOG_OR_PRINT internal static fixed bin(17,0) initial dcl 5-7 SYSERR_PRINT_ON_CONSOLE internal static fixed bin(17,0) initial dcl 5-7 SYSERR_PRINT_WITH_ALARM internal static fixed bin(17,0) initial dcl 5-7 SYSERR_RING1_ERROR internal static fixed bin(17,0) initial dcl 5-7 SYSERR_SUCCESSFUL_ACCESS internal static fixed bin(17,0) initial dcl 5-7 SYSERR_SYSTEM_ERROR internal static fixed bin(17,0) initial dcl 5-7 SYSERR_TERMINATE_PROCESS internal static fixed bin(17,0) initial dcl 5-7 SYSERR_UNSUCCESSFUL_ACCESS internal static fixed bin(17,0) initial dcl 5-7 SYSTEM_TYPE_NAME internal static char(8) initial array packed unaligned dcl 6-6 TERMINATE_PROCESS internal static fixed bin(17,0) initial dcl 5-7 aclp automatic pointer dcl 1-7 acls based structure level 1 dcl 1-45 adp_core_ptw based structure level 1 dcl 4-4 adp_null_disk_ptw based structure level 1 dcl 4-15 adp_real_disk_ptw based structure level 1 dcl 4-14 adp_special_ptw based structure level 1 dcl 4-13 cma based structure array level 1 dcl 2-30 l68_core_ptw based structure level 1 dcl 3-4 l68_null_disk_ptw based structure level 1 dcl 3-15 l68_real_disk_ptw based structure level 1 dcl 3-14 l68_special_ptw based structure level 1 dcl 3-13 mcme based structure level 1 dcl 2-32 name_seg based structure level 1 dcl 1-26 namep automatic pointer dcl 1-7 names_ptr automatic pointer dcl 1-7 path based structure level 1 dcl 1-40 pathp automatic pointer dcl 1-7 segnam based structure level 1 dcl 1-31 segno builtin function dcl 58 upt_entry_ptr automatic pointer dcl 7-25 NAMES DECLARED BY EXPLICIT CONTEXT. announce_chwm 000106 constant entry external dcl 19 announce_chwm$after 000244 constant entry external dcl 88 announce_chwm$before 000115 constant entry external dcl 63 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 660 714 472 670 Length 1232 472 34 302 165 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME announce_chwm 144 external procedure is an external procedure. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME announce_chwm 000100 parm_ptr announce_chwm 000102 ptp announce_chwm 000104 wired_bit announce_chwm 000105 suptop announce_chwm 000106 initbase announce_chwm 000107 n_pages announce_chwm 000110 wired announce_chwm 000111 total announce_chwm 000112 sstp announce_chwm 000114 cmp announce_chwm 000116 sltp announce_chwm 000120 cmep announce_chwm 000122 upt_ptr announce_chwm THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc call_ext_out return_mac ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. config_$find_parm syserr THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. int_unpaged_page_tables$ slt$ sst$cmp sst$usedp sst_seg$ sys_boot_info$contig_mem_size sys_info$system_type unpaged_page_tables$ LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 19 000105 63 000113 68 000122 69 000134 72 000140 74 000143 75 000147 77 000154 78 000157 80 000165 82 000212 83 000215 84 000242 88 000243 93 000251 94 000264 97 000270 98 000273 99 000275 101 000300 102 000301 104 000302 105 000306 107 000313 109 000323 111 000327 113 000335 115 000341 117 000342 119 000352 120 000360 122 000370 124 000374 127 000402 129 000406 130 000407 132 000414 134 000441 135 000444 136 000471 ----------------------------------------------------------- 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