ASSEMBLY LISTING OF SEGMENT >spec>h>3.17>sstn.alm ASSEMBLED ON: 11/29/83 1535.0 mst Tue OPTIONS USED: list ASSEMBLED BY: ALM Version 6.6 November 1982 ASSEMBLER CREATED: 09/21/83 1227.3 mst Wed  1 " ***********************************************************  2 " * *  3 " * Copyright, (C) Honeywell Information Systems Inc., 1982 *  4 " * *  5 " ***********************************************************  6 " SSTN command, to fill SST name table if not filled already  7 " Bernard Greenberg, April 15, 1975 8 " Rewritten for aste/ptw split by R. Bratt on 10/01/76  9 " Retrofitted from Bratt for old aste BSG 12/6/76  10 " Modified to skip ASTEs with vtocx -1, J. Bongiovanni, October 1982  11  12  13 " ******************************************************  14 " * *  15 " * *  16 " * Copyright (c) 1972 by Massachusetts Institute of *  17 " * Technology and Honeywell Information Systems, Inc. *  18 " * *  19 " * *  20 " ******************************************************  21  22  000010 23 bool name_offset,10 there is no dir_entry.incl.alm 24  25  26 include bosequ 1-1 " Begin include file ...... bosequ.incl.alm 1-2 " Modified 8/25/76 by N. I. Morris  1-3 " Modified 8/79 by R.J.C. Kissel to expand BOS. 1-4 " Modified November 1981 by C. Hornig to add pgmorg.  1-5 " Modified October 1982 by J. Bongiovanni to take it out  1-6  000000 1-7 bool ds,0 descriptor segment  000001 1-8 bool tmp,1 temp seg  000002 1-9 bool bf,2 buffer segment for save/restor  000003 1-10 bool pgm,3 program in control 000004 1-11 bool xs1,4 spare segment  000005 1-12 bool xs2,5 spare segment  000005 1-13 bool fgb,5 flagbox segment  000006 1-14 bool com,6 common 000007 1-15 bool mem,7 all memory 1-16  000017 1-17 equ arglen,15 max number of args from scan  1-18  004000 1-19 bool runcom_bit,4000 runcom bit in dir entry  002000 1-20 bool firmware_bit,2000 firmware bit in dir entry  1-21  012000 1-22 bool utilorg,12000 origin of utility package  1-23  1-24 " End of include file ...... bosequ.incl.alm  27 "  28 include vtoc_info  2-1  2-2  2-3 "  2-4 " BEGIN INCLUDE FILE vtoc_info.incl.alm 2-5 "  2-6 " Created 7/10/75 by Bernard Greenberg  2-7  2-8 " Peculiar vtoc information for BOS sstn program  2-9 "  2-10  000300 2-11 equ vtoce_size,192 size of a vtoce 002000 2-12 equ vtoc_record_size,1024 page size of vtoces  000100 2-13 equ vtoc_sect_size,64 size of one vtoce part  2-14  000010 2-15 equ vtoc_r0,8 first vtoc record  2-16  000005 2-17 equ n_vtoce_per_record,vtoc_record_size/vtoce_size 000003 2-18 equ n_sector_per_vtoce,vtoce_size/vtoc_sect_size  2-19  000260 2-20 bool vtoce.primary_name,260  000002 2-21 equ vtoc_name_sect,vtoce.primary_name/vtoc_sect_size  000060 2-22 equ vtoc_name_word,vtoce.primary_name-(vtoc_name_sect*vtoc_sect_size)  2-23  2-24 "  2-25 " END INCLUDE FILE vtoc_info.incl.alm  2-26 "  29  30 include apnd_equ  3-1 " 3-2 " Begin include file ...... apnd_equ.incl.alm  3-3 " Created 11/19/72 by N. I. Morris  3-4 " modified 5/19/75 by Noel I. Morris  3-5 " Modified 8/79 by R.J.C. Kissel to use expanded BOS.  3-6 " Modidied 7/82 by Sherman D. Sprague to add cmpsdw.  3-7  007000 3-8 bool apnd_org,7000 3-9  007000 3-10 equ cmdbr,apnd_org+0 DBR of process being examined  007002 3-11 equ hcdbr,apnd_org+2 hardcore DBR value  007004 3-12 equ fetchout,apnd_org+4 used to reference block fetched by fetch  007006 3-13 equ read_args,apnd_org+6 last block fetched by fetch  007010 3-14 equ fetchin,apnd_org+8 absadr of word to be fetched  007011 3-15 equ sltseg,apnd_org+9 SLT segment number  007012 3-16 equ bosdmp,apnd_org+10 non-zero if BOS itself is to be fetched  007013 3-17 equ pagesw,apnd_org+11 non-zero if paging to be simulated 007014 3-18 equ pmlsw,apnd_org+12 non-zero if PML to be simulated 007016 3-19 equ sstsdw,apnd_org+14 SDW of SST segment 007020 3-20 equ cmpsdw,apnd_org+16 SDW of CMP segment 007022 3-21 equ castap,apnd_org+18 offset of first ASTE in SST segment  3-22  007026 3-23 equ getinit,apnd_org+22 initialize appending package  007027 3-24 equ getsdw,apnd_org+23 fetch an SDW  007030 3-25 equ getwd,apnd_org+24 fetch a word  007031 3-26 equ grab,apnd_org+25 fetch from a list  007032 3-27 equ apnd,apnd_org+26 appending simulation 007033 3-28 equ unapnd,apnd_org+27 to modify a segment  007034 3-29 equ get,apnd_org+28 get a block of data  007035 3-30 equ put,apnd_org+29 write a block of data 007036 3-31 equ comp,apnd_org+30 compare a block of data  007037 3-32 equ fetch,apnd_org+31 to fetch core  007040 3-33 equ unfetch,apnd_org+32 to rewrite fetched buffer 007041 3-34 equ fetch_use_buffer,apnd_org+33 to set SDW to appending buffer  007042 3-35 equ sltsearch,apnd_org+34 get segment # given name 007043 3-36 equ getsltname,apnd_org+35 get name of segment 007044 3-37 equ pd_check,apnd_org+36 check for page on paging device  007045 3-38 equ pd_modify,apnd_org+37 turn on modified bit in pdmap  007046 3-39 equ pd_getptr,apnd_org+38 get pointer to pdmap entry  007047 3-40 equ pvt_to_devt,apnd_org+39 convert pvtx to device type wd 3-41  3-42 " End of include file ...... apnd_equ.incl.alm  3-43  31  32 include sstn_equ  4-1  4-2 " Begin include file ...... sstn_equ.incl.alm  4-3 " Created 5/11/75 by Noel I. Morris 4-4 " Modified 8/79 by R.J.C. Kissel to use expanded BOS.  4-5  006000 4-6 bool sstn_org,6000 4-7  4-8  4-9 " End of include file ...... sstn_equ.incl.alm  4-10  33  34 " 35  36 include sstnt  5-1  5-2  5-3 " BEGIN INCLUDE FILE sstnt.incl.alm  5-4  000000 5-5 equ sstnt.valid_word,0 400000 5-6 bool sstnt.valid,400000 "DU  5-7  000001 5-8 equ sstnt.multics_or_bos,1 5-9  000002 5-10 equ sstnt.fill_time,2  5-11  000010 5-12 equ sstnt.ast_sizes,8  5-13  000014 5-14 equ sstnt.ast_name_offsets,12  5-15  000020 5-16 equ sstnt.ast_offsets,16  5-17  000030 5-18 equ sstnt.names,24 5-19  000011 5-20 equ sstnt_name_length,9  5-21  5-22 "END INCLUDE FILE sstnt.incl.alm  37  38 "  39 include bos_page_info  6-1 " BEGIN INCLUDE FILE page_info.incl.alm -- 6/72  6-2 "  037777 6-3 bool address_compare_mask,037777  000012 6-4 equ page_power,10 2**10 = size of page  000001 6-5 bool df1,000001 directed fault 1 on page fault  100000 6-6 bool int,100000  000020 6-7 bool pri,000020  000004 6-8 bool no_post,000004  000003 6-9 equ sst,3  000003 6-10 equ pdm,sst  000003 6-11 equ ast,sst  000002 6-12 equ ptw,2  000003 6-13 equ cme,sst  000000 6-14 equ fault_entry,0  000001 6-15 equ read_entry,1  000002 6-16 equ write_entry,2  000003 6-17 equ pre_page_entry,3  000004 6-18 equ post_purge_entry,4 000005 6-19 equ pd_flush_entry,5  000006 6-20 equ evict_entry,6  000007 6-21 equ abs_wire_entry,7  000010 6-22 equ cleanup_entry,8  000010 6-23 bool working_set,000010  000002 6-24 bool post_purge_bit,000002 000001 6-25 bool moved_bit,000001  000004 6-26 bool used_bit_off,000004  010101 6-27 bool char_desc,010101  000014 6-28 equ ast_size,12  000004 6-29 equ pdsize,4  000012 6-30 equ pd_free_required,10  000036 6-31 equ pd_write_limit,30  000036 6-32 equ pd_max_rws,30  000017 6-33 equ pre_seek_limit,15  6-34  6-35 "  6-36 " Shifts for converting cmep offsets,  6-37 " ptw/sdw addresses, and absaddrs.  6-38  000014 6-39 equ coreadd_to_desc.ls,12 coreadd var to sdw/ptw  000006 6-40 equ coreadd_to_desc_lower.rl,6 for putting together ptws  000014 6-41 equ desc_to_coreadd.rl,12 ptw/sdw to coreadd  6-42  000012 6-43 equ cmep_to_coreadd.rl,10 .cmep to coreadd 000012 6-44 equ coreadd_to_cmep.ls,10 coreadd to .cmep 6-45  000002 6-46 equ cmep_to_desc.ls,2 .cmep to ptw/sdw  000002 6-47 equ desc_to_cmep.rl,2 ptw/sdw to .cmep  6-48  6-49 "  6-50 " Various AST masks which are not  6-51 " expressible in standard notation  6-52 "  777000 6-53 bool aste.csl_mask_inner,777000  777000 6-54 bool aste.records_mask_inner,777000  6-55  6-56 "  6-57 " END INCLUDE FILE page_info.incl.alm  40  41 "  42 include aste  7-1  7-2  7-3 "BEGIN INCLUDE FILE aste.incl.alm  7-4  7-5  7-6 "Created 10/26/82 2145.6 edt Tue by convert_include_file, 7-7 " Version of 07/15/82 2204.3 edt Thu.  7-8  7-9 "Made from >udd>Multics>Bongiovanni>htd>cksum>aste.incl.pl1,  7-10 " modified 10/26/82 2145.5 edt Tue  7-11  7-12 "  7-13 " Structure aste  7-14 "  000014 7-15 equ aste_size,12  7-16  000000 7-17 equ aste.fp,0 " UPPER  000000 7-18 equ aste.bp,0 " LOWER  7-19  000001 7-20 equ aste.infl,1 " UPPER  000001 7-21 equ aste.infp,1 " LOWER  7-22  000002 7-23 equ aste.strp,2 " UPPER  000002 7-24 equ aste.par_astep,2 " LOWER  7-25  000003 7-26 equ aste.uid,3 7-27  000004 7-28 equ aste.msl_word,4  000033 7-29 equ aste.msl_shift,27  000777 7-30 bool aste.msl_mask,000777  000004 7-31 equ aste.pvtx_word,4  000022 7-32 equ aste.pvtx_shift,18 000777 7-33 bool aste.pvtx_mask,000777 000004 7-34 equ aste.vtocx,4 " LOWER  7-35  000005 7-36 equ aste.usedf_word,5  400000 7-37 bool aste.usedf,400000 " DU  000005 7-38 equ aste.init_word,5  200000 7-39 bool aste.init,200000 " DU  000005 7-40 equ aste.gtus_word,5  100000 7-41 bool aste.gtus,100000 " DU  000005 7-42 equ aste.gtms_word,5  040000 7-43 bool aste.gtms,040000 " DU  000005 7-44 equ aste.hc_word,5 020000 7-45 bool aste.hc,020000 " DU  000005 7-46 equ aste.hc_sdw_word,5 010000 7-47 bool aste.hc_sdw,010000 " DU  000005 7-48 equ aste.any_access_on_word,5  004000 7-49 bool aste.any_access_on,004000 " DU  000005 7-50 equ aste.write_access_on_word,5  002000 7-51 bool aste.write_access_on,002000 " DU  000005 7-52 equ aste.inhibit_cache_word,5  001000 7-53 bool aste.inhibit_cache,001000 " DU  000005 7-54 equ aste.explicit_deact_ok_word,5  000400 7-55 bool aste.explicit_deact_ok,000400 " DU  000005 7-56 equ aste.deact_error_word,5  000200 7-57 bool aste.deact_error,000200 " DU  000005 7-58 equ aste.hc_part_word,5  000100 7-59 bool aste.hc_part,000100 " DU 000005 7-60 equ aste.fm_damaged_word,5 000040 7-61 bool aste.fm_damaged,000040 " DU  000005 7-62 equ aste.dius_word,5  000002 7-63 bool aste.dius,000002 " DU  000005 7-64 equ aste.nid_word,5  000001 7-65 bool aste.nid,000001 " DU 000005 7-66 equ aste.dmpr_pad_word,5  400000 7-67 bool aste.dmpr_pad,400000 " DL 000005 7-68 equ aste.ehs_word,5  200000 7-69 bool aste.ehs,200000 " DL 000005 7-70 equ aste.nqsw_word,5  100000 7-71 bool aste.nqsw,100000 " DL  000005 7-72 equ aste.dirsw_word,5  040000 7-73 bool aste.dirsw,040000 " DL  000005 7-74 equ aste.master_dir_word,5 020000 7-75 bool aste.master_dir,020000 " DL  000005 7-76 equ aste.volmap_seg_word,5 010000 7-77 bool aste.volmap_seg,010000 " DL  000005 7-78 equ aste.tqsw_word,5  004000 7-79 bool aste.tqsw,004000 " DL  7-80  000006 7-81 equ aste.dtu,6 000007 7-82 equ aste.dtm,7 7-83  000010 7-84 equ aste.quota,8 " UPPER  7-85  000011 7-86 equ aste.used,9 " UPPER  7-87  000012 7-88 equ aste.csl_word,10  000033 7-89 equ aste.csl_shift,27  000777 7-90 bool aste.csl_mask,000777  000012 7-91 equ aste.fmchanged_word,10 000400 7-92 bool aste.fmchanged,000400 " DU  000012 7-93 equ aste.fms_word,10  000200 7-94 bool aste.fms,000200 " DU 000012 7-95 equ aste.npfs_word,10  000100 7-96 bool aste.npfs,000100 " DU  000012 7-97 equ aste.gtpd_word,10  000040 7-98 bool aste.gtpd,000040 " DU  000012 7-99 equ aste.dnzp_word,10  000020 7-100 bool aste.dnzp,000020 " DU  000012 7-101 equ aste.per_process_word,10  000010 7-102 bool aste.per_process,000010 " DU  000012 7-103 equ aste.ddnp_word,10  000004 7-104 bool aste.ddnp,000004 " DU  000012 7-105 equ aste.records_word,10  000011 7-106 equ aste.records_shift,9  000777 7-107 bool aste.records_mask,000777  000012 7-108 equ aste.np_word,10  000000 7-109 equ aste.np_shift,0  000777 7-110 bool aste.np_mask,000777  7-111  000013 7-112 equ aste.ht_fp,11 " UPPER 000013 7-113 equ aste.fmchanged1_word,11  400000 7-114 bool aste.fmchanged1,400000 " DL  000013 7-115 equ aste.damaged_word,11  200000 7-116 bool aste.damaged,200000 " DL 000013 7-117 equ aste.pack_ovfl_word,11 100000 7-118 bool aste.pack_ovfl,100000 " DL  000013 7-119 equ aste.synchronized_word,11  040000 7-120 bool aste.synchronized,040000 " DL 000013 7-121 equ aste.ptsi_word,11  000006 7-122 equ aste.ptsi_shift,6  000003 7-123 bool aste.ptsi_mask,000003 000013 7-124 equ aste.marker_word,11  000000 7-125 equ aste.marker_shift,0  000077 7-126 bool aste.marker_mask,000077  7-127  7-128 "  7-129 " Structure aste_part  7-130 "  000014 7-131 equ aste_part_size,12  7-132  7-133  000000 7-134 equ aste_part.one,0  000001 7-135 equ aste_part.two,1 " DOUBLE  7-136  000013 7-137 equ aste_part.three_word,11  000000 7-138 equ aste_part.three_shift,0  000377 7-139 bool aste_part.three_mask,000377  7-140  7-141 "  7-142 " Structure seg_aste  7-143 "  000014 7-144 equ seg_aste_size,12  7-145  7-146  000010 7-147 equ seg_aste.usage,8  7-148  7-149 "END INCLUDE FILE aste.incl.alm  43 " 44  000000 0a 006233 7400 00 45 stx0 x0  000001 0a 006234 7410 00 46 stx1 x1  000002 0a 006235 7420 00 47 stx2 x2  000003 0a 006236 7430 00 48 stx3 x3  000004 0a 006375 7500 00 49 stc2 ascom set command switch 50  000005 aa 012300 7020 00 51 tsx2 initint set up interrupts  000006 0a 006233 0000 00 52 arg return 53  000007 aa 012271 7020 00 54 tsx2 init_io  55  000010 aa 012245 7020 00 56 tsx2 ttyinit  000011 0a 006233 0000 00 57 arg return 58  000012 aa 012210 7020 00 59 tsx2 cvinit  60  61 "  62 " Initialize apnd pack  63 "  000013 0a 006434 2350 00 64 lda =h apnd load apnd pack  000014 aa 007000 6360 00 65 eaq apnd_org  000015 aa 012206 7020 00 66 tsx2 ldcom 000016 0a 006243 7100 00 67 tra tragedy  68  000017 aa 6 01570 2371 00 69 ldaq com|dbr  000020 aa 007000 7570 00 70 staq cmdbr 000021 aa 000100 2350 03 71 lda 64,du  000022 aa 007026 7020 00 72 tsx2 getinit  73  000023 0a 006005 7100 00 74 tra sstn_join join common code  75  76  77 " 78  006000 79 org sstn_org  80  006000 0a 006233 7400 00 81 stx0 x0  006001 0a 006234 7410 00 82 stx1 x1  006002 0a 006235 7420 00 83 stx2 x2 save X2  006003 0a 006236 7430 00 84 stx3 x3  006004 0a 006375 4500 00 85 stz ascom indicate not a command  86  006005 87 sstn_join:  88  89 "  90 " Get necessary SDWs and segnos 91 "  006005 aa 007016 2350 00 92 lda sstsdw get abs addr of SST segment  006006 0a 006435 3750 00 93 ana =o777777770000 make abs addr  006007 0a 006243 6000 00 94 tze tragedy if zero, never initialized  006010 0a 006374 7550 00 95 sta sstbase  96  006011 aa 007042 7020 00 97 tsx2 sltsearch 006012 0a 006354 0000 00 98 arg sstntname  006013 0a 006243 7100 00 99 tra tragedy  100  006014 aa 007027 7020 00 101 tsx2 getsdw  006015 0a 006243 7100 00 102 tra tragedy  006016 0a 006243 7100 00 103 tra tragedy  006017 0a 006372 7570 00 104 staq sstnt_sdw save name table sdw  006020 aa 200000 3160 07 105 canq sdw.unpaged,dl if not paged,  006021 0a 006243 6010 00 106 tnz tragedy we're probably in bootstrap1  107  108 "  109 " Init data areas from sst/sstnt  110 "  111  006022 aa 000000 6360 00 112 eaq 0 get sstnt header  006023 aa 007034 7020 00 113 tsx2 get  006024 0a 006372 0000 00 114 arg sstnt_sdw  006025 0a 006324 000030 115 zero sstnt,sstnt.names 006026 0a 006243 7100 00 116 tra tragedy  117  006027 0a 006324 2350 00 118 lda sstnt+sstnt.valid_word 006030 0a 006052 6050 00 119 tpl not_yet_valid see if table built already  120  006031 0a 006325 2350 00 121 lda sstnt+sstnt.multics_or_bos 006032 0a 006436 1150 00 122 cmpa =amult if filled by Multics, 006033 0a 006037 6000 00 123 tze already_valid tell user it's already filled  006034 0a 006326 2370 00 124 ldaq sstnt+sstnt.fill_time 006035 aa 6 01532 1171 00 125 cmpaq com|mctime if not filled in this BOS invocation, 006036 0a 006052 6040 00 126 tmi not_yet_valid fill it again  127  006037 128 already_valid:  006037 0a 006375 2340 00 129 szn ascom command?  006040 0a 006233 6000 00 130 tze return if not, don't print message  006041 aa 012241 7020 00 131 tsx2 erpt  006042 aa 033 163 163 164 132 acc "sstnt already filled by ^a."  006043 aa 156 164 040 141 006044 aa 154 162 145 141 006045 aa 144 171 040 146 006046 aa 151 154 154 145 006047 aa 144 040 142 171 006050 aa 040 136 141 056 006051 0a 006325 0000 00 133 arg sstnt+sstnt.multics_or_bos 134  006052 135 not_yet_valid:  006052 0a 006375 2340 00 136 szn ascom command?  006053 0a 006061 6010 00 137 tnz nya if not, print following message  006054 aa 012241 7020 00 138 tsx2 erpt  006055 aa 016 146 151 154 139 acc "filling sstnt."  006056 aa 154 151 156 147 006057 aa 040 163 163 164 006060 aa 156 164 056 000 006061 140 nya:  006061 aa 000000 6230 00 141 eax3 0 006062 0a 006334 7220 13 142 li: lxl2 sstnt+sstnt.ast_sizes,3  006063 0a 006360 7420 13 143 stx2 ast_sizes,3  006064 0a 006344 7220 13 144 lxl2 sstnt+sstnt.ast_offsets,3 006065 0a 006364 7420 13 145 stx2 ast_offsets,3 006066 aa 000001 6230 13 146 eax3 1,3  006067 aa 000004 1030 03 147 cmpx3 4,du 006070 0a 006062 6040 00 148 tmi li 149  150 "  151 " Find out where the "5th pool" begins, 152 " i.e., the 1st address beyond the 4th pool.  153 "  154  006071 aa 000047 6360 00 155 eaq sst.no_aste+3  006072 aa 007032 7020 00 156 tsx2 apnd  006073 aa 007016 0000 00 157 arg sstsdw 006074 0a 006243 7100 00 158 tra tragedy  159  006075 aa 007004 2360 20 160 ldq fetchout,* 006076 aa 777777 3760 07 161 anq -1,dl  006077 0a 006337 4020 00 162 mpy sstnt+sstnt.ast_sizes+3  006100 0a 006347 0360 00 163 adlq sstnt+sstnt.ast_offsets+3 006101 aa 000022 7360 00 164 qls 18 006102 0a 006370 7560 00 165 stq ast_offsets+4  166  006103 aa 000031 6360 00 167 eaq sst.astap+1 get addr of first aste 006104 aa 007032 7020 00 168 tsx2 apnd  006105 aa 007016 0000 00 169 arg sstsdw 006106 0a 006243 7100 00 170 tra tragedy  006107 aa 007004 2200 20 171 ldx0 fetchout,* x0 -> aste 172  173  006110 aa 000000 6230 00 174 eax3 0 x3 = pool index  006111 aa 000000 6210 00 175 eax1 0 x1 = aste index  006112 176 loop:  006112 aa 000000 6360 10 177 eaq 0,0 qu -> aste  006113 aa 007034 7020 00 178 tsx2 get read aste  006114 aa 007016 0000 00 179 arg sstsdw 006115 0a 006376 000014 180 zero aste,ast_size 006116 0a 006276 7020 00 181 tsx2 error 182  006117 0a 006401 2360 00 183 ldq aste+aste.uid skip empty astes 006120 0a 006206 6000 00 184 tze next  185  006121 0a 006437 1160 00 186 cmpq =-1 is this the root?  006122 0a 006272 6000 00 187 tze is_root is the root, avoid name fetch 188  006123 0a 006403 2350 00 189 lda aste+aste.hc_word is it hardcore?  006124 aa 020000 3150 03 190 cana aste.hc,du ...  006125 0a 006206 6010 00 191 tnz next yes, skip it 192  193 "  194 " Compute the vtoc index. Figure out where in the VTOC  195 " that lands, get the sector containing the primary name,  196 " and dredge out the primary name.  197  198 " Note that chname is not into maintaining the name 199 " in the vtoce. 200  006126 0a 006402 2350 00 201 lda aste+aste.pvtx_word get the pvt index  006127 aa 000022 7710 00 202 arl aste.pvtx_shift  006130 aa 000777 3750 07 203 ana aste.pvtx_mask,dl isolate  204  006131 aa 007047 7020 00 205 tsx2 pvt_to_devt get device type and address  006132 0a 006276 7020 00 206 tsx2 error error exit  006133 0a 006424 7550 00 207 sta devt  208  006134 0a 006402 2360 00 209 ldq aste+aste.vtocx get the vtoc index 006135 aa 777777 3760 07 210 anq =o777777,dl isolate  006136 aa 777777 1160 07 211 cmpq -1,dl Is there a VTOCE?  006137 0a 006206 6000 00 212 tze next No -- skip  213  006140 aa 000005 5060 07 214 div n_vtoce_per_record,dl get record number  006141 aa 000010 0360 07 215 adlq vtoc_r0,dl this is Multics record 006142 0a 006426 7550 00 216 sta vtoc_remainder save this  217  006143 aa 000044 7370 00 218 lls 36 into A  006144 aa 012216 7020 00 219 tsx2 mulbos get record  006145 0a 006424 0000 00 220 arg devt  006146 0a 006276 7020 00 221 tsx2 error error exit  222  006147 0a 006435 3750 00 223 ana =o777777770000 isolate sector #  006150 0a 006425 7550 00 224 sta vtoce_devadd  225  006151 0a 006426 2360 00 226 ldq vtoc_remainder other vtoces in here  006152 aa 000003 4020 07 227 mpy n_sector_per_vtoce,dl count all sectors  006153 aa 000002 0360 07 228 adlq vtoc_name_sect,dl this is sect in our vtoce  006154 aa 000060 7370 00 229 lls 36+12 align to mulbos stuff  006155 0a 006425 0350 00 230 adla vtoce_devadd add base of record sector  006156 aa 000001 2750 07 231 ora 1,dl want to read 1 sector  232  006157 aa 012211 7020 00 233 tsx2 rdev read the crummy vtoc already  006160 0a 006424 0000 00 234 arg devt  006161 aa 2 00000 0001 00 235 arg bf|0  006162 0a 006276 7020 00 236 tsx2 error 237  006163 aa 0 00000 1005 00 238 mlr (pr),()  006164 aa 200060 000040 239 desc9a bf|vtoc_name_word,32 disk buffer  006165 0a 006414 000040 240 desc9a namebuf,32 our buffer  241  006166 aa 000000 4310 07 242 fld 0,dl clobber read_args  006167 aa 007006 7570 00 243 staq read_args 244  245 "  246 " Now process the name. 247 "  248  006170 aa 012262 7020 00 249 tsx2 stripa strip blanks at end of name  006171 0a 006414 000040 250 desc9a namebuf,32  006172 251 gotlen: 006172 0a 006413 7550 00 252 sta namebuf-1 store length  006173 aa 000007 0350 07 253 adla 4+3,dl round length up, add one word 006174 aa 000002 7710 00 254 arl 2  006175 0a 006204 7510 07 255 stca putargs,07 set args to put  256  257 "  258 " Compute proper offset in ast name table.  259 "  006176 aa 000000 6360 11 260 eaq 0,1 qu = aste index  006177 aa 000022 7720 00 261 qrl 18 ql = aste index  006200 aa 000011 4020 07 262 mpy sstnt_name_length,dl  006201 aa 000030 6360 06 263 eaq sstnt.names,ql get address of sstnt entry  264  006202 aa 007035 7020 00 265 tsx2 put move the name into the ast name tbl  006203 0a 006372 0000 00 266 arg sstnt_sdw  006204 0a 006413 000000 267 putargs: zero namebuf-1,*-* 006205 0a 006276 7020 00 268 tsx2 error 269  006206 270 next:  006206 aa 000001 6210 11 271 eax1 1,1 x1 is index of next aste 006207 0a 006360 0200 13 272 adlx0 ast_sizes,3  006210 0a 006365 1000 13 273 cmpx0 ast_offsets+1,3 done with pool  006211 0a 006112 6020 00 274 tnc loop  275  276 "  277 " Skip to next AST pool 278 "  279  006212 aa 000001 6230 13 280 eax3 1,3  006213 aa 000004 1030 03 281 cmpx3 4,du 006214 0a 006112 6040 00 282 tmi loop  283  284 "  285 " Skip to next AST pool 286 "  287  006215 aa 000001 6230 13 288 eax3 1,3  006216 aa 000004 1030 03 289 cmpx3 4,du 006217 0a 006112 6040 00 290 tmi loop  291  292 "  293 " Mark sstnt as valid  294 "  295  006220 aa 400000 2350 03 296 lda sstnt.valid,du get valid bit  006221 0a 006324 7550 00 297 sta sstnt+sstnt.valid_word 006222 0a 006440 2350 00 298 lda =abos "  006223 0a 006325 7550 00 299 sta sstnt+sstnt.multics_or_bos 006224 aa 6 01532 2371 00 300 ldaq com|mctime get time of BOS entry  006225 0a 006326 7570 00 301 staq sstnt+sstnt.fill_time 302  006226 aa 000000 6360 00 303 eaq 0  006227 aa 007035 7020 00 304 tsx2 put write back header  006230 0a 006372 0000 00 305 arg sstnt_sdw  006231 0a 006324 000030 306 zero sstnt,sstnt.names 006232 0a 006256 7100 00 307 tra tragedy.2  308  309 " 310  006233 311 return: 006233 aa 000000 6200 00 312 x0: eax0 *-*  006234 aa 000000 6210 00 313 x1: eax1 *-*  006235 aa 000000 6220 00 314 x2: eax2 *-*  006236 aa 000000 6230 00 315 x3: eax3 *-*  006237 0a 006375 2340 00 316 szn ascom command or subroutine?  006240 aa 000000 6000 12 317 tze 0,2 subroutine -- return to caller  006241 aa 000001 3350 07 318 lca 1,dl no next command  006242 aa 7 00001 7101 12 319 tra mem|1,2  320  321  006243 0a 006375 2340 00 322 tragedy: szn ascom command?  006244 0a 006233 6000 00 323 tze return skip message if not command  006245 aa 012241 7020 00 324 tsx2 erpt cannot initialize  006246 aa 030 163 163 164 325 acc "sstn: cannot initialize." 006247 aa 156 072 040 143 006250 aa 141 156 156 157 006251 aa 164 040 151 156 006252 aa 151 164 151 141 006253 aa 154 151 172 145 006254 aa 056 000 000 000 006255 0a 006233 7100 00 326 tra return 327  006256 328 tragedy.2:  006256 aa 012241 7020 00 329 tsx2 erpt  006257 aa 045 163 163 164 330 acc "sstn: cannot write back sstnt header."  006260 aa 156 072 040 143 006261 aa 141 156 156 157 006262 aa 164 040 167 162 006263 aa 151 164 145 040 006264 aa 142 141 143 153 006265 aa 040 163 163 164 006266 aa 156 164 040 150 006267 aa 145 141 144 145 006270 aa 162 056 000 000 006271 0a 006233 7100 00 331 tra return 332  006272 333 is_root:  006272 0a 006441 2350 00 334 lda =a> " get root name 006273 0a 006414 7550 00 335 sta namebuf  006274 aa 000001 2350 07 336 lda 1,dl length is 1  006275 0a 006172 7100 00 337 tra gotlen 338  339  006276 340 error:  006276 aa 000001 1220 03 341 sblx2 1,du compute location of error exit 006277 0a 006432 4420 00 342 sxl2 errloc save it  006300 0a 006430 4400 00 343 sxl0 errastep save astep  006301 aa 000022 7710 00 344 arl 18 error code in AL  006302 0a 006431 7550 00 345 sta errcode save error code from apnd 006303 aa 012241 7020 00 346 tsx2 erpt print error message 006304 aa 053 163 163 164 347 acc "sstn: error ^d at ^o processing aste at ^o."  006305 aa 156 072 040 145 006306 aa 162 162 157 162 006307 aa 040 136 144 040 006310 aa 141 164 040 136 006311 aa 157 040 160 162 006312 aa 157 143 145 163 006313 aa 163 151 156 147 006314 aa 040 141 163 164 006315 aa 145 040 141 164 006316 aa 040 136 157 056 006317 0a 006431 0000 00 348 arg errcode  006320 0a 006432 0000 00 349 arg errloc 006321 0a 006430 0000 00 350 arg errastep  351  006322 0a 006206 7100 00 352 tra next  353  354 "  006323 aa 000000 0110 03 355 even  006324 356 sstnt: bss ,sstnt.names sstnt header  006354 aa 000000 000012 357 sstntname:dec 10  006355 aa 163 163 164 137 358 aci "sst_names_ " 006356 aa 156 141 155 145 006357 aa 163 137 040 040 006360 359 ast_sizes:bss ,4  006364 360 ast_offsets:  006364 361 bss ,5 362  006371 aa 000000 0110 03 363 even  006372 364 sstnt_sdw:  006372 365 bss ,2 006374 366 sstbase: bss ,1 367  006375 aa 000000 000000 368 ascom: dec 0 nonzero if invoked as command 369  006376 370 aste: bss ,ast_size image of an aste  371  006412 aa 000000 0110 03 372 odd  006413 aa 000000 000000 373 dec 0  006414 374 namebuf: bss ,8 varying name buffer  006424 aa 000000 000000 375 devt: oct 0 vtoc devtype word  006425 376 vtoce_devadd:  006425 aa 000000 000000 377 oct 0 same  006426 378 vtoc_remainder: 006426 aa 000000 000000 379 oct 0 ditto  006427 aa 000000 000000 380 trctemp: dec 0  006430 381 errastep: bss ,1  006431 382 errcode: bss ,1 006432 383 errloc: bss ,1  384  385  386  387 " 388  389 include bos_sdw  8-1 "  8-2 " BEGIN INCLUDE FILE sdw.incl.alm 02/12/74  8-3 "  000014 8-4 equ sdw.add_shift,12  007000 8-5 bool sdw.r1,007000 Ringbrack 1 (DL)  000700 8-6 bool sdw.r2,000700 Ringbrack 2 (DL)  000070 8-7 bool sdw.r3,000070 Ringbrack 3 (DL)  8-8  000004 8-9 bool sdw.df,000004 Directed fault bit (0 -> fault)  000003 8-10 bool sdw.fault_code,000003 Number of directed fault  8-11  377770 8-12 bool sdw.bound,377770 Bound field (DU)  000004 8-13 bool sdw.read,000004 Read permission bit (DU) 000002 8-14 bool sdw.execute,000002 Execute permission bit (DU)  000001 8-15 bool sdw.write,000001 Write permission bit (DU)  8-16  400000 8-17 bool sdw.privileged,400000 Privileged bit (DL) 200000 8-18 bool sdw.unpaged,200000 Unpaged bit (DL)  100000 8-19 bool sdw.entry_bound_sw,100000 Entry bound switch (DL) 040000 8-20 bool sdw.cache,040000 Cache enabled bit (DL)  037777 8-21 bool sdw.entry_bound,037777 Entry bound (DL)  8-22  8-23 "  8-24 " END INCLUDE FILE sdw.incl.alm  8-25 "  390  391 include sst  9-1  9-2  9-3 "BEGIN INCLUDE FILE sst.incl.alm  9-4  9-5  9-6 "Created 11/11/82 1426.0 est Thu by convert_include_file, 9-7 " Version of 07/15/82 2104.3 est Thu.  9-8  9-9 "Made from >udd>Multics>Bongiovanni>htd>dm_dir>sst.incl.pl1,  9-10 " modified 11/11/82 1425.9 est Thu  9-11  9-12 "  9-13 " Structure sst 9-14 "  001000 9-15 equ sst_size,512  9-16  9-17  000000 9-18 equ sst.space,0  000010 9-19 equ sst.pre_page_time,8 " DOUBLE  000012 9-20 equ sst.post_purge_time,10 " DOUBLE  000014 9-21 equ sst.post_in_core,12  000015 9-22 equ sst.thrashing,13  000016 9-23 equ sst.npfs_misses,14 000017 9-24 equ sst.salv,15  000020 9-25 equ sst.ptl,16 000021 9-26 equ sst.astl,17  000022 9-27 equ sst.astl_event,18  9-28  000023 9-29 equ sst.astl_notify_requested_word,19  400000 9-30 bool sst.astl_notify_requested,400000 " DU 9-31  000024 9-32 equ sst.nused,20  000025 9-33 equ sst.ptwbase,21 000026 9-34 equ sst.tfreep,22  000030 9-35 equ sst.astap,24  000032 9-36 equ sst.bulk_pvtx,26  000033 9-37 equ sst.ptl_wait_ct,27 000034 9-38 equ sst.astsize,28 000035 9-39 equ sst.cmesize,29 000036 9-40 equ sst.root_astep,30  000040 9-41 equ sst.pts,32 000044 9-42 equ sst.level,36 " LEVEL 2  9-43  000044 9-44 equ sst.ausedp,36 " UPPER 000044 9-45 equ sst.no_aste,36 " LOWER  9-46  000050 9-47 equ sst.atempp,40 " UPPER 000050 9-48 equ sst.atempp1,40 " LOWER  9-49  000051 9-50 equ sst.dm_enabled_word,41 400000 9-51 bool sst.dm_enabled,400000 " DU  9-52  000052 9-53 equ sst.ainitp,42 " UPPER 000052 9-54 equ sst.ainitp1,42 " LOWER  9-55  000053 9-56 equ sst.strsize,43 000054 9-57 equ sst.cmp,44 9-58  000056 9-59 equ sst.usedp,46 " UPPER  9-60  000057 9-61 equ sst.wtct,47  9-62  000060 9-63 equ sst.startp,48 " UPPER 9-64  000061 9-65 equ sst.removep,49 " UPPER  9-66  000062 9-67 equ sst.double_write,50  000063 9-68 equ sst.temp_w_event,51  000064 9-69 equ sst.root_pvtx,52  9-70  000065 9-71 equ sst.ptw_first_word,53  400000 9-72 bool sst.ptw_first,400000 " DU 9-73  000066 9-74 equ sst.nolock_word,54 400000 9-75 bool sst.nolock,400000 " DU  9-76  000067 9-77 equ sst.x_fsdctp,55 " UPPER  9-78  000070 9-79 equ sst.fc_skips_pinned,56 000071 9-80 equ sst.cl_skips_pinned,57 000072 9-81 equ sst.ast_ht_ptr,58  000074 9-82 equ sst.ast_ht_n_buckets,60  000075 9-83 equ sst.ast_ht_uid_mask,61 000076 9-84 equ sst.meter_ast_locking,62  000077 9-85 equ sst.checksum_filemap,63  000100 9-86 equ sst.page_read_errors,64  000101 9-87 equ sst.page_write_errors,65  000102 9-88 equ sst.rws_read_errors,66 000103 9-89 equ sst.rws_write_errors,67  000104 9-90 equ sst.cycle_pv_allocation,68 000105 9-91 equ sst.n_trailers,69  000106 9-92 equ sst.synch_activations,70  000107 9-93 equ sst.synch_skips,71 000110 9-94 equ sst.lock_waits,72  000111 9-95 equ sst.total_locks_set,73 000112 9-96 equ sst.pdir_page_faults,74  000113 9-97 equ sst.level_1_page_faults,75 000114 9-98 equ sst.dir_page_faults,76 000115 9-99 equ sst.ring_0_page_faults,77  000116 9-100 equ sst.rqover,78  000117 9-101 equ sst.pc_io_waits,79 000120 9-102 equ sst.steps,80  000121 9-103 equ sst.needc,81  000122 9-104 equ sst.ceiling,82 000123 9-105 equ sst.ctwait,83  000124 9-106 equ sst.wired,84  000125 9-107 equ sst.laps,85  000126 9-108 equ sst.skipw,86  000127 9-109 equ sst.skipu,87  000130 9-110 equ sst.skipm,88  000131 9-111 equ sst.skipos,89  000132 9-112 equ sst.skipspd,90 000133 9-113 equ sst.aused,91  000134 9-114 equ sst.damaged_ct,92  000135 9-115 equ sst.deact_count,93 000136 9-116 equ sst.demand_deact_attempts,94  000137 9-117 equ sst.demand_deactivations,95  000140 9-118 equ sst.reads,96  000150 9-119 equ sst.writes,104 000160 9-120 equ sst.short_pf_count,112 000161 9-121 equ sst.loop_locks,113 000162 9-122 equ sst.loop_lock_time,114 " DOUBLE  000164 9-123 equ sst.cpu_sf_time,116 " DOUBLE  000166 9-124 equ sst.total_sf_pf,118  000167 9-125 equ sst.total_sf,119  000170 9-126 equ sst.pre_page_size,120  000171 9-127 equ sst.post_list_size,121 000172 9-128 equ sst.post_purgings,122  000173 9-129 equ sst.post_purge_calls,123  000174 9-130 equ sst.pre_page_calls,124 000175 9-131 equ sst.pre_page_list_size,125 000176 9-132 equ sst.pre_page_misses,126  000177 9-133 equ sst.pre_pagings,127  000200 9-134 equ sst.wire_proc_data,128 " DOUBLE  000220 9-135 equ sst.abs_wired_count,144  000221 9-136 equ sst.system_type,145  000222 9-137 equ sst.wired_copies,146  000223 9-138 equ sst.recopies,147  000224 9-139 equ sst.first_core_block,148  000225 9-140 equ sst.last_core_block,149  000226 9-141 equ sst.fw_retries,150 000227 9-142 equ sst.pvhtp,151  000230 9-143 equ sst.askipsize,152  000234 9-144 equ sst.aneedsize,156  000240 9-145 equ sst.stepsa,160 000241 9-146 equ sst.askipsehs,161  000242 9-147 equ sst.asearches,162  000243 9-148 equ sst.askipslevel,163  000244 9-149 equ sst.askipsinit,164 000245 9-150 equ sst.acost,165  000246 9-151 equ sst.askipslock,166 000247 9-152 equ sst.askipdius,167  000250 9-153 equ sst.alaps,168  000251 9-154 equ sst.updates,169  000252 9-155 equ sst.setfaults_all,170  000253 9-156 equ sst.setfaults_acc,171  000254 9-157 equ sst.total_bf,172  000255 9-158 equ sst.total_bf_pf,173  000256 9-159 equ sst.cpu_bf_time,174 " DOUBLE  000260 9-160 equ sst.asteps,176 000264 9-161 equ sst.ast_locked_at_time,180 " DOUBLE  000266 9-162 equ sst.ast_locked_total_time,182 " DOUBLE 000270 9-163 equ sst.ast_lock_wait_time,184 " DOUBLE  000272 9-164 equ sst.ast_locking_count,186  000273 9-165 equ sst.cleanup_count,187  000274 9-166 equ sst.cleanups_with_any_rws,188  000275 9-167 equ sst.cleanup_rws_count,189  000276 9-168 equ sst.cleanup_real_time,190 " DOUBLE 000300 9-169 equ sst.tree_count,192 000400 9-170 equ sst.pp_meters,256  9-171  000500 9-172 equ sst.wusedp,320 " UPPER  9-173  000501 9-174 equ sst.write_hunts,321  000502 9-175 equ sst.claim_skip_cme,322 000503 9-176 equ sst.claim_skip_free,323  000504 9-177 equ sst.claim_notmod,324  000505 9-178 equ sst.claim_passed_used,325  000506 9-179 equ sst.claim_skip_ptw,326 000507 9-180 equ sst.claim_writes,327  000510 9-181 equ sst.claim_steps,328  000511 9-182 equ sst.rws_reads_os,329  000512 9-183 equ sst.pd_updates,330 000513 9-184 equ sst.pre_seeks_failed,331  000514 9-185 equ sst.pd_desperation_steps,332  000515 9-186 equ sst.pd_desperations,333  000516 9-187 equ sst.skips_nypd,334 9-188  000517 9-189 equ sst.pd_writeahead_word,335 400000 9-190 bool sst.pd_writeahead,400000 " DU 9-191  000520 9-192 equ sst.pd_desperations_not_mod,336  000521 9-193 equ sst.resurrections,337  000522 9-194 equ sst.volmap_seg_page_faults,338 000523 9-195 equ sst.oopv,339  000524 9-196 equ sst.pdflush_replaces,340  000525 9-197 equ sst.pcrsst_statptr,341 000526 9-198 equ sst.pd_resurrections,342  000527 9-199 equ sst.dblw_resurrections,343 000530 9-200 equ sst.sgm_time,344 " DOUBLE 000532 9-201 equ sst.sgm_pf,346 000533 9-202 equ sst.bad_sgms,347  000534 9-203 equ sst.sgm_sgft,348  000535 9-204 equ sst.good_sgms,349  000536 9-205 equ sst.claim_runs,350 000537 9-206 equ sst.activations,351  000540 9-207 equ sst.dir_activations,352  000541 9-208 equ sst.hedge_updatevs,353 000542 9-209 equ sst.hedge_writes,354  000543 9-210 equ sst.evict_recover_data,355 " LEVEL 2  9-211  000543 9-212 equ sst.evict_ptp,355 " UPPER 000543 9-213 equ sst.evict_phmbit,355 " LOWER  9-214  000544 9-215 equ sst.force_swrites,356  000545 9-216 equ sst.force_pwrites,357  000546 9-217 equ sst.fw_none,358  000547 9-218 equ sst.force_updatevs,359 000550 9-219 equ sst.pf_pd_loop_time,360 " DOUBLE  000552 9-220 equ sst.pf_unlock_ptl_time,362 " DOUBLE  000554 9-221 equ sst.pf_pd_loop_meterings,364  000555 9-222 equ sst.pf_unlock_ptl_meterings,365  000556 9-223 equ sst.makeknown_activations,366  000557 9-224 equ sst.backup_activations,367 000560 9-225 equ sst.metering_flags,368 " LEVEL 2  9-226  400000 9-227 bool sst.activate_activated,400000 " DU  9-228  000561 9-229 equ sst.seg_fault_calls,369  000562 9-230 equ sst.stk_truncate_should_didnt,370  000563 9-231 equ sst.stk_truncate_should_did,371  000564 9-232 equ sst.stk_truncate_shouldnt_didnt,372  000565 9-233 equ sst.stk_truncate_shouldnt_did,373  000566 9-234 equ sst.stk_pages_truncated,374  000567 9-235 equ sst.stk_pages_truncated_in_core,375  000600 9-236 equ sst.pdmap,384  000602 9-237 equ sst.pdhtp,386  000604 9-238 equ sst.pd_id,388  000605 9-239 equ sst.pdsize,389 000606 9-240 equ sst.pdme_no,390  9-241  000607 9-242 equ sst.pdusedp,391 " UPPER  9-243  000610 9-244 equ sst.pd_first,392  000611 9-245 equ sst.pd_map_addr,393  000612 9-246 equ sst.nrecs_pdmap,394  000613 9-247 equ sst.pd_free,395  000614 9-248 equ sst.pd_using,396  000615 9-249 equ sst.pd_wtct,397  000616 9-250 equ sst.pd_writes,398  000617 9-251 equ sst.pd_ceiling,399 000620 9-252 equ sst.pd_steps,400  000621 9-253 equ sst.pd_skips_incore,401  000622 9-254 equ sst.pd_skips_rws,402  000623 9-255 equ sst.pd_needed,403  000624 9-256 equ sst.mod_during_write,404  000625 9-257 equ sst.pd_write_aborts,405  000626 9-258 equ sst.pd_rws_active,406  000627 9-259 equ sst.pd_no_free,407 000630 9-260 equ sst.pd_read_truncates,408  000631 9-261 equ sst.pd_write_truncates,409 000632 9-262 equ sst.pd_htsize,410  9-263  000633 9-264 equ sst.pd_hash_mask,411 " UPPER  9-265  000634 9-266 equ sst.pdmap_astep,412  000636 9-267 equ sst.zero_pages,414 000637 9-268 equ sst.pd_zero_pages,415  000640 9-269 equ sst.trace_sw,416 " LEVEL 2  9-270  000010 9-271 bool sst.pc_trace_pf,000010 " DL  000004 9-272 bool sst.tty_trace,000004 " DL 000002 9-273 bool sst.pc_trace,000002 " DL 000001 9-274 bool sst.sc_trace,000001 " DL 9-275  000641 9-276 equ sst.new_pages,417  000642 9-277 equ sst.rws_time_temp,418 " DOUBLE 000644 9-278 equ sst.rws_time_start,420 " DOUBLE  000646 9-279 equ sst.rws_time_done,422 " DOUBLE 000650 9-280 equ sst.pd_time_counts,424 000654 9-281 equ sst.pd_time_values,428 " DOUBLE  000664 9-282 equ sst.pd_no_free_gtpd,436  000665 9-283 equ sst.pd_page_faults,437 000666 9-284 equ sst.pd_no_free_first,438  000667 9-285 equ sst.update_index,439  000670 9-286 equ sst.last_update,440 " DOUBLE  000672 9-287 equ sst.count_pdmes,442  000673 9-288 equ sst.bucket_overflow,443  000674 9-289 equ sst.buckets,444  9-290  000774 9-291 equ sst.ast_track_word,508 400000 9-292 bool sst.ast_track,400000 " DU 9-293  000775 9-294 equ sst.dirlock_writebehind,509  000776 9-295 equ sst.write_limit,510  9-296  9-297 "END INCLUDE FILE sst.incl.alm 392  393  394 include bos_tv 10-1 " 10-2 " Begin include file ...... bos_tv.incl.alm 10-3 " Created in November 1971 by N. I. Morris. 10-4 " Modified 9/9/76 by Noel I. Morris 10-5 " Modified by Sherman D. Sprague 02/11/81 for DPS8 support. 10-6 " Modified November 1981 by C. Hornig to remove iom_connect_rel.  10-7 " Modified January 1982 by J. Bongiovanni to add getport_info  10-8 " Modified May 1982 by Sherman D. Sprague to add getmpc.  10-9  10-10 " BOS Utility Package Transfer Vector.  10-11  012000 10-12 equ pagectl,utilorg  012001 10-13 equ line,pagectl+1 012040 10-14 equ arg,line+31  012060 10-15 equ darg,arg+arglen+1  012100 10-16 equ earg,darg+arglen+1 012120 10-17 equ fltscu,earg+arglen+1  10-18  012200 10-19 equ tv_org,utilorg+128 10-20  012200 10-21 equ scan,tv_org+0  012201 10-22 equ arg_count,tv_org+1 012202 10-23 equ nextline,tv_org+2  012203 10-24 equ nlraw,tv_org+3 012204 10-25 equ search,tv_org+4  012205 10-26 equ makefil,tv_org+5  012206 10-27 equ ldcom,tv_org+6 012207 10-28 equ getsec,tv_org+7  012210 10-29 equ cvinit,tv_org+8  012211 10-30 equ rdev,tv_org+9  012212 10-31 equ wdev,tv_org+10 012213 10-32 equ phybos,tv_org+11  012214 10-33 equ bosphy,tv_org+12  012215 10-34 equ phyadd,tv_org+13  012216 10-35 equ mulbos,tv_org+14  012217 10-36 equ bosmul,tv_org+15  012220 10-37 equ lookup_devmodel,tv_org+16  012221 10-38 equ makesdw,tv_org+17  012222 10-39 equ argbos,tv_org+18  012223 10-40 equ argmul,tv_org+19  012224 10-41 equ amdvt,tv_org+20  012225 10-42 equ amfirst,tv_org+21  012226 10-43 equ amlast,tv_org+22  012227 10-44 equ cvnamla,tv_org+23  012230 10-45 equ sect_per_cyl_list,tv_org+24  012231 10-46 equ sect_per_dev_list,tv_org+25  012232 10-47 equ rec_per_dev_list,tv_org+26 012233 10-48 equ amaxio,tv_org+27  012234 10-49 equ rdsec,tv_org+28  012235 10-50 equ wtsec,tv_org+29  012236 10-51 equ disk_brief,tv_org+30  012237 10-52 equ itaper,tv_org+31  012240 10-53 equ itapew,tv_org+32  012241 10-54 equ erpt,tv_org+33 012242 10-55 equ ercv,tv_org+34 012243 10-56 equ erbuf,tv_org+35  012244 10-57 equ type,tv_org+36 012245 10-58 equ ttyinit,tv_org+37  012246 10-59 equ readcd,tv_org+38  012247 10-60 equ readtty,tv_org+39  012250 10-61 equ getprt,tv_org+40  012251 10-62 equ punch,tv_org+41  012252 10-63 equ octwd,tv_org+42  012253 10-64 equ geas,tv_org+43 012254 10-65 equ geastab,tv_org+44  012255 10-66 equ asge,tv_org+45 012256 10-67 equ asgetab,tv_org+46  012257 10-68 equ ljust,tv_org+47  012260 10-69 equ rjust,tv_org+48  012261 10-70 equ bzel,tv_org+49 012262 10-71 equ stripa,tv_org+50  012263 10-72 equ stripg,tv_org+51  012264 10-73 equ getconf,tv_org+52  012265 10-74 equ getmore,tv_org+53  012266 10-75 equ getperiph,tv_org+54  012267 10-76 equ rdclock,tv_org+55  012270 10-77 equ cvclock,tv_org+56  012271 10-78 equ init_io,tv_org+57  012272 10-79 equ connect_iom,tv_org+58  012273 10-80 equ getmpc,tv_org+59  012274 10-81 equ check_status,tv_org+60 012275 10-82 equ get_special_interrupt,tv_org+61  012276 10-83 equ get_status_interrupt,tv_org+62 012277 10-84 equ xio_wait,tv_org+63 012300 10-85 equ initint,tv_org+64  012301 10-86 equ wantflt,tv_org+65  012302 10-87 equ intno,tv_org+66  012303 10-88 equ intrpts1,tv_org+67 012304 10-89 equ hexwd,tv_org+68  012305 10-90 equ find_disk,tv_org+69  012306 10-91 equ find_root,tv_org+70  012307 10-92 equ find_part,tv_org+71  012310 10-93 equ check_status_no_stat,tv_org+72 012311 10-94 equ check_special_status,tv_org+73 012312 10-95 equ check_cpu_type,tv_org+74  012313 10-96 equ getportinfo,tv_org+75  10-97  10-98 " End of include file ...... bos_tv.incl.alm  10-99  395  396 include bos_common 11-1 "  11-2 " Begin include file ...... bos_common.incl.alm 11-3 " Modified on 8/31/76 by N. I. Morris  11-4 " Modified on 9/01/80 by Sherman D. Sprague for DPS8 operation  11-5 " Modified on 5/26/82 by Sherman D. Sprague to lengthen config size 11-6 " Modified on 3/01/83 by Sherman D. Sprague to lengthen dirlen  11-7 " MACHINE CONDITIONS AREA  11-8 " Its length is "storlen". 11-9  000000 11-10 equ amptwregs,0 Ass. Mem PTW registers  000100 11-11 equ amptwptr,64 Ass. Mem PTW pointers 000200 11-12 equ amsdwregs,128 Ass. Mem SDW registers  000400 11-13 equ amsdwptr,256 Ass. Mem SDW pointers  000500 11-14 equ ouhist,320 operations hist regs  000700 11-15 equ cuhist,448 control unit hist regs  001100 11-16 equ eishist,576 eis hist regs  001300 11-17 equ aphist,704 appending unit hist regs  001500 11-18 equ prs,832 pointer regs  001520 11-19 equ regs,848 sreg 001530 11-20 equ low_order_port,856 port to read clock from 001532 11-21 equ mctime,858 bootload memory clock  001540 11-22 equ scu,864  001550 11-23 equ mcm,872 memory masks 8 ports 001570 11-24 equ dbr,888  001572 11-25 equ intrpts,890 waiting interrupts 001573 11-26 equ bar,891 bar  001574 11-27 equ modereg,892 processor & cache mode registers  001576 11-28 equ faultreg,894 processor fault register  001600 11-29 equ ptrlen,896 pointer-lengths EIS 0 mod 8 001610 11-30 equ coreblocks,904 array of port information  11-31 " Bits 0-17 => num 1st 64-word block  11-32 " Bits 18-35 => num of 64-word blocks  11-33 " (-1) => no mem on this port  001620 11-34 equ lowport_cfg,912 Saved CFG from bootload SCU  11-35  002000 11-36 equ storlen,1024  11-37  11-38  11-39  11-40 " BOS COMMAND DIRECTORY 11-41 " Its length is "dirlen".  11-42  002000 11-43 equ dir,1024 ( 0-23) => sector # of first sector on BOS disk  11-44 " (24-35) => # of sectors in BOS common  002001 11-45 equ used,dir+1 ( 0-23) => # of next available sector on BOS disk  002002 11-46 equ useable,dir+2 ( 0-23) => first unavailable sector on BOS disk  002003 11-47 equ corearea,dir+3 ( 0-23) => starting sector of Multics core image  11-48 " (24-35) => # of sectors in Multics core image  002004 11-49 equ setuparea,dir+4 Sector and length of setup 002005 11-50 equ utilarea,dir+5 where utility package is kept  002010 11-51 equ iom_mxbase,dir+8 IOM IMW area address  002011 11-52 equ iom_mbbase,dir+9 IOM mailbox base  002012 11-53 equ bos_dvt,dir+10 BOS disk loc: (o3/iom,o6/chn,o9/drive,o18/devtype)  002013 11-54 equ unitgroup,dir+11 disk unitgroup (device no. or area no.)  002014 11-55 equ diskchanno,dir+12 channel to be used for disk  002015 11-56 equ tapechanno,dir+13 channel # for tapes  002016 11-57 equ rdrchanno,dir+14 channel number for card reader  002017 11-58 equ ttychanno,dir+15 channel # for operator's tty  002020 11-59 equ quietsw,dir+16 if on, don't print card and macro commands  002021 11-60 equ inputsw,dir+17 read from tty, cards, macros  002022 11-61 equ macroloc,dir+18 disk addr, buffer index of macro file  002023 11-62 equ fdump_state,dir+19 completion flag for last FDUMP  002024 11-63 equ d355_state,dir+20 = 1 if DataNet 355 loaded successfully  002025 11-64 equ skipsw,dir+21 if on, skip runcom lines 002026 11-65 equ ttypmtsw,dir+22 if on, prompt  002027 11-66 equ curtcmd,dir+23 current bos command 002030 11-67 equ readysw,dir+24 if on, print ready message  002032 11-68 equ cmdlst,dir+26 list of commands 11-69  000600 11-70 equ dirlen,384 11-71  11-72  11-73  11-74 " MACRO BUFFER AREA 11-75  002600 11-76 equ macrobuf,dir+dirlen io buffer for macro files 002700 11-77 equ macroline,macrobuf+64 runcom command line 002716 11-78 equ macroargs,macroline+14 argument descriptors for runcom  11-79  11-80  11-81  11-82 " CONFIGURATION CARD AREA  11-83 " Its length is 2048 words.  11-84  003000 11-85 equ conf,macrobuf+128 start of configuration info  007000 11-86 equ econf,conf+2048 end of configuration info  000020 11-87 equ confl,16 length of each line  11-88  11-89  007000 11-90 equ seg6length,econf length of bos_common area segment 11-91  11-92 " End of include file ...... bos_common.incl.alm  11-93  397  398  399  400 end  LITERALS 006434 aa 202021 474524 006435 aa 777777 770000 006436 aa 155165 154164 006437 aa 777777 777777 006440 aa 142157 163040 006441 aa 076040 040040 NAME DEFINITIONS FOR ENTRY POINTS AND SEGDEFS 006442 5a 000003 000000 006443 5a 000017 600000 006444 aa 000000 000000 006445 55 000010 000002 006446 5a 000002 400003 006447 55 000006 000010 006450 aa 004 163 163 164 006451 aa 156 000 000 000 006452 55 000002 000003 006453 6a 000000 400002 006454 55 000013 000003 006455 aa 014 163 171 155 symbol_table  006456 aa 142 157 154 137 006457 aa 164 141 142 154 006460 aa 145 000 000 000 DEFINITIONS HASH TABLE  006461 aa 000000 000015 006462 aa 000000 000000 006463 aa 000000 000000 006464 aa 000000 000000 006465 aa 000000 000000 006466 aa 000000 000000 006467 aa 000000 000000 006470 5a 000010 000000 006471 aa 000000 000000 006472 aa 000000 000000 006473 aa 000000 000000 006474 aa 000000 000000 006475 aa 000000 000000 006476 aa 000000 000000 NO EXTERNAL NAMES  NO TRAP POINTER WORDS  TYPE PAIR BLOCKS  006477 aa 000001 000000 006500 aa 000000 000000 INTERNAL EXPRESSION WORDS 006501 aa 000000 000000 LINKAGE INFORMATION 000000 aa 000000 000000 000001 0a 006442 000000 000002 aa 000000 000000 000003 aa 000000 000000 000004 aa 000000 000000 000005 aa 000000 000000 000006 22 000010 000010 000007 a2 000000 000000 SYMBOL INFORMATION SYMBOL TABLE HEADER  000000 aa 000000 000001 000001 aa 163171 155142 000002 aa 164162 145145 000003 aa 000000 000004 000004 aa 000000 112143 000005 aa 305203 523135 000006 aa 000000 112272 000007 aa 232453 655121 000010 aa 141154 155040 000011 aa 040040 040040 000012 aa 000024 000040 000013 aa 000034 000040 000014 aa 000044 000100 000015 aa 000002 000002 000016 aa 000064 000000 000017 aa 000000 000642 000020 aa 000000 000310 000021 aa 000000 000621 000022 aa 000624 000310 000023 aa 000064 000000 000024 aa 101114 115040 000025 aa 126145 162163 000026 aa 151157 156040 000027 aa 040066 056066 000030 aa 040040 116157 000031 aa 166145 155142 000032 aa 145162 040061 000033 aa 071070 062040 000034 aa 110157 154155 000035 aa 163164 145144 000036 aa 164056 123171 000037 aa 163115 141151 000040 aa 156164 056141 000041 aa 040040 040040 000042 aa 040040 040040 000043 aa 040040 040040 000044 aa 154151 163164 000045 aa 040040 040040 000046 aa 040040 040040 000047 aa 040040 040040 000050 aa 040040 040040 000051 aa 040040 040040 000052 aa 040040 040040 000053 aa 040040 040040 000054 aa 040040 040040 000055 aa 040040 040040 000056 aa 040040 040040 000057 aa 040040 040040 000060 aa 040040 040040 000061 aa 040040 040040 000062 aa 040040 040040 000063 aa 040040 040040 000064 aa 000000 000001 000065 aa 000000 000014 000066 aa 000146 000025 000067 aa 122721 273115 000070 aa 000000 112272 000071 aa 216221 200000 000072 aa 000154 000040 000073 aa 113400 415301 000074 aa 000000 111341 000075 aa 220414 400000 000076 aa 000164 000043 000077 aa 043243 126021 000100 aa 000000 103437 000101 aa 417731 400000 000102 aa 000175 000042 000103 aa 112204 105031 000104 aa 000000 111221 000105 aa 055103 400000 000106 aa 000206 000042 000107 aa 066146 212610 000110 aa 000000 106615 000111 aa 362652 200000 000112 aa 000217 000033 000113 aa 043243 130547 000114 aa 000000 102611 000115 aa 327745 600000 000116 aa 000226 000047 000117 aa 110235 072676 000120 aa 000000 111024 000121 aa 524455 000000 000122 aa 000240 000032 000123 aa 113434 042223 000124 aa 000000 111346 000125 aa 227161 400000 000126 aa 000247 000041 000127 aa 105543 476637 000130 aa 000000 110555 000131 aa 260135 200000 000132 aa 000260 000031 000133 aa 113434 242331 000134 aa 000000 111347 000135 aa 432123 600000 000136 aa 000267 000040 000137 aa 110235 072677 000140 aa 000000 111024 000141 aa 524460 600000 000142 aa 000277 000044 000143 aa 121622 277475 000144 aa 000000 112162 000145 aa 321563 400000 000146 aa 076163 160145 >spec>h>3.17>sstn.alm  000147 aa 143076 150076 000150 aa 063056 061067 000151 aa 076163 163164 000152 aa 156056 141154 000153 aa 155040 040040 000154 aa 076154 144144 >ldd>bos>include>bosequ.incl.alm  000155 aa 076142 157163 000156 aa 076151 156143 000157 aa 154165 144145 000160 aa 076142 157163 000161 aa 145161 165056 000162 aa 151156 143154 000163 aa 056141 154155 000164 aa 076154 144144 >ldd>bos>include>vtoc_info.incl.alm 000165 aa 076142 157163 000166 aa 076151 156143 000167 aa 154165 144145 000170 aa 076166 164157 000171 aa 143137 151156 000172 aa 146157 056151 000173 aa 156143 154056 000174 aa 141154 155040 000175 aa 076154 144144 >ldd>bos>include>apnd_equ.incl.alm  000176 aa 076142 157163 000177 aa 076151 156143 000200 aa 154165 144145 000201 aa 076141 160156 000202 aa 144137 145161 000203 aa 165056 151156 000204 aa 143154 056141 000205 aa 154155 040040 000206 aa 076154 144144 >ldd>bos>include>sstn_equ.incl.alm  000207 aa 076142 157163 000210 aa 076151 156143 000211 aa 154165 144145 000212 aa 076163 163164 000213 aa 156137 145161 000214 aa 165056 151156 000215 aa 143154 056141 000216 aa 154155 040040 000217 aa 076154 144144 >ldd>include>sstnt.incl.alm 000220 aa 076151 156143 000221 aa 154165 144145 000222 aa 076163 163164 000223 aa 156164 056151 000224 aa 156143 154056 000225 aa 141154 155040 000226 aa 076154 144144 >ldd>bos>include>bos_page_info.incl.alm 000227 aa 076142 157163 000230 aa 076151 156143 000231 aa 154165 144145 000232 aa 076142 157163 000233 aa 137160 141147 000234 aa 145137 151156 000235 aa 146157 056151 000236 aa 156143 154056 000237 aa 141154 155040 000240 aa 076154 144144 >ldd>include>aste.incl.alm  000241 aa 076151 156143 000242 aa 154165 144145 000243 aa 076141 163164 000244 aa 145056 151156 000245 aa 143154 056141 000246 aa 154155 040040 000247 aa 076154 144144 >ldd>bos>include>bos_sdw.incl.alm  000250 aa 076142 157163 000251 aa 076151 156143 000252 aa 154165 144145 000253 aa 076142 157163 000254 aa 137163 144167 000255 aa 056151 156143 000256 aa 154056 141154 000257 aa 155040 040040 000260 aa 076154 144144 >ldd>include>sst.incl.alm  000261 aa 076151 156143 000262 aa 154165 144145 000263 aa 076163 163164 000264 aa 056151 156143 000265 aa 154056 141154 000266 aa 155040 040040 000267 aa 076154 144144 >ldd>bos>include>bos_tv.incl.alm  000270 aa 076142 157163 000271 aa 076151 156143 000272 aa 154165 144145 000273 aa 076142 157163 000274 aa 137164 166056 000275 aa 151156 143154 000276 aa 056141 154155 000277 aa 076154 144144 >ldd>bos>include>bos_common.incl.alm  000300 aa 076142 157163 000301 aa 076151 156143 000302 aa 154165 144145 000303 aa 076142 157163 000304 aa 137143 157155 000305 aa 155157 156056 000306 aa 151156 143154 000307 aa 056141 154155 MULTICS ASSEMBLY CROSS REFERENCE LISTING Value Symbol Source file Line number  7 abs_wire_entry bos_page_info: 21.  37777 address_compare_mask bos_page_info: 3.  6037 already_valid sstn: 123, 128.  12233 amaxio bos_tv: 48. 12224 amdvt bos_tv: 41. 12225 amfirst bos_tv: 42. 12226 amlast bos_tv: 43. 100 amptwptr bos_common: 11. 0 amptwregs bos_common: 10. 400 amsdwptr bos_common: 13. 200 amsdwregs bos_common: 12. 1300 aphist bos_common: 17. 7032 apnd sstn: 156, 168,  apnd_equ: 27. 7000 apnd_org sstn: 65, apnd_equ: 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,  21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,  34, 35, 36, 37, 38, 39, 40. 12040 arg bos_tv: 14, 15.  12222 argbos bos_tv: 39. 17 arglen bosequ: 17, bos_tv: 15, 16, 17. 12223 argmul bos_tv: 40. 12201 arg_count bos_tv: 22. 6375 ascom sstn: 49, 85, 129, 136, 316, 322, 368. 12255 asge bos_tv: 66. 12256 asgetab bos_tv: 67. 3 ast bos_page_info: 11.  6376 aste sstn: 180, 183, 189, 201, 209, 370.  4000 aste.any_access_on aste: 49. 5 aste.any_access_on_word aste: 48. 0 aste.bp aste: 18. 777 aste.csl_mask aste: 90. 777000 aste.csl_mask_inner bos_page_info: 53.  33 aste.csl_shift aste: 89. 12 aste.csl_word aste: 88. 200000 aste.damaged aste: 116. 13 aste.damaged_word aste: 115. 4 aste.ddnp aste: 104. 12 aste.ddnp_word aste: 103. 200 aste.deact_error aste: 57. 5 aste.deact_error_word aste: 56. 40000 aste.dirsw aste: 73. 5 aste.dirsw_word aste: 72. 2 aste.dius aste: 63. 5 aste.dius_word aste: 62. 400000 aste.dmpr_pad aste: 67. 5 aste.dmpr_pad_word aste: 66. 20 aste.dnzp aste: 100. 12 aste.dnzp_word aste: 99. 7 aste.dtm aste: 82. 6 aste.dtu aste: 81. 200000 aste.ehs aste: 69. 5 aste.ehs_word aste: 68. 400 aste.explicit_deact_ok aste: 55. 5 aste.explicit_deact_ok_word aste: 54.  400 aste.fmchanged aste: 92. 400000 aste.fmchanged1 aste: 114. 13 aste.fmchanged1_word aste: 113. 12 aste.fmchanged_word aste: 91. 200 aste.fms aste: 94. 12 aste.fms_word aste: 93. 40 aste.fm_damaged aste: 61. 5 aste.fm_damaged_word aste: 60. 0 aste.fp aste: 17. 40000 aste.gtms aste: 43. 5 aste.gtms_word aste: 42. 40 aste.gtpd aste: 98. 12 aste.gtpd_word aste: 97. 100000 aste.gtus aste: 41. 5 aste.gtus_word aste: 40. 20000 aste.hc sstn: 190, aste: 45. 100 aste.hc_part aste: 59. 5 aste.hc_part_word aste: 58. 10000 aste.hc_sdw aste: 47. 5 aste.hc_sdw_word aste: 46. 5 aste.hc_word sstn: 189, aste: 44. 13 aste.ht_fp aste: 112. 1 aste.infl aste: 20. 1 aste.infp aste: 21. 1000 aste.inhibit_cache aste: 53. 5 aste.inhibit_cache_word aste: 52. 200000 aste.init aste: 39. 5 aste.init_word aste: 38. 77 aste.marker_mask aste: 126. 0 aste.marker_shift aste: 125. 13 aste.marker_word aste: 124. 20000 aste.master_dir aste: 75. 5 aste.master_dir_word aste: 74. 777 aste.msl_mask aste: 30. 33 aste.msl_shift aste: 29. 4 aste.msl_word aste: 28. 1 aste.nid aste: 65. 5 aste.nid_word aste: 64. 100 aste.npfs aste: 96. 12 aste.npfs_word aste: 95. 777 aste.np_mask aste: 110. 0 aste.np_shift aste: 109. 12 aste.np_word aste: 108. 100000 aste.nqsw aste: 71. 5 aste.nqsw_word aste: 70. 100000 aste.pack_ovfl aste: 118. 13 aste.pack_ovfl_word aste: 117. 2 aste.par_astep aste: 24. 10 aste.per_process aste: 102. 12 aste.per_process_word aste: 101. 3 aste.ptsi_mask aste: 123. 6 aste.ptsi_shift aste: 122. 13 aste.ptsi_word aste: 121. 777 aste.pvtx_mask sstn: 203, aste: 33. 22 aste.pvtx_shift sstn: 202, aste: 32. 4 aste.pvtx_word sstn: 201, aste: 31. 10 aste.quota aste: 84. 777 aste.records_mask aste: 107. 777000 aste.records_mask_inner bos_page_info: 54.  11 aste.records_shift aste: 106. 12 aste.records_word aste: 105. 2 aste.strp aste: 23. 40000 aste.synchronized aste: 120. 13 aste.synchronized_word aste: 119. 4000 aste.tqsw aste: 79. 5 aste.tqsw_word aste: 78. 3 aste.uid sstn: 183, aste: 26. 11 aste.used aste: 86. 400000 aste.usedf aste: 37. 5 aste.usedf_word aste: 36. 10000 aste.volmap_seg aste: 77. 5 aste.volmap_seg_word aste: 76. 4 aste.vtocx sstn: 209, aste: 34. 2000 aste.write_access_on aste: 51. 5 aste.write_access_on_word aste: 50.  0 aste_part.one aste: 134. 377 aste_part.three_mask aste: 139. 0 aste_part.three_shift aste: 138. 13 aste_part.three_word aste: 137. 1 aste_part.two aste: 135. 14 aste_part_size aste: 131. 14 aste_size aste: 15. 6364 ast_offsets sstn: 145, 165, 273, 360.  14 ast_size sstn: 180, 370,  bos_page_info: 28.  6360 ast_sizes sstn: 143, 272, 359. 1573 bar bos_common: 26. 2 bf sstn: 235, 239,  bosequ: 9. 7012 bosdmp apnd_equ: 16. 12217 bosmul bos_tv: 36. 12214 bosphy bos_tv: 33. 2012 bos_dvt bos_common: 53. 12261 bzel bos_tv: 70. 7022 castap apnd_equ: 21. 10101 char_desc bos_page_info: 27.  12312 check_cpu_type bos_tv: 95. 12311 check_special_status bos_tv: 94. 12274 check_status bos_tv: 81. 12310 check_status_no_stat bos_tv: 93. 10 cleanup_entry bos_page_info: 22.  7000 cmdbr sstn: 70, apnd_equ: 10. 2032 cmdlst bos_common: 68. 3 cme bos_page_info: 13.  12 cmep_to_coreadd.rl bos_page_info: 43.  2 cmep_to_desc.ls bos_page_info: 46.  7020 cmpsdw apnd_equ: 20. 6 com sstn: 69, 125, 300, bosequ: 14. 7036 comp apnd_equ: 31. 3000 conf bos_common: 85, 86.  20 confl bos_common: 87. 12272 connect_iom bos_tv: 79. 12 coreadd_to_cmep.ls bos_page_info: 44.  14 coreadd_to_desc.ls bos_page_info: 39.  6 coreadd_to_desc_lower.rl bos_page_info: 40. 2003 corearea bos_common: 47. 1610 coreblocks bos_common: 30. 700 cuhist bos_common: 15. 2027 curtcmd bos_common: 66. 12270 cvclock bos_tv: 77. 12210 cvinit sstn: 59, bos_tv: 29. 12227 cvnamla bos_tv: 44. 2024 d355_state bos_common: 63. 12060 darg bos_tv: 15, 16.  1570 dbr sstn: 69, bos_common: 24. 2 desc_to_cmep.rl bos_page_info: 47.  14 desc_to_coreadd.rl bos_page_info: 41.  6424 devt sstn: 207, 220, 234, 375.  1 df1 bos_page_info: 5.  2000 dir bos_common: 43, 45, 46, 47, 49, 50, 51, 52, 53, 54, 55, 56,  57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 76. 600 dirlen bos_common: 70, 76.  2014 diskchanno bos_common: 55. 12236 disk_brief bos_tv: 51. 0 ds bosequ: 7. 12100 earg bos_tv: 16, 17.  7000 econf bos_common: 86, 90.  1100 eishist bos_common: 16. 12243 erbuf bos_tv: 56. 12242 ercv bos_tv: 55. 12241 erpt sstn: 131, 138, 324, 329, 346, bos_tv: 54. 6430 errastep sstn: 343, 350, 381. 6431 errcode sstn: 345, 348, 382. 6432 errloc sstn: 342, 349, 383. 6276 error sstn: 181, 206, 221, 236, 268, 340.  6 evict_entry bos_page_info: 20.  1576 faultreg bos_common: 28. 0 fault_entry bos_page_info: 14.  2023 fdump_state bos_common: 62. 7037 fetch apnd_equ: 32. 7010 fetchin apnd_equ: 14. 7004 fetchout sstn: 160, 171,  apnd_equ: 12. 7041 fetch_use_buffer apnd_equ: 34. 5 fgb bosequ: 13. 12305 find_disk bos_tv: 90. 12307 find_part bos_tv: 92. 12306 find_root bos_tv: 91. 2000 firmware_bit bosequ: 20. 12120 fltscu bos_tv: 17. 12253 geas bos_tv: 64. 12254 geastab bos_tv: 65. 7034 get sstn: 113, 178,  apnd_equ: 29. 12264 getconf bos_tv: 73. 7026 getinit sstn: 72, apnd_equ: 23. 12265 getmore bos_tv: 74. 12273 getmpc bos_tv: 80. 12266 getperiph bos_tv: 75. 12313 getportinfo bos_tv: 96. 12250 getprt bos_tv: 61. 7027 getsdw sstn: 101, apnd_equ: 24. 12207 getsec bos_tv: 28. 7043 getsltname apnd_equ: 36. 7030 getwd apnd_equ: 25. 12275 get_special_interrupt bos_tv: 82. 12276 get_status_interrupt bos_tv: 83. 6172 gotlen sstn: 251, 337.  7031 grab apnd_equ: 26. 7002 hcdbr apnd_equ: 11. 12304 hexwd bos_tv: 89. 12300 initint sstn: 51, bos_tv: 85. 12271 init_io sstn: 54, bos_tv: 78. 2021 inputsw bos_common: 60. 100000 int bos_page_info: 6.  12302 intno bos_tv: 87. 1572 intrpts bos_common: 25. 12303 intrpts1 bos_tv: 88. 2011 iom_mbbase bos_common: 52. 2010 iom_mxbase bos_common: 51. 6272 is_root sstn: 187, 333.  12237 itaper bos_tv: 52. 12240 itapew bos_tv: 53. 12206 ldcom sstn: 66, bos_tv: 27. 6062 li sstn: 142, 148.  12001 line bos_tv: 13, 14.  12257 ljust bos_tv: 68. 12220 lookup_devmodel bos_tv: 37. 6112 loop sstn: 176, 274, 282, 290.  1620 lowport_cfg bos_common: 34. 1530 low_order_port bos_common: 20. 2716 macroargs bos_common: 78. 2600 macrobuf bos_common: 76, 77, 85. 2700 macroline bos_common: 77, 78.  2022 macroloc bos_common: 61. 12205 makefil bos_tv: 26. 12221 makesdw bos_tv: 38. 1550 mcm bos_common: 23. 1532 mctime sstn: 125, 300,  bos_common: 21. 7 mem sstn: 319, bosequ: 15. 1574 modereg bos_common: 27. 1 moved_bit bos_page_info: 25.  12216 mulbos sstn: 219, bos_tv: 35. 6414 namebuf sstn: 240, 250, 252, 267, 335, 374.  10 name_offset sstn: 23. 6206 next sstn: 184, 191, 212, 270, 352. 12202 nextline bos_tv: 23. 12203 nlraw bos_tv: 24. 6052 not_yet_valid sstn: 119, 126, 135. 4 no_post bos_page_info: 8.  6061 nya sstn: 137, 140.  3 n_sector_per_vtoce sstn: 227, vtoc_info: 18. 5 n_vtoce_per_record sstn: 214, vtoc_info: 17. 12252 octwd bos_tv: 63. 500 ouhist bos_common: 14. 12000 pagectl bos_tv: 12, 13.  7013 pagesw apnd_equ: 17. 12 page_power bos_page_info: 4.  3 pdm bos_page_info: 10.  4 pdsize bos_page_info: 29.  7044 pd_check apnd_equ: 37. 5 pd_flush_entry bos_page_info: 19.  12 pd_free_required bos_page_info: 30.  7046 pd_getptr apnd_equ: 39. 36 pd_max_rws bos_page_info: 32.  7045 pd_modify apnd_equ: 38. 36 pd_write_limit bos_page_info: 31.  3 pgm bosequ: 10. 12215 phyadd bos_tv: 34. 12213 phybos bos_tv: 32. 7014 pmlsw apnd_equ: 18. 2 post_purge_bit bos_page_info: 24.  4 post_purge_entry bos_page_info: 18.  3 pre_page_entry bos_page_info: 17.  17 pre_seek_limit bos_page_info: 33.  20 pri bos_page_info: 7.  1500 prs bos_common: 18. 1600 ptrlen bos_common: 29. 2 ptw bos_page_info: 12.  12251 punch bos_tv: 62. 7035 put sstn: 265, 304,  apnd_equ: 30. 6204 putargs sstn: 255, 267.  7047 pvt_to_devt sstn: 205, apnd_equ: 40. 2020 quietsw bos_common: 59. 12267 rdclock bos_tv: 76. 12211 rdev sstn: 233, bos_tv: 30. 2016 rdrchanno bos_common: 57. 12234 rdsec bos_tv: 49. 12246 readcd bos_tv: 59. 12247 readtty bos_tv: 60. 2030 readysw bos_common: 67. 7006 read_args sstn: 243, apnd_equ: 13. 1 read_entry bos_page_info: 15.  12232 rec_per_dev_list bos_tv: 47. 1520 regs bos_common: 19. 6233 return sstn: 52, 57, 130, 311, 323, 326, 331. 12260 rjust bos_tv: 69. 4000 runcom_bit bosequ: 19. 12200 scan bos_tv: 21. 1540 scu bos_common: 22. 14 sdw.add_shift bos_sdw: 4. 377770 sdw.bound bos_sdw: 12. 40000 sdw.cache bos_sdw: 20. 4 sdw.df bos_sdw: 9. 37777 sdw.entry_bound bos_sdw: 21. 100000 sdw.entry_bound_sw bos_sdw: 19. 2 sdw.execute bos_sdw: 14. 3 sdw.fault_code bos_sdw: 10. 400000 sdw.privileged bos_sdw: 17. 7000 sdw.r1 bos_sdw: 5. 700 sdw.r2 bos_sdw: 6. 70 sdw.r3 bos_sdw: 7. 4 sdw.read bos_sdw: 13. 200000 sdw.unpaged sstn: 105, bos_sdw: 18. 1 sdw.write bos_sdw: 15. 12204 search bos_tv: 25. 12230 sect_per_cyl_list bos_tv: 45. 12231 sect_per_dev_list bos_tv: 46. 7000 seg6length bos_common: 90. 10 seg_aste.usage aste: 147. 14 seg_aste_size aste: 144. 2004 setuparea bos_common: 49. 2025 skipsw bos_common: 64. 7042 sltsearch sstn: 97, apnd_equ: 35. 7011 sltseg apnd_equ: 15. 3 sst bos_page_info: 9, 10, 11, 13. 220 sst.abs_wired_count sst: 135. 245 sst.acost sst: 150. 400000 sst.activate_activated sst: 227. 537 sst.activations sst: 206. 52 sst.ainitp sst: 53. 52 sst.ainitp1 sst: 54. 250 sst.alaps sst: 153. 234 sst.aneedsize sst: 144. 242 sst.asearches sst: 147. 247 sst.askipdius sst: 152. 241 sst.askipsehs sst: 146. 244 sst.askipsinit sst: 149. 230 sst.askipsize sst: 143. 243 sst.askipslevel sst: 148. 246 sst.askipslock sst: 151. 30 sst.astap sstn: 167, sst: 35. 260 sst.asteps sst: 160. 21 sst.astl sst: 26. 22 sst.astl_event sst: 27. 400000 sst.astl_notify_requested sst: 30.  23 sst.astl_notify_requested_word sst: 29. 34 sst.astsize sst: 38. 74 sst.ast_ht_n_buckets sst: 82. 72 sst.ast_ht_ptr sst: 81. 75 sst.ast_ht_uid_mask sst: 83. 264 sst.ast_locked_at_time sst: 161. 266 sst.ast_locked_total_time sst: 162.  272 sst.ast_locking_count sst: 164. 270 sst.ast_lock_wait_time sst: 163. 400000 sst.ast_track sst: 292. 774 sst.ast_track_word sst: 291. 50 sst.atempp sst: 47. 50 sst.atempp1 sst: 48. 133 sst.aused sst: 113. 44 sst.ausedp sst: 44. 557 sst.backup_activations sst: 224. 533 sst.bad_sgms sst: 202. 674 sst.buckets sst: 289. 673 sst.bucket_overflow sst: 288. 32 sst.bulk_pvtx sst: 36. 122 sst.ceiling sst: 104. 77 sst.checksum_filemap sst: 85. 504 sst.claim_notmod sst: 177. 505 sst.claim_passed_used sst: 178. 536 sst.claim_runs sst: 205. 502 sst.claim_skip_cme sst: 175. 503 sst.claim_skip_free sst: 176. 506 sst.claim_skip_ptw sst: 179. 510 sst.claim_steps sst: 181. 507 sst.claim_writes sst: 180. 274 sst.cleanups_with_any_rws sst: 166.  273 sst.cleanup_count sst: 165. 276 sst.cleanup_real_time sst: 168. 275 sst.cleanup_rws_count sst: 167. 71 sst.cl_skips_pinned sst: 80. 35 sst.cmesize sst: 39. 54 sst.cmp sst: 57. 672 sst.count_pdmes sst: 287. 256 sst.cpu_bf_time sst: 159. 164 sst.cpu_sf_time sst: 123. 123 sst.ctwait sst: 105. 104 sst.cycle_pv_allocation sst: 90. 134 sst.damaged_ct sst: 114. 527 sst.dblw_resurrections sst: 199. 135 sst.deact_count sst: 115. 137 sst.demand_deactivations sst: 117.  136 sst.demand_deact_attempts sst: 116.  775 sst.dirlock_writebehind sst: 294. 540 sst.dir_activations sst: 207. 114 sst.dir_page_faults sst: 98. 400000 sst.dm_enabled sst: 51. 51 sst.dm_enabled_word sst: 50. 62 sst.double_write sst: 67. 543 sst.evict_phmbit sst: 213. 543 sst.evict_ptp sst: 212. 543 sst.evict_recover_data sst: 210. 70 sst.fc_skips_pinned sst: 79. 224 sst.first_core_block sst: 139. 545 sst.force_pwrites sst: 216. 544 sst.force_swrites sst: 215. 547 sst.force_updatevs sst: 218. 546 sst.fw_none sst: 217. 226 sst.fw_retries sst: 141. 535 sst.good_sgms sst: 204. 541 sst.hedge_updatevs sst: 208. 542 sst.hedge_writes sst: 209. 125 sst.laps sst: 107. 225 sst.last_core_block sst: 140. 670 sst.last_update sst: 286. 44 sst.level sst: 42. 113 sst.level_1_page_faults sst: 97. 110 sst.lock_waits sst: 94. 161 sst.loop_locks sst: 121. 162 sst.loop_lock_time sst: 122. 556 sst.makeknown_activations sst: 223.  560 sst.metering_flags sst: 225. 76 sst.meter_ast_locking sst: 84. 624 sst.mod_during_write sst: 256. 121 sst.needc sst: 103. 641 sst.new_pages sst: 276. 400000 sst.nolock sst: 75. 66 sst.nolock_word sst: 74. 44 sst.no_aste sstn: 155, sst: 45. 16 sst.npfs_misses sst: 23. 612 sst.nrecs_pdmap sst: 246. 24 sst.nused sst: 32. 105 sst.n_trailers sst: 91. 523 sst.oopv sst: 195. 100 sst.page_read_errors sst: 86. 101 sst.page_write_errors sst: 87. 525 sst.pcrsst_statptr sst: 197. 117 sst.pc_io_waits sst: 101. 2 sst.pc_trace sst: 273. 10 sst.pc_trace_pf sst: 271. 524 sst.pdflush_replaces sst: 196. 602 sst.pdhtp sst: 237. 112 sst.pdir_page_faults sst: 96. 600 sst.pdmap sst: 236. 634 sst.pdmap_astep sst: 266. 606 sst.pdme_no sst: 240. 605 sst.pdsize sst: 239. 607 sst.pdusedp sst: 242. 617 sst.pd_ceiling sst: 251. 515 sst.pd_desperations sst: 186. 520 sst.pd_desperations_not_mod sst: 192.  514 sst.pd_desperation_steps sst: 185.  610 sst.pd_first sst: 244. 613 sst.pd_free sst: 247. 633 sst.pd_hash_mask sst: 264. 632 sst.pd_htsize sst: 262. 604 sst.pd_id sst: 238. 611 sst.pd_map_addr sst: 245. 623 sst.pd_needed sst: 255. 627 sst.pd_no_free sst: 259. 666 sst.pd_no_free_first sst: 284. 664 sst.pd_no_free_gtpd sst: 282. 665 sst.pd_page_faults sst: 283. 630 sst.pd_read_truncates sst: 260. 526 sst.pd_resurrections sst: 198. 626 sst.pd_rws_active sst: 258. 621 sst.pd_skips_incore sst: 253. 622 sst.pd_skips_rws sst: 254. 620 sst.pd_steps sst: 252. 650 sst.pd_time_counts sst: 280. 654 sst.pd_time_values sst: 281. 512 sst.pd_updates sst: 183. 614 sst.pd_using sst: 248. 400000 sst.pd_writeahead sst: 190. 517 sst.pd_writeahead_word sst: 189. 616 sst.pd_writes sst: 250. 625 sst.pd_write_aborts sst: 257. 631 sst.pd_write_truncates sst: 261. 615 sst.pd_wtct sst: 249. 637 sst.pd_zero_pages sst: 268. 554 sst.pf_pd_loop_meterings sst: 221.  550 sst.pf_pd_loop_time sst: 219. 555 sst.pf_unlock_ptl_meterings sst: 222.  552 sst.pf_unlock_ptl_time sst: 220. 14 sst.post_in_core sst: 21. 171 sst.post_list_size sst: 127. 173 sst.post_purge_calls sst: 129. 12 sst.post_purge_time sst: 20. 172 sst.post_purgings sst: 128. 400 sst.pp_meters sst: 170. 174 sst.pre_page_calls sst: 130. 175 sst.pre_page_list_size sst: 131. 176 sst.pre_page_misses sst: 132. 170 sst.pre_page_size sst: 126. 10 sst.pre_page_time sst: 19. 177 sst.pre_pagings sst: 133. 513 sst.pre_seeks_failed sst: 184. 20 sst.ptl sst: 25. 33 sst.ptl_wait_ct sst: 37. 40 sst.pts sst: 41. 25 sst.ptwbase sst: 33. 400000 sst.ptw_first sst: 72. 65 sst.ptw_first_word sst: 71. 227 sst.pvhtp sst: 142. 140 sst.reads sst: 118. 223 sst.recopies sst: 138. 61 sst.removep sst: 65. 521 sst.resurrections sst: 193. 115 sst.ring_0_page_faults sst: 99. 36 sst.root_astep sst: 40. 64 sst.root_pvtx sst: 69. 116 sst.rqover sst: 100. 511 sst.rws_reads_os sst: 182. 102 sst.rws_read_errors sst: 88. 646 sst.rws_time_done sst: 279. 644 sst.rws_time_start sst: 278. 642 sst.rws_time_temp sst: 277. 103 sst.rws_write_errors sst: 89. 17 sst.salv sst: 24. 1 sst.sc_trace sst: 274. 561 sst.seg_fault_calls sst: 229. 253 sst.setfaults_acc sst: 156. 252 sst.setfaults_all sst: 155. 532 sst.sgm_pf sst: 201. 534 sst.sgm_sgft sst: 203. 530 sst.sgm_time sst: 200. 160 sst.short_pf_count sst: 120. 130 sst.skipm sst: 110. 131 sst.skipos sst: 111. 132 sst.skipspd sst: 112. 516 sst.skips_nypd sst: 187. 127 sst.skipu sst: 109. 126 sst.skipw sst: 108. 0 sst.space sst: 18. 60 sst.startp sst: 63. 120 sst.steps sst: 102. 240 sst.stepsa sst: 145. 566 sst.stk_pages_truncated sst: 234. 567 sst.stk_pages_truncated_in_core sst: 235. 565 sst.stk_truncate_shouldnt_did sst: 233.  564 sst.stk_truncate_shouldnt_didnt sst: 232. 563 sst.stk_truncate_should_did sst: 231.  562 sst.stk_truncate_should_didnt sst: 230.  53 sst.strsize sst: 56. 106 sst.synch_activations sst: 92. 107 sst.synch_skips sst: 93. 221 sst.system_type sst: 136. 63 sst.temp_w_event sst: 68. 26 sst.tfreep sst: 34. 15 sst.thrashing sst: 22. 254 sst.total_bf sst: 157. 255 sst.total_bf_pf sst: 158. 111 sst.total_locks_set sst: 95. 167 sst.total_sf sst: 125. 166 sst.total_sf_pf sst: 124. 640 sst.trace_sw sst: 269. 300 sst.tree_count sst: 169. 4 sst.tty_trace sst: 272. 251 sst.updates sst: 154. 667 sst.update_index sst: 285. 56 sst.usedp sst: 59. 522 sst.volmap_seg_page_faults sst: 194.  124 sst.wired sst: 106. 222 sst.wired_copies sst: 137. 200 sst.wire_proc_data sst: 134. 150 sst.writes sst: 119. 501 sst.write_hunts sst: 174. 776 sst.write_limit sst: 295. 57 sst.wtct sst: 61. 500 sst.wusedp sst: 172. 67 sst.x_fsdctp sst: 77. 636 sst.zero_pages sst: 267. 6374 sstbase sstn: 95, 366.  6324 sstnt sstn: 115, 118, 121, 124, 133, 142, 144, 162, 163, 297, 299, 301,  306, 356.  14 sstnt.ast_name_offsets sstnt: 14. 20 sstnt.ast_offsets sstn: 144, 163,  sstnt: 16. 10 sstnt.ast_sizes sstn: 142, 162,  sstnt: 12. 2 sstnt.fill_time sstn: 124, 301,  sstnt: 10. 1 sstnt.multics_or_bos sstn: 121, 133, 299, sstnt: 8. 30 sstnt.names sstn: 115, 263, 306, 356,  sstnt: 18. 400000 sstnt.valid sstn: 296, sstnt: 6. 0 sstnt.valid_word sstn: 118, 297,  sstnt: 5. 6354 sstntname sstn: 98, 357.  11 sstnt_name_length sstn: 262, sstnt: 20. 6372 sstnt_sdw sstn: 104, 114, 266, 305, 364. 6005 sstn_join sstn: 74, 87.  6000 sstn_org sstn: 79, sstn_equ: 6. 7016 sstsdw sstn: 92, 157, 169, 179,  apnd_equ: 19. 1000 sst_size sst: 15. 2000 storlen bos_common: 36. 12262 stripa sstn: 249, bos_tv: 71. 12263 stripg bos_tv: 72. 2015 tapechanno bos_common: 56. 1 tmp bosequ: 8. 6243 tragedy sstn: 67, 94, 99, 102, 103, 106, 116, 158, 170, 322.  6256 tragedy.2 sstn: 307, 328.  6427 trctemp sstn: 380. 2017 ttychanno bos_common: 58. 12245 ttyinit sstn: 56, bos_tv: 58. 2026 ttypmtsw bos_common: 65. 12200 tv_org bos_tv: 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,  32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,  44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,  56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,  68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,  80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,  92, 93, 94, 95, 96. 12244 type bos_tv: 57. 7033 unapnd apnd_equ: 28. 7040 unfetch apnd_equ: 33. 2013 unitgroup bos_common: 54. 2002 useable bos_common: 46. 2001 used bos_common: 45. 4 used_bit_off bos_page_info: 26.  2005 utilarea bos_common: 50. 12000 utilorg bosequ: 22, bos_tv: 12, 19.  260 vtoce.primary_name vtoc_info: 20, 21, 22. 6425 vtoce_devadd sstn: 224, 230, 376. 300 vtoce_size vtoc_info: 11, 17, 18. 2 vtoc_name_sect sstn: 228, vtoc_info: 21, 22.  60 vtoc_name_word sstn: 239, vtoc_info: 22. 10 vtoc_r0 sstn: 215, vtoc_info: 15. 2000 vtoc_record_size vtoc_info: 12, 17.  6426 vtoc_remainder sstn: 216, 226, 378. 100 vtoc_sect_size vtoc_info: 13, 18, 21, 22.  12301 wantflt bos_tv: 86. 12212 wdev bos_tv: 31. 10 working_set bos_page_info: 23.  2 write_entry bos_page_info: 16.  12235 wtsec bos_tv: 50. 6233 x0 sstn: 45, 81, 312. 6234 x1 sstn: 46, 82, 313. 6235 x2 sstn: 47, 83, 314. 6236 x3 sstn: 48, 84, 315. 12277 xio_wait bos_tv: 84. 4 xs1 bosequ: 11. 5 xs2 bosequ: 12. NO FATAL ERRORS  ----------------------------------------------------------- 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