ASSEMBLY LISTING OF SEGMENT >spec>install>1111>privileged_mode_ut.alm ASSEMBLED ON: 11/11/89 0922.4 mst Sat OPTIONS USED: -target l68 list symbols ASSEMBLED BY: ALM Version 8.14 March 1989 ASSEMBLER CREATED: 06/09/89 1002.3 mst Fri 1 " *********************************************************** 2 " * * 3 " * Copyright, (C) Honeywell Bull Inc., 1987 * 4 " * * 5 " * Copyright, (C) Honeywell Information Systems Inc., 1984 * 6 " * * 7 " * Copyright (c) 1972 by Massachusetts Institute of * 8 " * Technology and Honeywell Information Systems, Inc. * 9 " * * 10 " *********************************************************** 11 12 " 13 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 14 " 15 " privileged_mode_ut 16 " 17 " This segment contains master mode utility routines 18 " required by hardcore ring procedures in order to execute 19 " 6180 instructions which can only be executed in 20 " privileged mode. 21 " 22 " Revised for New File System 1/69 SHW 23 " 24 " Converted for the follow-on by Craig Jensen on 6/27/72. 25 " Code for 6180 cache added 2/74 by B. Greenberg 26 " Modified 4/8/74 by S.H.Webber to remove checks and change lockptl meter code 27 " Lock PTL code and cam code moved to page, 6/19/74 BSG 28 " Modified on 01/06/75 at 21:57:15 by R F Mabee. Fixed SDW alignment assumptions. 29 " Modified 6/16/75 by R.F.Mabee. Fixed parity_error reporting bug per BSG. 30 " Modified 2/18/76 by S. Webber for new reconfiguration 31 " Modified 7/18/78 by J. A. Bush for new smic_port entry 32 " Modified 5/11/79 by Mike Grady for stack 0 sharing. 33 " Modified 3/11/80 by Mike Grady to make mask restores more robust. 34 " Modified 5/30/80 by J. A. Bush to wire (and unwire) number of pages 35 " in wired_hardcore_data$wire_pages 36 " Modified 1/08/81 by J. Bongiovanni to account for wired pages 37 " Modified 2/10/81 by J. A. Bush for the read_id_prom entry 38 " Modified 1/05/82 by J. Bongiovanni to make check_parity_for_use 39 " faster 40 " Modified 2/8/82 by J. Bongiovanni to set ralr to 1 on mask to 41 " sys_level (optionally), add entry read_mask 42 " Modified 6/23/82 by J. A. Bush to add the clear_cache entry 43 " Modified 7/82 BIM to merge in ldt and ldbr from privileged_mode_init. 44 " for the 10 instructions here that program could be deleted. 45 " Modified 8/82 JJB for scs footprints to identify crash process. 46 " Modified 1/83 JJB to set lockup fault vector to ignore faults absolutely 47 " Modified 6/83 ENK for load_mode_reg 48 " Modified 8/83 KPL for bootload Multics shutdown, also for camp entry 49 " Modified 10/83 KPL for checking sst_boundary for unpaged 50 " Modified 1/84 KPL for special_bce_return 51 " Modified 5/84 KPL for cam_both 52 " Modified 1985-03-11, BIM: clear mem before checking for freecore 53 " 54 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 55 56 57 " HISTORY COMMENTS: 58 " 1) change(88-07-27,Farley), approve(88-10-05,MCR7968), 59 " audit(88-10-10,Beattie), install(88-10-14,MR12.2-1166): 60 " Added new entry check_for_mem_overlap to check for memory addressing 61 " overlap conditions, which cannot be detected by simply reading the SCU 62 " configuration. 63 " END HISTORY COMMENTS 64 65 000000 66 name privileged_mode_ut 67 000277 68 entry bce 000277 69 entry bce_and_return 000253 70 entry cam 000275 71 entry cam_both 000254 72 entry cam_cache 000255 73 entry clear_cache 000474 74 entry check_for_mem_overlap 000651 75 entry check_parity_for_use,check_parity_for_add 000233 76 entry cioc 000462 77 entry ldt 000464 78 entry ldbr 000240 79 entry load_mode_reg 000042 80 entry lock_ptl 000236 81 entry lrar 000404 82 entry read_id_prom 000002 83 entry read_mask 000437 84 entry rscr 000375 85 entry rsw 000007 86 entry set_mask 000456 87 entry smcm 000470 88 entry smic 000466 89 entry smic_port 000342 90 entry special_bce_return 000446 91 entry sscr 000262 92 entry swap_sdw 000273 93 entry camp 000401 94 entry trace_rsw 000160 95 entry unlock_ptl 000161 96 entry unwire_unmask 000040 97 entry wire_and_mask 98 99 100 even 000000 101 channel_mask_set: " used to retain current channel mask 000000 aa 000000 000017 102 oct 000000000017,000000000017 000001 aa 000000 000017 103 temp8 rip_str1,rip_str2 104 tempd maskd,save_sdw,save_sdw1 105 temp old_low_data,new_low_data,old_high_data,new_high_data 106 temp indicators,save_indicators,new_value,addr,indicators_no_par,call_type 107 temp lock_sw,temp,rsw_xec,tally_wd 108 109 " 110 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 111 " 112 " read_mask is used to obtain the current value of the interrupt 113 " mask on the running CPU 114 " 115 " The calling sequence is 116 " 117 " call privileged_mode_ut$read_mask (mask_pattern) 118 " 119 " where mask_pattern is a fixed bin (71) value 120 " into which will be stored the value of the 121 " interrupt mask 122 " 123 " 124 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 125 000002 126 read_mask: 000002 127 inhibit on <+><+><+><+><+><+><+><+><+><+><+><+> 000002 4a 4 00030 7213 20 128 lxl1 prds$processor_tag 000003 4a 4 00032 7613 20 129 lprpab scs$mask_ptr,1 000004 4a 4 00034 7163 20 130 xec scs$read_mask,1 000005 131 inhibit off <-><-><-><-><-><-><-><-><-><-><-><-> 132 000005 aa 0 00002 7571 20 133 staq ap|2,* 000006 aa 7 00044 7101 20 134 short_return 135 " 136 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 137 " 138 " 139 " set_mask is called from the interrupt interceptor. 140 " 141 " The calling sequence is: 142 " 143 " call privileged_mode_ut$set_mask(mask_pattern,temp) 144 " 145 " where mask_pattern is a fixed bin (71) value which 146 " will be loaded into the mask register of the system 147 " controller assigned to send interrupts to the 148 " processor on which this procedure is executing, 149 " 150 " and temp is a fixed bin (71) item which the mask register 151 " at the time of entry will be loaded into. 152 " 153 " 154 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 155 000007 156 set_mask: 000007 aa 000120 6270 00 157 push 000010 aa 7 00040 2721 20 158 159 " Note that the processor may be lost between reading and setting the mask. 160 000011 161 inhibit on <+><+><+><+><+><+><+><+><+><+><+><+> 000011 4a 4 00030 7213 20 162 lxl1 prds$processor_tag 000012 4a 4 00032 7613 20 163 lprpab scs$mask_ptr,1 000013 4a 4 00034 7163 20 164 xec scs$read_mask,1 read mask 000014 aa 6 00070 7573 00 165 staq maskd save temporarily 166 000015 aa 0 00002 2373 20 167 ldaq ap|2,* get new mask 000016 0a 000000 2772 00 168 oraq channel_mask_set forget old channel mask 000017 4a 4 00036 3773 20 169 anaq scs$open_level correct mask 000020 4a 4 00030 7213 20 170 lxl1 prds$processor_tag 000021 4a 4 00032 7613 20 171 lprpab scs$mask_ptr,1 000022 4a 4 00040 7163 20 172 xec scs$set_mask,1 set new mask 000023 173 inhibit off <-><-><-><-><-><-><-><-><-><-><-><-> 174 000023 4a 4 00042 2341 20 175 szn wired_hardcore_data$trap_invalid_masked are we checking mask 000024 0a 000032 6000 00 176 tze not_sys_level no 000025 4a 4 00044 1171 20 177 cmpaq scs$sys_level masking to system level 000026 0a 000032 6010 00 178 tnz not_sys_level no 000027 aa 000001 2350 07 179 lda 1,dl set ring alarm 000030 4a 4 00046 7551 20 180 sta pds$alarm_ring 000031 4a 4 00046 7745 20 181 lra pds$alarm_ring 182 000032 183 not_sys_level: 000032 aa 6 00070 2371 00 184 ldaq maskd get old mask 000033 aa 0 00000 2271 00 185 ldx7 ap|0 get arg count 000034 aa 000004 1070 03 186 cmpx7 2*2,du two args? 000035 0a 000037 6040 00 187 tmi *+2 if not, don't return old mask 000036 aa 0 00004 7571 20 188 staq ap|4,* return old mask 189 000037 aa 7 00042 7101 20 190 return 191 192 " 193 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 194 " 195 " lock_ptl used to lock page table lock and mask. 196 " Call is: 197 " 198 " call privileged_mode_ut$lock_ptl(oldmask,ptwp) 199 " 200 " dcl oldmask fixed bin (71) 201 " dcl ptwp ptr 202 " 203 " wire_and_mask used to wire stack and mask 204 " same calling seq as lock_ptl 205 " 206 " 207 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 208 000020 209 link sst_link,sst$ 000022 210 link abs_seg_link,abs_seg$ 000024 211 link abs_seg_link1,abs_seg1$ 000026 212 link prds_link,prds$ 213 000040 214 wire_and_mask: 000040 aa 000000 6220 00 215 eax2 0 set sw not to lock 000041 0a 000043 7100 00 216 tra lptl1 000042 217 lock_ptl: 000042 aa 000001 6220 00 218 eax2 1 set sw to lock 219 000043 220 lptl1: inhibit on <+><+><+><+><+><+><+><+><+><+><+><+> 000043 4a 4 00030 7213 20 221 lxl1 prds$processor_tag 000044 4a 4 00032 7613 20 222 lprpab scs$mask_ptr,1 000045 4a 4 00034 7163 20 223 xec scs$read_mask,1 read current mask 000046 aa 0 00002 7573 20 224 staq ap|2,* return current mask 225 000047 4a 4 00030 7213 20 226 lxl1 prds$processor_tag 000050 4a 4 00032 7613 20 227 lprpab scs$mask_ptr,1 000051 4a 4 00044 2373 20 228 ldaq scs$sys_level mask down to sys level 000052 4a 4 00040 7163 20 229 xec scs$set_mask,1 set the new mask 000053 230 inhibit off <-><-><-><-><-><-><-><-><-><-><-><-> 231 232 " set ring-alarm to 1 if we're checking for masked in user-ring 233 000053 4a 4 00042 2341 20 234 szn wired_hardcore_data$trap_invalid_masked 000054 0a 000060 6000 00 235 tze not_checking 000055 aa 000001 2350 07 236 lda 1,dl 000056 4a 4 00046 7551 20 237 sta pds$alarm_ring 000057 4a 4 00046 7745 20 238 lra pds$alarm_ring 000060 239 not_checking: 240 241 " 242 " now wire down pages of the stack (determined from wired_hardcore_data$wire_pages) 243 " 000060 4a 4 00020 3535 20 244 eppbb sst$ get pointer into the SST 000061 aa 0 00004 2535 20 245 spribb ap|4,* arg -> |0 if we don't wire 000062 aa 6 00000 2131 00 246 epaq sp|0 find the stack's segment number 000063 aa 000000 6200 01 247 eax0 0,au get segno in x0 000064 4a 4 00026 1001 00 248 cmpx0 lp|prds_link are we running on prds? 000065 0a 000152 6000 00 249 tze no_wire yes, skip wiring 250 000066 aa 000001 7350 00 251 als 1 Double seg. no. since SDW's are 72 bits long. 000067 aa 000000 6230 01 252 eax3 0,au copy sdw index 000070 4a 4 00050 2371 20 253 ldaq dseg$,au 000071 aa 000014 7710 00 254 arl sdw.add_shift Get abs addr of stack's page table. 255 000072 4a 4 00052 1151 20 256 cmpa unpaged_page_tables$0+upt.sst_last_loc Page table not in sst 000073 0a 000152 6054 00 257 tpnz no_wire => unpaged seg 000074 4a 4 00054 1351 20 258 sbla unpaged_page_tables$0+upt.sst_absloc Get offset of stack's 000075 0a 000152 6040 00 259 tmi no_wire page table in SST. 260 000076 aa 3 00000 3521 05 261 eppbp bb|0,al bp -> page table 000077 aa 000020 2350 07 262 lda ptw.wired,dl get wired bit for page 0 000100 aa 2 00000 3151 00 263 cana bp|0 is it already wired? 000101 0a 000155 6010 00 264 tnz already_wired_and_masked 000102 aa 2 00000 2551 00 265 orsa bp|0 make it wired now 000103 aa 3 00120 0541 00 266 aos bb|sst.wired adjust count of wired pages 267 000104 aa 6 00000 6361 00 268 eaq sp|0 get offset in stack of current frame 000105 aa 000034 7720 00 269 qrl 18+10 get page number in q 000106 aa 2 00000 3521 06 270 eppbp bp|0,ql bp -> ptw 000107 aa 0 00004 2521 20 271 spribp ap|4,* return pointer to caller 272 000110 4a 4 00056 7241 20 273 lxl4 wired_hardcore_data$wire_pages get number of pages to wire 000111 274 bound_lp: 000111 aa 6 00000 3715 00 275 epplb sp|0 copy stack ptr 000112 aa 000000 6360 14 276 eaq 0,4 copy pages to wire to qu 000113 aa 000012 7360 00 277 qls 10 multiply by 1024 to get number of words 000114 aa 5 00000 5075 02 278 awd lb|0,qu add to lb word offset 000115 aa 5 00000 2131 00 279 epaq lb|0 copy ptr to aq 000116 aa 000022 7370 00 280 lls 18 word offset in al 000117 aa 000001 1350 07 281 sbla 1,dl 000120 aa 000004 7710 00 282 arl 4 divide by 16 000121 4a 4 00060 2361 20 283 ldq dseg$+1,3 load sdw bound in q 000122 aa 000017 7360 00 284 qls 15 shift out old bounds 000123 aa 000025 7370 00 285 lls 18+3 a reg now contains new sdw bounds + rest of sdw 2nd word 000124 4a 4 00060 1151 20 286 cmpa dseg$+1,3 is the final address out of bounds? 000125 0a 000130 6040 00 287 tmi bound_ok no, wire whats in x4 000126 aa 777777 6240 14 288 eax4 -1,4 yes, subtract 1 from pages to wire 000127 0a 000111 7100 00 289 tra bound_lp and go try again 000130 290 bound_ok: 000130 aa 000000 6350 14 291 eaa 0,4 get number of pages wired 000131 aa 000077 3750 03 292 ana =o77,du can't be more than 63 pages 000132 aa 000014 7710 00 293 arl 12 position so number will be in bits 24 to 29 000133 aa 0 00002 2551 20 294 orsa ap|2,* set in unused area of mask 000134 aa 6 00000 3711 00 295 epbplb sp|0 get ptr to stack base 000135 aa 5 00000 2341 00 296 szn lb|0 touch page 0 to make sure its in core 000136 aa 000000 6200 00 297 eax0 0 initialize ptw index 000137 aa 6 00000 3715 00 298 epplb sp|0 copy our stack ptr 000140 aa 000020 2350 07 299 lda ptw.wired,dl set wired bit in a 000141 300 lk_lp1: 000141 aa 2 00000 3151 10 301 cana bp|0,0 is page already wired 000142 0a 000145 6010 00 302 tnz lk_lp1_wired yes 000143 aa 2 00000 2551 10 303 orsa bp|0,0 wire page 000144 aa 3 00120 0541 00 304 aos bb|sst.wired bump count of wired pages 000145 305 lk_lp1_wired: 000145 aa 5 00000 2341 00 306 szn lb|0 touch it to get it in core 000146 aa 000001 6200 10 307 eax0 1,0 increment ptw index 000147 aa 002000 1510 03 308 adwplb 1024,du increment stack page address 000150 aa 777777 6240 14 309 eax4 -1,4 decrement pages to wire 000151 0a 000141 6010 00 310 tnz lk_lp1 wire next one if not done yet 311 000152 aa 000000 6220 12 312 no_wire: eax2 0,2 see if lock entry 000153 4a 4 00062 6011 20 313 tnz device_control$ptl_waitlock 314 "contract: 1. I am running in stack frame to which I want to be returned. 315 " 2. Only remaining instruction is "return". 316 " 3. Wired stack, sys masked. 317 " 4. Don't return until ptl locked. 318 000154 aa 7 00044 7101 20 319 short_return 320 000155 321 already_wired_and_masked: 000155 aa 000040 2350 07 322 lda =o40,dl Indicate wired state. 000156 aa 0 00002 2551 20 323 orsa ap|2,* move to arg. 000157 0a 000152 7100 00 324 tra no_wire 325 326 " 327 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 328 " 329 " unlock_ptl entry to unlock and unmask after finishing messing with 330 " the page control data. 331 " Call is: 332 " 333 " call privileged_mode_ut$unlock_ptl(oldmask,ptwp) 334 " 335 " dcl oldmask fixed bin (71) 336 " dcl ptwp ptr 337 " 338 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 339 000160 340 unlock_ptl: 000160 4a 4 00064 7101 20 341 tra page_fault$pmut_unlock_ptl avoid push, minimal elegance 000161 342 unwire_unmask: 000161 aa 0 00002 2371 20 343 ldaq ap|2,* pick up mask setting 000162 344 inhibit on <+><+><+><+><+><+><+><+><+><+><+><+> 000162 0a 000000 2772 00 345 oraq channel_mask_set forget old channel mask 000163 4a 4 00036 3773 20 346 anaq scs$open_level 000164 4a 4 00030 7213 20 347 lxl1 prds$processor_tag get tag for masking 000165 4a 4 00032 7613 20 348 lprpab scs$mask_ptr,1 000166 4a 4 00040 7163 20 349 xec scs$set_mask,1 000167 350 inhibit off <-><-><-><-><-><-><-><-><-><-><-><-> 351 " 352 " now unwire the pages wired down by lock_ptl 353 " 000167 aa 0 00002 2351 20 354 lda ap|2,* Get the mask and flag back 000170 aa 000040 3150 07 355 cana =o40,dl Was it wired already? 000171 0a 000232 6010 00 356 tnz .rt Yes, just exit. 000172 aa 000014 7350 00 357 als 12 position number of pages wired 000173 aa 000077 3750 03 358 ana =o77,du allow only 63 pages 000174 aa 000000 6240 01 359 eax4 0,au copy to x4 000175 aa 0 00004 3521 20 360 eppbp ap|4,* get page table pointer 000176 aa 2 00000 3521 20 361 eppbp bp|0,* 000177 aa 2 00000 6201 00 362 eax0 bp|0 is offset zero? 000200 0a 000232 6000 00 363 tze .rt if so, don't unwire 000201 aa 000000 6220 00 364 eax2 0 -(count of pages unwired) 000202 aa 6 00000 2131 00 365 epaq sp|0 get ptr to stack for segno 000203 aa 000001 7350 00 366 als 1 times two since SDW's are 72 bits 000204 4a 4 00050 2351 20 367 lda dseg$,au load SDW 000205 aa 000014 7710 00 368 arl sdw.add_shift shift address for ptw 000206 4a 4 00020 3535 20 369 eppbb sst$ ptw's are in sst 000207 aa 3 00025 1351 00 370 sbla bb|sst.ptwbase offset for page 0 ptw 000210 aa 3 00000 3535 05 371 eppbb bb|0,al bb -> page 0 ptw 372 000211 aa 000021 3350 07 373 lca ptw.wired+1,dl get set to turn off wired bits 000212 aa 000020 2360 07 374 ldq ptw.wired,dl and to check wired bits 000213 aa 3 00000 3161 00 375 canq bb|0 is page still wired 000214 0a 000217 6000 00 376 tze ul_p0_unwired no 000215 aa 3 00000 3551 00 377 ansa bb|0 turn off wired bit in page 0 000216 aa 777777 6220 12 378 eax2 -1,2 count page unwired 000217 379 ul_p0_unwired: 380 000217 aa 000000 6200 00 381 eax0 0 count ptws 382 000220 aa 2 00000 3161 10 383 ul_l1: canq bp|0,0 is page still wired 000221 0a 000224 6000 00 384 tze ul_pg_unwired no 000222 aa 2 00000 3551 10 385 ansa bp|0,0 unwire this page 000223 aa 777777 6220 12 386 eax2 -1,2 count page unwired 000224 387 ul_pg_unwired: 000224 aa 000001 6200 10 388 eax0 1,0 move on 000225 aa 777777 6240 14 389 eax4 -1,4 decrement number of pages wired 000226 0a 000220 6010 00 390 tnz ul_l1 000227 aa 000000 6360 12 391 eaq 0,2 qu=-(count of pages unwired) 000230 aa 000022 7320 00 392 qrs 18 qr=-(count of pages unwired) 000231 4a 4 00066 0561 20 393 asq sst$0+sst.wired adjust count of wired pages 394 000232 aa 7 00044 7101 20 395 .rt: short_return 396 397 " 398 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 399 " 400 " cioc is called to connect to any of the active modules on 401 " a system controller except a processor. 402 " 403 " The calling sequence is: 404 " 405 " call privileged_mode_ut$cioc(cow) 406 " 407 " where cow is a 36 bit aligned connect operand 408 " word. 409 " 410 " 411 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 412 000233 aa 0 00002 3521 20 413 cioc: eppbp ap|2,* Issue cioc instruction 000234 aa 2 00000 0151 20 414 cioc bp|0,* at arg1 000235 aa 7 00044 7101 20 415 short_return 416 417 " 418 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 419 " 420 " LRAR 421 " 422 " Entry to set the ring alarm register. 423 " Call is: 424 " 425 " call pmut$lrar (rar_value) 426 " 427 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 428 000236 aa 0 00002 7745 20 429 lrar: lra ap|2,* load the ring alarm register 000237 aa 7 00044 7101 20 430 short_return short and sweet 431 432 " 433 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 434 " 435 " 436 " 437 " Entry to load the mode register 438 " Call is: 439 " 440 " call pmut$load_mode_reg; 441 " 442 " called after the caller has altered pds$hfp_exponent_enabled. 443 " (this code duplicates pxss at process switch.) 444 " 445 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 446 000240 447 inhibit on <+><+><+><+><+><+><+><+><+><+><+><+> 000240 448 load_mode_reg: 000240 4a 4 00070 3517 20 449 eppab prds$mode_reg_enabled 000241 aa 000005 3352 07 450 lca mr.enable_hfp+1,dl is hex fp enabled for this process? 000242 4a 4 00072 3753 20 451 ana prds$mode_reg 000243 4a 4 00074 2343 20 452 szn pds$hfp_exponent_enabled 000244 0a 000246 6002 00 453 tze *+2 000245 aa 000004 2752 07 454 ora mr.enable_hfp,dl 000246 4a 4 00072 7553 20 455 sta prds$mode_reg 000247 aa 000061 2752 07 456 ora mr.enable_mr+mr.enable_hist,dl enable mode reg and enable hist regs 000250 aa 1 00000 7553 00 457 sta ab|0 000251 aa 1 00000 6743 04 458 lcpr ab|0,04 000252 459 inhibit off <-><-><-><-><-><-><-><-><-><-><-><-> 000252 aa 7 00044 7101 20 460 short_return 461 462 " 463 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 464 " 465 " 466 " cam code moved to page by BSG, 6/19/74 467 " 468 " 469 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 470 000253 4a 4 00076 7101 20 471 cam: tra page$cam 472 000254 473 cam_cache: 000254 4a 4 00100 7101 20 474 tra page$cam_cache 475 476 " 477 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 478 " 479 " 480 " clear_cache - entry to clear cache by turning cache off and 481 " then back on. Note that this will work for both 482 " the L68 and the DPS8M cpus, while the execution of 483 " a "cams 4" instruction will only clear cache 484 " for the L68 cpu and is effectively a NOP on the 485 " DPS8M cpu. 486 " 487 " Usage: dcl privileged_mode_ut$clear_cache entry; 488 " call privileged_mode_ut$clear_cache (); 489 " 490 " set_proc_required must be called before calling the clear_cache 491 " entry, to assure the the cache on the desired processor is cleared. 492 " 493 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 494 000255 495 clear_cache: 000255 4a 4 00102 3715 20 496 epplb prds$cache_luf_reg set ptr to "turn on" constant 497 even 000256 498 inhibit on <+><+><+><+><+><+><+><+><+><+><+><+> 000256 0a 000261 6742 02 499 lcpr clear_template,02 turn cache off 000257 aa 5 00000 6743 02 500 lcpr lb|0,02 and back on. 000260 501 inhibit off <-><-><-><-><-><-><-><-><-><-><-><-> 000260 aa 7 00044 7101 20 502 short_return 503 000261 504 clear_template: 000261 aa 000000 000003 505 oct 3 cache "turn off" constant 506 " 507 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 508 " 509 " swap_sdw is called to swap descriptor words for a given 510 " segment number. 511 " 512 " The calling sequence is: 513 " 514 " call privileged_mode_ut$swap_sdw (segptr, sdw_ptr) 515 " 516 " Where segptr contains the segment number, sdw is the new 517 " descriptor word. The sdw is an aligned 72 bit quantity. 518 " 519 " 520 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 521 000262 aa 0 00002 2201 20 522 swap_sdw: ldx0 ap|2,* pick up segment number 000263 aa 0 00002 0201 20 523 adlx0 ap|2,* multiply by 2 000264 aa 0 00004 3521 20 524 eppbp ap|4,* get new descriptor word 000265 aa 2 00000 3521 20 525 eppbp bp|0,* 000266 aa 2 00000 2351 00 526 lda bp|0 000267 aa 2 00001 2361 00 527 ldq bp|1 000270 4a 4 00104 7571 20 528 staq dseg$,0 set the SDW 529 000271 0a 000716 7070 00 530 tsx7 clear_AM_both 531 000272 aa 7 00044 7101 20 532 short_return 533 " 534 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 535 " This entry clears the ptw am on the current processor after " 536 " mucking with a set of ptws. " 537 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 538 539 000273 540 camp: 541 iftarget L68 000273 aa 000000 5324 00 camp " ifend 544 iftarget ADP " decor ORIONp " camp1 " ifend 000274 aa 7 00044 7101 20 548 short_return 549 " 550 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 551 " This entry clears both AM's after bce mucks with ptws, sdws. " 552 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 000275 553 cam_both: 000275 0a 000716 7070 00 554 tsx7 clear_AM_both 000276 aa 7 00044 7101 20 555 short_return 556 557 " 558 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 559 " These entries are called when we wish to discontinue operation " 560 " of Multics and go to bce. There can be a return and Multics " 561 " operation resumed. Since bce must be entered on the bootload " 562 " processor with all other processors stopped, the actual transfer " 563 " to bce is forced by sending a system trouble connect. " 564 " " 565 " Recoded 8 February 1976 by Noel I. Morris " 566 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 567 568 000277 569 bce_and_return: 000277 570 bce: 000277 4a 4 00030 2361 20 571 ldq prds$processor_tag get this CPU's tag 000300 4a 4 00106 2351 20 572 lda scs$processor_data,ql get data for this CPU 000301 aa 400000 3150 03 573 cana processor_data.online,du during initialization? 000302 0a 000345 6000 00 574 tze special_go_to_bce yes 575 000303 4a 4 00110 2351 20 576 lda pds$processid get process ID 000304 4a 4 00112 3541 20 577 stac scs$connect_lock lock for doing a connect 000305 aa 000000 0110 00 578 nop 000306 aa 000000 0110 00 579 nop 000307 0a 000304 6010 00 580 tnz *-3 wait until lock set 581 000310 4a 4 00114 3541 20 582 stac scs$trouble_processid " Save if we are the first (its clear) 000311 4a 4 00116 2351 20 583 lda scs$processor processor bits in A 000312 4a 4 00120 7551 20 584 sta scs$sys_trouble_pending set trouble flag 585 000313 586 inhibit on <+><+><+><+><+><+><+><+><+><+><+><+> 000313 4a 4 00122 0153 20 587 cioc scs$cow_ptrs,ql* send trouble connect 000314 0a 000314 6162 00 588 dis * wait for it to take effect 000315 589 inhibit off <-><-><-><-><-><-><-><-><-><-><-><-> 590 000315 aa 000000 2350 07 591 lda 0,dl clear the A 000316 4a 4 00114 3551 20 592 ansa scs$trouble_processid 000317 4a 4 00112 3551 20 593 ansa scs$connect_lock undo the lock, now 594 000320 595 bce_return: 000320 aa 7 00044 7101 20 596 short_return Return to caller 597 598 " 599 use linkage 600 join /link/linkage 601 602 even 000010 603 save_drl: bss ,2 000012 604 save_luf: bss ,2 000014 605 drl_to_do:bss ,2 606 607 use main 608 609 eight 000330 610 ignore_data: 000330 611 bss ,8 612 000340 613 inhibit on <+><+><+><+><+><+><+><+><+><+><+><+><+><+><+><+><+> 614 000340 615 ignore_scu_rcu: 000340 aa 000000 6572 00 616 scu 0 000341 aa 000000 6132 00 617 rcu 0 618 " 619 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 620 " " 621 " special_bce_return - used by bce to return to bos or multics " 622 " " 623 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 624 000342 625 special_bce_return: 000342 aa 0 00002 2373 20 626 ldaq ap|2,* arg is pair to put into drl 000343 9a 4 00014 7573 00 627 staq lp|drl_to_do fault vector 000344 0a 000347 7102 00 628 tra leave_multics 629 000345 630 special_go_to_bce: 000345 4a 4 00124 2373 20 631 ldaq toehold$+2*TOE_HOLD_MULTICS_ENTRY get interrupt pair 000346 9a 4 00014 7573 00 632 staq lp|drl_to_do 633 000347 634 leave_multics: 000347 4a 4 00126 3537 20 635 eppbb fault_vector$ 000350 aa 3 00116 2373 00 636 ldaq bb|2*FAULT_NO_LUF+fv.fpair save lockup fault vector 000351 9a 4 00012 7573 00 637 staq lp|save_luf 000352 0a 000330 2122 00 638 absa ignore_data abs addr in 0-23 000353 aa 000006 7352 00 639 als 6 abs addr in 0-17 Areg 000354 aa 000000 6362 01 640 eaq 0,au abs addr in 0-17 Qreg 000355 0a 000340 2772 00 641 oraq ignore_scu_rcu new lockup fault vector 000356 aa 3 00116 7573 00 642 staq bb|2*FAULT_NO_LUF+fv.fpair 643 000357 aa 000010 2352 03 644 lda 8,du loop waiting for i/o to die down 000360 aa 000000 0112 03 645 odd 000361 aa 000001 1752 07 646 sba 1,dl 000362 0a 000361 6012 00 647 tnz *-1 648 000363 aa 3 00114 2373 00 649 ldaq bb|2*FAULT_NO_DRL+fv.fpair pick up derail from fault vector 000364 9a 4 00010 7573 00 650 staq lp|save_drl save for restore later 000365 9a 4 00014 2373 00 651 ldaq lp|drl_to_do get interrupt pair 000366 aa 3 00114 7573 00 652 staq bb|2*FAULT_NO_DRL+fv.fpair store into derail slot of fault vector 653 000367 aa 000000 0022 00 654 drl " go to bce 655 000370 9a 4 00010 2373 00 656 ldaq lp|save_drl restore derail fault pair 000371 aa 3 00114 7573 00 657 staq bb|2*FAULT_NO_DRL+fv.fpair 000372 9a 4 00012 2373 00 658 ldaq lp|save_luf restore lockup fault pair 000373 aa 3 00116 7573 00 659 staq bb|2*FAULT_NO_LUF+fv.fpair 660 000374 0a 000320 7102 00 661 tra bce_return 662 000375 663 inhibit off <-><-><-><-><-><-><-><-><-><-><-><-><-><-><-><-><-> 664 " 665 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 666 " 667 " rsw and trace_rsw are called in order to execute the rsw privileged instruction. 668 " They return in "value" the same bits returned after 669 " the rsw instruction is executed trace_rsw does not require rsw_code to be 670 " input. 671 " Instead it is assumed to be zero. 672 " 673 " Usage: 674 " 675 " % include rsw; 676 " dcl rsw_code fixed(35), value bit(36) aligned; 677 " call privileged_mode_ut$rsw ( rsw_code, value ); 678 " call privileged_mode_ut$trace_rsw ( value ); 679 " 680 " rsw_code is 0, 1, 2, 3 or 4, depending on what bits are to be read by 681 " rsw. See the processor manual for the definition of these. 682 " This procedure does not check that rsw_code is 0, 1, 2, 3 or 4. 683 " (Input). 684 " 685 " value is the bit string put in the a-register by rsw. See the 686 " rsw.incl.pl1 file and the 687 " processor manual for the meaning of this. (Output). 688 " 689 " 690 " 691 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 692 693 694 000375 695 rsw: 000375 aa 0 00002 7201 20 696 lxl0 ap|2,* c(x0) = rsw_code. 000376 aa 000000 2310 10 697 rsw 0,0 Get value. 000377 aa 0 00004 7551 20 698 sta ap|4,* 000400 aa 7 00044 7101 20 699 short_return 700 701 000401 702 trace_rsw: 000401 aa 000000 2310 00 703 rsw 0 Get value. 000402 aa 0 00002 7551 20 704 sta ap|2,* 000403 aa 7 00044 7101 20 705 short_return 706 " 707 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 708 " 709 " read_id_prom 710 " used to read a selected string of bytes (characters) from 711 " the ID PROM of a DPS8 CPU 712 " 713 " Usage: 714 " dcl privileged_mode_ut$read_id_prom entry (char (*) aligned, fixed bin); 715 " call privileged_mode_ut$read_id_prom (id_string, start_pos); 716 " 717 " where: 718 " 719 " id_string is an aligned character string, in which the ID PROM info is 720 " to be stored. The number of bytes to read is obtained from 721 " the argument descriptor (length) of id_string. 722 " 723 " start_pos is the first byte number to be read from the ID PROM 724 " 725 " This subroutine will only work for DPS8 cpus, indeterminent results 726 " will be obtained if this subroutine is executed on a L68 or DPS cpu. 727 " The calling routine should guarantee execution on the desired CPU by 728 " first calling pxss$set_proc_required. 729 " 730 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 731 000404 732 read_id_prom: 000404 aa 000120 6270 00 733 push 000405 aa 7 00040 2721 20 000406 aa 0 00004 7271 20 734 lxl7 ap|4,* get starting byte number 000407 aa 0 00006 7261 20 735 lxl6 ap|6,* and target string length from desc. 000410 aa 000077 3660 03 736 anx6 =o77,du allow only 63 characters 000411 aa 0 00002 3521 20 737 eppbp ap|2,* get ptr to target string 000412 aa 6 00050 2131 00 738 epaq rip_str1 ptr to temp string in AQ 000413 aa 000022 7370 00 739 lls 18 string ptr word offset in AL 000414 aa 000000 6360 16 740 eaq 0,6 copy string length 000415 aa 000006 7360 00 741 qls 6 position tally count 000416 aa 000040 2760 03 742 orq 32,du or in 9 bit char type 000417 aa 000022 7370 00 743 lls 18 tally word in A 000420 aa 6 00113 7551 00 744 sta tally_wd store tally word (starting char pos = 0) 000421 0a 000436 2350 00 745 lda rsw_template get rsw instruction template 000422 aa 6 00112 7551 00 746 sta rsw_xec and store in stack 000423 aa 6 00112 7471 00 747 rip_lp1: stx7 rsw_xec set byte number in rsw instruction 000424 aa 6 00112 7161 00 748 xec rsw_xec execute the rsw instruction 000425 aa 000377 3750 07 749 ana =o377,dl and out M.S bit in case it is set 000426 aa 6 00113 7551 52 750 sta tally_wd,sc store ID byte in string 000427 0a 000432 6064 00 751 ttn rip_exit return on tally runout 000430 aa 000001 6270 17 752 eax7 1,7 increment byte number 000431 0a 000423 7100 00 753 tra rip_lp1 and get next ID byte 754 000432 755 rip_exit: 000432 aa 0 40140 1005 40 756 mlr (pr,rl),(pr,rl),fill(040) 000433 aa 600050 000016 757 desc9a rip_str1,x6 copy ID string to user storage 000434 aa 200000 000016 758 desc9a bp|0,x6 000435 aa 7 00042 7101 20 759 return 760 000436 761 rsw_template: 000436 aa 000000 2310 07 762 rsw 0,dl used to read ID prom 763 " 764 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 765 " 766 " rscr and sscr are called in order to execute the rscr and sscr 767 " instructions, respectively. "value" is the output or input argument 768 " for these instructions as specified in the processor manual, 769 " respectively. 770 " 771 " Usage: 772 " 773 " % include scr; 774 " dcl scr_input bit(36) aligned, value bit (72) aligned; 775 " call privileged_mode_ut$rscr (port_no, scr_input, value ); 776 " call privileged_mode_ut$sscr (port_no, scr_input, value ); 777 " 778 " scr_input is one of the legal arguments specified as a y-field in 779 " an rscr or sscr instruction. See the processor manual 780 " and the scr.incl.pl1 file for an 781 " explanation of the legal values of scr_input. This procedure 782 " does not verify that a legal value of scr_input was input. 783 " (Input). 784 " 785 " value is the bit string read or stored by rscr or sscr, respectively. 786 " See the processor manual and the scr.incl.pl1 file for the 787 " definition of this bit string. 788 " (Output of rscr. Input of sscr.) 789 " 790 " port_no Is the processor port number to which the 791 " rscr or sscr instruction is to be directed. 792 " 793 " 794 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 795 000437 796 rscr: 000437 aa 0 00002 2351 20 797 lda ap|2,* port number in A 000440 aa 000007 7350 00 798 als 10-3 multiply by 128 000441 aa 0 00004 0351 20 799 adla ap|4,* add in scr_input 000442 aa 000003 7350 00 800 als 3 port*1024 + scr_input*8 000443 4a 4 00130 4131 20 801 rscr scas$,al read controller regs 000444 aa 0 00006 7571 20 802 staq ap|6,* Output value. 000445 aa 7 00044 7101 20 803 short_return 804 805 806 000446 807 sscr: 000446 aa 0 00002 2351 20 808 lda ap|2,* port number in A 000447 aa 000007 7350 00 809 als 10-3 multiply by 128 000450 aa 0 00004 0351 20 810 adla ap|4,* insert scr_input 000451 aa 000003 7350 00 811 als 3 port*1024 + scr_input*8 000452 aa 000000 6200 05 812 eax0 0,al place in X0 000453 aa 0 00006 2371 20 813 ldaq ap|6,* Get input value. 000454 4a 4 00132 0571 20 814 sscr scas$,0 set controller regs 000455 aa 7 00044 7101 20 815 short_return 816 " 817 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 818 " 819 " smcm is called to execute the smcm instruction unconditionally. 820 " 821 " Usage: 822 " dcl port_no fixed bin (3), mask bit (72) aligned; 823 " call privileged_mode_ut$smcm (port_no, mask); 824 " 825 " port_no is the processor port number to which the smcm 826 " is directed. 827 " 828 " mask is the mask to be set by an SMCM instruction. 829 " 830 " 831 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 832 000456 833 smcm: 000456 aa 0 00002 7211 20 834 lxl1 ap|2,* port number in X1 000457 aa 0 00004 2371 20 835 ldaq ap|4,* mask in AQ 000460 4a 4 00134 5531 20 836 smcm scs$port_addressing_word,1* set the mask 837 000461 aa 7 00044 7101 20 838 short_return 839 840 " 841 842 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 843 " 844 " privileged_mode_ut$ldt 845 " 846 " loads the timer register with its argument. 847 " 848 " declare privileged_mode_ut$ldt entry (fixed bin (35)); 849 " call privileged_mode_ut$ldt (timer); 850 " 851 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 852 000462 853 ldt: 000462 aa 0 00002 6371 20 854 ldt ap|2,* load the timer 000463 aa 7 00044 7101 20 855 short_return 856 857 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 858 " 859 " ldbr 860 " 861 " This entry loads a new dbr for make_segs_paged, 862 " which has just finished setting up ASTE's and 863 " SDW's in a new dseg for the paged segments. 864 " 865 " Call is: 866 " 867 " call privileged_mode_init$ldbr(new_dbr) 868 " 869 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 870 000464 871 inhibit on <+><+><+><+><+><+><+><+><+><+><+> 000464 872 ldbr: 000464 aa 0 00002 2323 20 873 ldbr ap|2,* load the new DBR 000465 874 inhibit off <-><-><-><-><-><-><-><-><-><-><-> 000465 aa 7 00044 7101 20 875 short_return 876 877 878 879 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 880 " 881 " smic is called to set an interrupt pattern in the bootload SCU 882 " 883 " Usage: 884 " dcl privileged_mode_ut$smic entry (bit (36)); 885 " call privileged_mode_ut$smic (smic_pattern); 886 " 887 " smic_pattern is a bit pattern to be used by the SMIC 888 " instruction. 889 " 890 " smic_port is called to set an interrupt pattern in any SCU 891 " 892 " Usage: 893 " dcl privileged_mode_ut$smic_port entry (bit (36), fixed bin (5)); 894 " call privileged_mode_ut$smic_port (smic_pattern, port_number); 895 896 " port_number is the port to which to send the smic instruction 897 " 898 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 899 000466 900 smic_port: 000466 aa 0 00004 7271 20 901 lxl7 ap|4,* pick up port number in X7 000467 0a 000471 7100 00 902 tra smic_common 903 000470 904 smic: 000470 4a 4 00136 7271 20 905 lxl7 scs$interrupt_controller bootload controller port in X7 906 000471 907 smic_common: 000471 aa 0 00002 2351 20 908 lda ap|2,* pick up SMIC pattern in A 000472 4a 4 00140 4511 20 909 smic scs$port_addressing_word,7* SMIC 910 000473 aa 7 00044 7101 20 911 short_return 912 913 " 914 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 915 916 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 917 " 918 " pmut$check_for_mem_overlap 919 " 920 " This entry is used to determine if a memory addressing overlap 921 " exists in an SCU. 922 " 923 " It is called during SCU initialization. 924 " 925 " It returns a nonzero code if a memory overlap error is found. 926 " 927 " call is: 928 " 929 " call pmut$check_for_mem_overlap (low_block, high_block, code) 930 " 931 " low_block, high_block are 1024-word frame numbers, code is returned 932 " nonzero if a memory overlap error is found 933 " 934 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 000474 935 check_for_mem_overlap: 000474 aa 000120 6270 00 936 push 000475 aa 7 00040 2721 20 000476 4a 4 00022 2201 00 937 ldx0 lp|abs_seg_link get segno of abs_seg 000477 4a 4 00022 0201 00 938 adlx0 lp|abs_seg_link multiply by 2 (SDW size) 000500 4a 4 00024 2211 00 939 ldx1 lp|abs_seg_link1 get segno of abs_seg1 000501 4a 4 00024 0211 00 940 adlx1 lp|abs_seg_link1 multiply by 2 (SDW size) 000502 4a 4 00104 2371 20 941 ldaq dseg$,0 pick up old contents of abs_seg SDW 000503 aa 6 00072 7571 00 942 staq save_sdw save in stack 000504 4a 4 00142 2371 20 943 ldaq dseg$,1 pick up old contents of abs_seg1 SDW 000505 aa 6 00074 7571 00 944 staq save_sdw1 save in stack 000506 aa 0 00002 2361 20 945 ldq ap|2,* pick up low address input arg 000507 aa 6 00077 7561 00 946 stq new_low_data save for check 000510 aa 000072 7370 00 947 lls 36+12+10 36 for a, 12 for sdw, 10 for 1024 word blocks 000511 0a 000714 2770 00 948 oraq abs_seg_sdw make an SDW out of the a-q 000512 4a 4 00104 7571 20 949 staq dseg$,0 place in SDW slot for abs_seg 000513 aa 0 00004 2361 20 950 ldq ap|4,* pick up high address input arg 000514 aa 6 00101 7561 00 951 stq new_high_data save for check 000515 aa 000072 7370 00 952 lls 36+12+10 36 for a, 12 for sdw, 10 for 1024 word blocks 000516 0a 000714 2770 00 953 oraq abs_seg_sdw make an SDW out of the a-q 000517 4a 4 00142 7571 20 954 staq dseg$,1 place in SDW slot for abs_seg1 000520 0a 000717 7070 00 955 tsx7 clear_AM_segs 000521 aa 6 00103 7541 00 956 sti save_indicators save the indicators 000522 aa 6 00106 7541 00 957 sti indicators_no_par save current indicators 000523 aa 6 00106 2351 00 958 lda indicators_no_par we must turn OFF parity indicator 000524 aa 776777 3750 07 959 ana -1-scu.par,dl .. 000525 aa 000400 2750 07 960 ora scu.parm,dl and turn ON parity mask 000526 aa 6 00106 7551 00 961 sta indicators_no_par 000527 4a 4 00022 3501 20 962 eppap abs_seg$ ap -> low address to check 000530 4a 4 00024 3521 20 963 eppbp abs_seg1$ bp -> high address to check 000531 aa 6 00106 6341 00 964 ldi indicators_no_par 000532 aa 0 00000 2351 00 965 lda ap|0 get low address contents 000533 aa 6 00076 7551 00 966 sta old_low_data and save for later restore 000534 aa 2 00000 2351 00 967 lda bp|0 get high address contents 000535 aa 6 00100 7551 00 968 sta old_high_data and save for possible later restore 000536 aa 6 00077 2351 00 969 lda new_low_data 000537 aa 0 00000 7551 00 970 sta ap|0 save low address in low address 000540 aa 6 00101 2351 00 971 lda new_high_data 000541 aa 2 00000 7551 00 972 sta bp|0 save high address in high address 973 000542 aa 0 00000 2351 00 974 lda ap|0 now check contents of low address 000543 aa 6 00077 1151 00 975 cmpa new_low_data against what was originally written 000544 0a 000550 6010 00 976 tnz overlap_error if OVERLAP leave non-zero data in A-reg 000545 aa 000000 2350 07 977 lda 0,dl otherwise zero A-reg for return code 978 000546 aa 6 00100 2361 00 979 ldq old_high_data replace original high data 000547 aa 2 00000 7561 00 980 stq bp|0 when no error detected 981 000550 982 overlap_error: 000550 aa 6 00076 2361 00 983 ldq old_low_data replace original low data 000551 aa 0 00000 7561 00 984 stq ap|0 even when error is found 000552 aa 6 00032 3501 20 985 eppap sp|stack_frame.arg_ptr,* restore arg pointer 000553 aa 0 00006 7551 20 986 sta ap|6,* 000554 aa 6 00072 2371 00 987 ldaq save_sdw restore abs_seg SDW 000555 4a 4 00104 7571 20 988 staq dseg$,0 000556 aa 6 00074 2371 00 989 ldaq save_sdw1 restore abs_seg1 SDW 000557 4a 4 00142 7571 20 990 staq dseg$,1 000560 0a 000717 7070 00 991 tsx7 clear_AM_segs 000561 aa 6 00103 6341 00 992 ldi save_indicators 000562 aa 7 00042 7101 20 993 return 994 995 996 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 997 998 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 999 " 1000 " pmut$check_parity_for_use 1001 " 1002 " This entry is used to determine if a parity error exists in a main memory frame. 1003 " 1004 " It is called 1005 " when hardware_fault catches a store parity error, in which case 1006 " all configured main memory is checked. 1007 " 1008 " It returns a code if a parity error is found. 1009 " It leaves the responsibility of getting the 1010 " data page somewhere else without a parity error on page control, 1011 " who will subsequently be called to delete the page anyway. 1012 " 1013 " call is: 1014 " 1015 " call pmut$check_parity_for_use (blocknumber, code) 1016 " 1017 " blocknumber is 1024-word frame number, code returned nonzero if parity 1018 " error found 1019 " 1020 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 000563 1021 check_parity_for_use: 000563 aa 000120 6270 00 1022 push 000564 aa 7 00040 2721 20 000565 9a 4 00016 0541 00 1023 aos lp|check_parity_calls meter calls 000566 4a 4 00022 2201 00 1024 ldx0 lp|abs_seg_link get segno of abs_seg 000567 4a 4 00022 0201 00 1025 adlx0 lp|abs_seg_link multiply by 2 (SDW size) 000570 4a 4 00104 2371 20 1026 ldaq dseg$,0 pick up old contents of abs_seg SDW 000571 aa 6 00072 7571 00 1027 staq save_sdw save in stack 000572 aa 0 00002 2361 20 1028 ldq ap|2,* pick up core address as input argument 000573 aa 000072 7370 00 1029 lls 36+12+10 36 for a, 12 for sdw, 10 for 1024 word blocks 000574 0a 000714 2770 00 1030 oraq abs_seg_sdw make an SDW out of the a-q 000575 4a 4 00104 7571 20 1031 staq dseg$,0 place in SDW slot for abs_seg 000576 0a 000717 7070 00 1032 tsx7 clear_AM_segs 1033 000577 aa 6 00103 7541 00 1034 sti save_indicators save the indicators 000600 aa 6 00106 7541 00 1035 sti indicators_no_par save current indicators 000601 aa 6 00106 2351 00 1036 lda indicators_no_par we must turn OFF parity indicator 000602 aa 776777 3750 07 1037 ana -1-scu.par,dl .. 000603 aa 000400 2750 07 1038 ora scu.parm,dl and turn ON parity mask 000604 aa 6 00106 7551 00 1039 sta indicators_no_par 000605 4a 4 00022 3501 20 1040 eppap abs_seg$ ap -> page to check 000606 aa 010000 2210 03 1041 ldx1 1024*4,du size of a page in characters 1042 000607 1043 inhibit on <+><+><+><+><+><+><+><+><+><+><+><+> 1044 000607 aa 6 00106 6343 00 1045 ldi indicators_no_par 000610 aa 0 00140 1067 40 1046 cmpc (pr,rl),(pr,rl) read entire page without modifying 000611 aa 000000 000011 1047 desc9a ap|0,x1 000612 aa 000000 000011 1048 desc9a ap|0,x1 000613 aa 000000 0112 00 1049 nop 0 000614 aa 000000 0112 00 1050 nop 0 1051 1052 " The cmpc may not have examined all words in the page, since another 1053 " CPU or an IOM could modify a double-word between the two fetches. 1054 " If this happens, we punt, and check the page the hard way. 1055 000615 0a 000625 6012 00 1056 tnz slow_pc lost race -- do it the hard way 1057 000616 aa 6 00102 7543 00 1058 sti indicators 1059 000617 1060 inhibit off <-><-><-><-><-><-><-><-><-><-><-><-> 1061 000617 aa 000000 2350 07 1062 lda 0,dl pre-set error code to 0 000620 aa 6 00102 2361 00 1063 ldq indicators check for a parity error 000621 aa 001000 3160 07 1064 canq scu.par,dl .. 000622 0a 000642 6000 00 1065 tze checkpar_returns_code None found 000623 1066 checkpar_report_error: 000623 aa 000001 2350 07 1067 lda 1,dl non-zero error code 000624 0a 000642 7100 00 1068 tra checkpar_returns_code 1069 000625 9a 4 00017 0541 00 1070 slow_pc: aos lp|check_parity_slow count these 000626 aa 001776 6210 00 1071 eax1 1022 check page a double-word at a time 1072 000627 1073 inhibit on <+><+><+><+><+><+><+><+><+><+><+><+> 1074 000627 1075 slow_pc_loop: 000627 4a 4 00144 2373 20 1076 ldaq abs_seg$,1 000630 aa 000000 0112 00 1077 nop 0 let things settle 000631 aa 000000 0112 00 1078 nop 0 000632 aa 6 00102 7543 00 1079 sti indicators 000633 aa 6 00106 6343 00 1080 ldi indicators_no_par 1081 000634 1082 inhibit off <-><-><-><-><-><-><-><-><-><-><-><-> 1083 000634 aa 6 00102 2361 00 1084 ldq indicators check for a parity error 000635 aa 001000 3160 07 1085 canq scu.par,dl 000636 0a 000623 6010 00 1086 tnz checkpar_report_error 000637 aa 777776 6210 11 1087 eax1 -2,1 000640 0a 000627 6050 00 1088 tpl slow_pc_loop 000641 aa 000000 2350 07 1089 lda 0,dl zero error code 1090 000642 1091 checkpar_returns_code: 000642 aa 6 00032 3501 20 1092 eppap sp|stack_frame.arg_ptr,* restore arg pointer 000643 aa 0 00004 7551 20 1093 sta ap|4,* 000644 aa 6 00072 2371 00 1094 ldaq save_sdw restore abs_seg SDW 000645 4a 4 00104 7571 20 1095 staq dseg$,0 000646 0a 000717 7070 00 1096 tsx7 clear_AM_segs 000647 aa 6 00103 6341 00 1097 ldi save_indicators 000650 aa 7 00042 7101 20 1098 return 1099 1100 " check_parity_for_add 1101 " 1102 " This entrypoint is just as the above, except that 1103 " is clears the memory first to get rid of parity errors 1104 " left from uninitialized SCU's. 1105 000651 1106 check_parity_for_add: 000651 aa 000120 6270 00 1107 push 000652 aa 7 00040 2721 20 000653 9a 4 00016 0541 00 1108 aos lp|check_parity_calls meter calls 000654 4a 4 00022 2201 00 1109 ldx0 lp|abs_seg_link get segno of abs_seg 000655 4a 4 00022 0201 00 1110 adlx0 lp|abs_seg_link multiply by 2 (SDW size) 000656 4a 4 00104 2371 20 1111 ldaq dseg$,0 pick up old contents of abs_seg SDW 000657 aa 6 00072 7571 00 1112 staq save_sdw save in stack 000660 aa 0 00002 2361 20 1113 ldq ap|2,* pick up core address as input argument 000661 aa 000072 7370 00 1114 lls 36+12+10 36 for a, 12 for sdw, 10 for 1024 word blocks 000662 0a 000714 2770 00 1115 oraq abs_seg_sdw make an SDW out of the a-q 000663 4a 4 00104 7571 20 1116 staq dseg$,0 place in SDW slot for abs_seg 000664 0a 000717 7070 00 1117 tsx7 clear_AM_segs 1118 000665 aa 6 00103 7541 00 1119 sti save_indicators save the indicators 000666 aa 6 00106 7541 00 1120 sti indicators_no_par save current indicators 000667 aa 6 00106 2351 00 1121 lda indicators_no_par we must turn OFF parity indicator 000670 aa 776777 3750 07 1122 ana -1-scu.par,dl .. 000671 aa 000400 2750 07 1123 ora scu.parm,dl and turn ON parity mask 000672 aa 6 00106 7551 00 1124 sta indicators_no_par 000673 4a 4 00022 3501 20 1125 eppap abs_seg$ ap -> page to check 000674 aa 010000 2210 03 1126 ldx1 1024*4,du size of a page in characters 1127 000675 aa 000140 1004 00 1128 mlr (),(pr,rl) zero entire page 000676 aa 000000 000000 1129 desc9a 0 000677 aa 000000 000011 1130 desc9a ap|0,x1 1131 000700 1132 inhibit on <+><+><+><+><+><+><+><+><+><+><+><+> 1133 000700 aa 6 00106 6343 00 1134 ldi indicators_no_par 1135 000701 aa 0 00140 1067 40 1136 cmpc (pr,rl),(pr,rl) read entire page without modifying 000702 aa 000000 000011 1137 desc9a ap|0,x1 000703 aa 000000 000011 1138 desc9a ap|0,x1 000704 aa 000000 0112 00 1139 nop 0 000705 aa 000000 0112 00 1140 nop 0 1141 000706 aa 6 00102 7543 00 1142 sti indicators 1143 000707 1144 inhibit off <-><-><-><-><-><-><-><-><-><-><-><-> 1145 000707 aa 000000 2350 07 1146 lda 0,dl pre-set error code to 0 000710 aa 6 00102 2361 00 1147 ldq indicators check for a parity error 000711 aa 001000 3160 07 1148 canq scu.par,dl .. 000712 0a 000642 6000 00 1149 tze checkpar_returns_code None found 000713 0a 000623 7100 00 1150 tra checkpar_report_error Borrow returns from _for_use 1151 1152 even 000714 1153 abs_seg_sdw: 000714 aa 000000 000004 1154 vfd o36/sdw.valid 000715 aa 377775 200000 1155 vfd 1/,o14/37777,3/sdw.read+sdw.write,o18/sdw.unpaged 1156 000716 1157 clear_AM_both: 1158 iftarget L68 000716 aa 000000 5324 00 camp " ifend 1161 iftarget ADP " decor ORIONp " camp1 " ifend 000717 1165 clear_AM_segs: 1166 iftarget L68 000717 aa 000000 5320 00 cams " ifend 1169 iftarget ADP " decor ORIONp " cams1 " decor L68 " ifend 000720 aa 000000 7100 17 1174 tra 0,x7 1175 1176 use .link 000016 1177 check_parity_calls: 000016 aa 000000 000000 1178 dec 0 000017 1179 check_parity_slow: 000017 aa 000000 000000 1180 dec 0 1181 use .text. 1182 1183 join /link/.link 1184 1185 include apte 1-1 " BEGIN INCLUDE FILE apte.incl.alm 1-2 " 1-3 " 1-4 " HISTORY COMMENTS: 1-5 " 1) change(86-08-09,Kissel), approve(86-08-12,MCR7479), 1-6 " audit(86-10-08,Fawcett), install(86-11-03,MR12.0-1206): 1-7 " Added the ipc_r_offset, ipc_r_factor, and apad fields from the pl1 1-8 " include file to support async event channel wakeups. 1-9 " END HISTORY COMMENTS 1-10 000000 1-11 equ apte.thread,0 000000 1-12 equ apte.fp,0 "UPPER 000000 1-13 equ apte.bp,0 "LOWER 1-14 000001 1-15 equ apte.flags,1 000001 1-16 equ apte.sentinel,1 400000 1-17 bool apte.mbz,400000 "DU 200000 1-18 bool apte.wakeup_waiting,200000 "DU 100000 1-19 bool apte.stop_pending,100000 "DU 040000 1-20 bool apte.pre_empted,040000 "DU 020000 1-21 bool apte.hproc,020000 "DU 010000 1-22 bool apte.loaded,010000 "DU 004000 1-23 bool apte.eligible,004000 "DU 002000 1-24 bool apte.idle,002000 "DU 001000 1-25 bool apte.interaction,001000 "DU 000400 1-26 bool apte.pre_empt_pending,000400 "DU 000200 1-27 bool apte.default_procs_required,000200 "DU 000100 1-28 bool apte.realtime_burst,000100 "DU 000040 1-29 bool apte.always_loaded,000040 "DU 000020 1-30 bool apte.dbr_loaded,000020 "DU 000010 1-31 bool apte.being_loaded,000010 "DU 000004 1-32 bool apte.shared_stack_0,000004 "DU 000002 1-33 bool apte.page_wait_flag,000002 "DU 000001 1-34 bool apte.firstsw,000001 "DU 000001 1-35 equ apte.state,1 "LOWER 1-36 000002 1-37 equ apte.page_faults,2 1-38 000003 1-39 equ apte.processid,3 1-40 000004 1-41 equ apte.te,4 1-42 000005 1-43 equ apte.ts,5 1-44 000006 1-45 equ apte.ti,6 1-46 000007 1-47 equ apte.timax,7 1-48 000010 1-49 equ apte.ipc_pointers,8 000010 1-50 equ apte.event_thread,8 "UPPER 1-51 000011 1-52 equ apte.ips_message,9 1-53 000012 1-54 equ apte.asteps,10 000012 1-55 equ apte.pds,10 "UPPER 000012 1-56 equ apte.dseg,10 "LOWER 1-57 000013 1-58 equ apte.prds,11 "UPPER 000013 1-59 equ apte.savex7,11 "LOWER 1-60 000014 1-61 equ apte.term_processid,12 1-62 000015 1-63 equ apte.lock_id,13 000016 1-64 equ apte.time_used_clock,14 1-65 000020 1-66 equ apte.wait_event,16 1-67 000021 1-68 equ apte.wct_index,17 "UPPER 000021 1-69 equ apte.flags2,17 "LOWER 400000 1-70 bool apte.prior_sched,400000 "DL 000023 1-71 equ apte.chans_offset,19 374000 1-72 bool apte.special_chans,374000 "DL 000021 1-73 equ apte.batch_word,17 000010 1-74 bool apte.batch,000010 "DL 000007 1-75 bool apte.pr_tag_mask,000007 1-76 000022 1-77 equ apte.state_change_time,18 1-78 000024 1-79 equ apte.alarm_event,20 1-80 000026 1-81 equ apte.alarm_time_thread,22 "UPPER 000026 1-82 equ apte.alarm_time,22 1-83 000030 1-84 equ apte.term_channel,24 1-85 000032 1-86 equ apte.ws_size,26 1-87 000033 1-88 equ apte.temax,27 1-89 000034 1-90 equ apte.deadline,28 1-91 000036 1-92 equ apte.lock,30 1-93 000037 1-94 equ apte.cpu_monitor,31 units = 1/1024 sec 1-95 000040 1-96 equ apte.paging_measure,32 1-97 000042 1-98 equ apte.access_authorization,34 "DOUBLE WORD 400000 1-99 bool apte.no_ipc_check,400000 "DL 1-100 000044 1-101 equ apte.dbr,36 1-102 000046 1-103 equ apte.virtual_cpu_time,38 1-104 000050 1-105 equ apte.ittes_sent,40 000051 1-106 equ apte.ittes_got,41 1-107 000052 1-108 equ apte.current_response_state,42 " DU 000053 1-109 equ apte.number_processing,43 000054 1-110 equ apte.last_response_state_time,44 000056 1-111 equ apte.total_processing_time,46 000060 1-112 equ apte.begin_interaction_vcpu,48 1-113 000062 1-114 equ apte.saved_temax,50 000063 1-115 equ apte.procs_required,51 776000 1-116 bool apte.procs_required_mask,776000 " DU 1-117 000064 1-118 equ apte.ipc_r_offset,52 000065 1-119 equ apte.ipc_r_factor,53 000066 1-120 equ apte.apad,54 1-121 000100 1-122 equ size_of_apt_entry,64 1-123 1-124 " MISC OLD DCLS. 1-125 000013 1-126 equ apte.le_shift,11 000175 1-127 bool apte.timer_factor,175 1-128 1-129 1-130 " 1-131 " END INCLUDE FILE apte.incl.alm 1-132 " 1186 include fault_vector 2-1 2-2 2-3 "BEGIN INCLUDE FILE fault_vector.incl.alm 2-4 2-5 " Modified February 1981 by J. Bongiovanni to add fault types 2-6 2-7 " 2-8 " Structure fv 2-9 " 000600 2-10 equ fv_size,384 2-11 2-12 000000 2-13 equ fv.ipair,0 "LEVEL 2 2-14 000000 2-15 equ fv.ipair.scu,0 000001 2-16 equ fv.ipair.tra,1 000100 2-17 equ fv.fpair,64 "LEVEL 2 2-18 000100 2-19 equ fv.fpair.scu,64 000101 2-20 equ fv.fpair.tra,65 000200 2-21 equ fv.i_tra_ptr,128 000300 2-22 equ fv.i_scu_ptr,192 000400 2-23 equ fv.f_tra_ptr,256 000500 2-24 equ fv.f_scu_ptr,320 2-25 000000 2-26 equ FAULT_NO_SDF,0 " Shutdown 000001 2-27 equ FAULT_NO_STR,1 " Store 000002 2-28 equ FAULT_NO_MME,2 " Master Mode Entry 1 000003 2-29 equ FAULT_NO_F1,3 " Fault Tag 1 000004 2-30 equ FAULT_NO_TRO,4 " Timer Runout 000005 2-31 equ FAULT_NO_CMD,5 " Command 000006 2-32 equ FAULT_NO_DRL,6 " Derail 000007 2-33 equ FAULT_NO_LUF,7 " Lockup 000010 2-34 equ FAULT_NO_CON,8 " Connect 000011 2-35 equ FAULT_NO_PAR,9 " Parity 000012 2-36 equ FAULT_NO_IPR,10 " Illegal Procedure 000013 2-37 equ FAULT_NO_ONC,11 " Operation Not Complete 000014 2-38 equ FAULT_NO_SUF,12 " Startup 000015 2-39 equ FAULT_NO_OFL,13 " Overflow 000016 2-40 equ FAULT_NO_DIV,14 " Divide Check 000017 2-41 equ FAULT_NO_EXF,15 " Execute 000020 2-42 equ FAULT_NO_DF0,16 " Directed Fault 0 (Segment Fault) 000021 2-43 equ FAULT_NO_DF1,17 " Directed FAult 1 (Page Fault) 000022 2-44 equ FAULT_NO_DF2,18 " Directed Fault 2 000023 2-45 equ FAULT_NO_DF3,19 " Directed Fault 3 000024 2-46 equ FAULT_NO_ACV,20 " Access Violation 000025 2-47 equ FAULT_NO_MME2,21 " Master Mode Entry 2 000026 2-48 equ FAULT_NO_MME3,22 " Master Mode Entry 3 000027 2-49 equ FAULT_NO_MME4,23 " Master Mode Entry 4 000030 2-50 equ FAULT_NO_F2,24 " Fault Tag 2 (Linkage Fault) 000031 2-51 equ FAULT_NO_F3,25 " Fault Tag 3 2-52 " Fault No. 26-30 are Undefined 000037 2-53 equ FAULT_NO_TRB,31 " Trouble 2-54 2-55 "END INCLUDE FILE fault_vector.incl.alm 1187 include mode_reg 3-1 " BEGIN INCLUDE FILE mode_reg.incl.alm 3-2 " 777770 3-3 bool mr.floating_fv_mask,777770 floating fault vector address (DU) 000001 3-4 bool mr.trap_address_match,000001 trap on address match flag 777400 3-5 bool mr.opcode_field,777400 opcode field of mode reg (DL) 000200 3-6 bool mr.trap_opcode_match,000200 trap on opcode match flag 000060 3-7 bool mr.enable_hist,000060 enable strobe of history reg for most faults 000004 3-8 bool mr.enable_hfp,000004 enable hex floating point (DL) 000001 3-9 bool mr.enable_mr,000001 enable the mode register (DL) 3-10 3-11 " 3-12 " END INCLUDE FILE mode_reg.incl.alm 1188 include ptw 4-1 " BEGIN INCLUDE FILE ... ptw.incl.alm ... 03/01/81, for ADP conversion 4-2 4-3 iftarget l68 " Include whichever seems appropriate include ptw.l68 5-1 5-2 5-3 "BEGIN INCLUDE FILE ptw.l68.incl.alm 5-4 5-5 5-6 "Created 04/05/81 1616.0 est Sun by convert_include_file, 5-7 " Version of 04/05/81 1606.8 est Sun. 5-8 5-9 "Made from >udd>Multics>hardcore_pool>new_pc>include>ptw.l68.incl.pl1, 5-10 " modified 03/20/81 1815.9 est Fri 5-11 5-12 " 5-13 " Structure core_ptw 5-14 " 000026 5-15 equ core_ptw.frame_shift,22 037777 5-16 bool core_ptw.frame_mask,037777 000000 5-17 equ core_ptw.flags,0 " LOWER 000016 5-18 equ core_ptw.add_type_shift,14 000017 5-19 bool core_ptw.add_type_mask,000017 020000 5-20 bool core_ptw.first,020000 " DL 010000 5-21 bool core_ptw.er,010000 " DL 002000 5-22 bool core_ptw.unusable1,002000 " DL 001000 5-23 bool core_ptw.phu,001000 " DL 000400 5-24 bool core_ptw.phm1,000400 " DL 000200 5-25 bool core_ptw.nypd,000200 " DL 000100 5-26 bool core_ptw.phm,000100 " DL 000040 5-27 bool core_ptw.phu1,000040 " DL 000020 5-28 bool core_ptw.wired,000020 " DL 000010 5-29 bool core_ptw.os,000010 " DL 000004 5-30 bool core_ptw.valid,000004 " DL 000000 5-31 equ core_ptw.df_no_shift,0 000003 5-32 bool core_ptw.df_no_mask,000003 5-33 5-34 " 5-35 " Structure ptw 5-36 " 000000 5-37 equ ptw.add,0 " UPPER 000000 5-38 equ ptw.flags,0 " LOWER 000016 5-39 equ ptw.add_type_shift,14 000017 5-40 bool ptw.add_type_mask,000017 020000 5-41 bool ptw.first,020000 " DL 010000 5-42 bool ptw.er,010000 " DL 002000 5-43 bool ptw.unusable1,002000 " DL 001000 5-44 bool ptw.phu,001000 " DL 000400 5-45 bool ptw.phm1,000400 " DL 000200 5-46 bool ptw.nypd,000200 " DL 000100 5-47 bool ptw.phm,000100 " DL 000040 5-48 bool ptw.phu1,000040 " DL 000020 5-49 bool ptw.wired,000020 " DL 000010 5-50 bool ptw.os,000010 " DL 000004 5-51 bool ptw.valid,000004 " DL 000000 5-52 equ ptw.df_no_shift,0 000003 5-53 bool ptw.df_no_mask,000003 5-54 5-55 "END INCLUDE FILE ptw.l68.incl.alm " ifend 4-6 4-7 iftarget adp " include ptw.adp " ifend 4-10 4-11 " END INCLUDE FILE ... ptw.incl.alm 1189 include sdw 6-1 " BEGIN INCLUDE FILE ... sdw.incl.alm ... 03/01/81, for ADP conversion 6-2 6-3 iftarget l68 " Include whichever seems appropriate include sdw.l68 7-1 7-2 7-3 "BEGIN INCLUDE FILE sdw.l68.incl.alm 7-4 7-5 7-6 "Created 04/05/81 1616.1 est Sun by convert_include_file, 7-7 " Version of 04/05/81 1606.8 est Sun. 7-8 7-9 "Made from >udd>Multics>hardcore_pool>new_pc>include>sdw.l68.incl.pl1, 7-10 " modified 03/20/81 2215.5 est Fri 7-11 7-12 " 7-13 " Structure sdw 7-14 " 000002 7-15 equ sdw_size,2 7-16 000000 7-17 equ sdw.add_word,0 000014 7-18 equ sdw.add_shift,12 000000 7-19 equ sdw.rings_word,0 000003 7-20 equ sdw.rings_shift,3 000777 7-21 bool sdw.rings_mask,000777 000000 7-22 equ sdw.r1_word,0 000011 7-23 equ sdw.r1_shift,9 000007 7-24 bool sdw.r1_mask,000007 000000 7-25 equ sdw.r2_word,0 000006 7-26 equ sdw.r2_shift,6 000007 7-27 bool sdw.r2_mask,000007 000000 7-28 equ sdw.r3_word,0 000003 7-29 equ sdw.r3_shift,3 000007 7-30 bool sdw.r3_mask,000007 000000 7-31 equ sdw.valid_word,0 000004 7-32 bool sdw.valid,000004 " DL 000000 7-33 equ sdw.df_no_word,0 000000 7-34 equ sdw.df_no_shift,0 000003 7-35 bool sdw.df_no_mask,000003 7-36 000001 7-37 equ sdw.bound_word,1 000025 7-38 equ sdw.bound_shift,21 037777 7-39 bool sdw.bound_mask,037777 000001 7-40 equ sdw.access_word,1 000021 7-41 equ sdw.access_shift,17 000017 7-42 bool sdw.access_mask,000017 000001 7-43 equ sdw.read_word,1 000004 7-44 bool sdw.read,000004 " DU 000001 7-45 equ sdw.execute_word,1 000002 7-46 bool sdw.execute,000002 " DU 000001 7-47 equ sdw.write_word,1 000001 7-48 bool sdw.write,000001 " DU 000001 7-49 equ sdw.privileged_word,1 400000 7-50 bool sdw.privileged,400000 " DL 000001 7-51 equ sdw.unpaged_word,1 200000 7-52 bool sdw.unpaged,200000 " DL 000001 7-53 equ sdw.not_a_gate_word,1 100000 7-54 bool sdw.not_a_gate,100000 " DL 000001 7-55 equ sdw.cache_word,1 040000 7-56 bool sdw.cache,040000 " DL 000001 7-57 equ sdw.entry_bound_word,1 000000 7-58 equ sdw.entry_bound_shift,0 037777 7-59 bool sdw.entry_bound_mask,037777 7-60 7-61 "END INCLUDE FILE sdw.l68.incl.alm " ifend 6-6 6-7 iftarget adp " include sdw.adp " ifend 6-10 6-11 " END INCLUDE FILE ... sdw.incl.alm 1190 include sst 8-1 8-2 8-3 "BEGIN INCLUDE FILE sst.incl.alm 8-4 8-5 8-6 "Created 01/14/85 1523.7 est Mon by convert_include_file, 8-7 " Version of 01/09/85 0954.4 est Wed. 8-8 8-9 "Made from >Pool>m>loe>incl>sst.incl.pl1, 8-10 " modified 01/09/85 1148.3 est Wed 8-11 8-12 " 8-13 " Structure sst 8-14 " 001000 8-15 equ sst_size,512 8-16 8-17 000000 8-18 equ sst.space,0 000010 8-19 equ sst.pre_page_time,8 " DOUBLE 000012 8-20 equ sst.post_purge_time,10 " DOUBLE 000014 8-21 equ sst.post_in_core,12 000015 8-22 equ sst.thrashing,13 000016 8-23 equ sst.npfs_misses,14 000017 8-24 equ sst.salv,15 000020 8-25 equ sst.ptl,16 000021 8-26 equ sst.astl,17 000022 8-27 equ sst.astl_event,18 8-28 000023 8-29 equ sst.astl_notify_requested_word,19 400000 8-30 bool sst.astl_notify_requested,400000 " DU 8-31 000024 8-32 equ sst.nused,20 000025 8-33 equ sst.ptwbase,21 000026 8-34 equ sst.tfreep,22 000030 8-35 equ sst.astap,24 000032 8-36 equ sst.ptl_wait_ct,26 000033 8-37 equ sst.astsize,27 000034 8-38 equ sst.cmesize,28 000036 8-39 equ sst.root_astep,30 000040 8-40 equ sst.pts,32 000044 8-41 equ sst.level,36 " LEVEL 2 8-42 000044 8-43 equ sst.ausedp,36 " UPPER 000044 8-44 equ sst.no_aste,36 " LOWER 8-45 000050 8-46 equ sst.atempp,40 " UPPER 000050 8-47 equ sst.atempp1,40 " LOWER 8-48 000051 8-49 equ sst.dm_enabled_word,41 400000 8-50 bool sst.dm_enabled,400000 " DU 8-51 000052 8-52 equ sst.ainitp,42 " UPPER 000052 8-53 equ sst.ainitp1,42 " LOWER 8-54 000053 8-55 equ sst.strsize,43 000054 8-56 equ sst.cmp,44 8-57 000056 8-58 equ sst.usedp,46 " UPPER 8-59 000057 8-60 equ sst.wtct,47 8-61 000060 8-62 equ sst.startp,48 " UPPER 8-63 000061 8-64 equ sst.removep,49 " UPPER 8-65 000062 8-66 equ sst.double_write,50 000063 8-67 equ sst.temp_w_event,51 000064 8-68 equ sst.root_pvtx,52 8-69 000065 8-70 equ sst.nolock_word,53 400000 8-71 bool sst.nolock,400000 " DU 8-72 000066 8-73 equ sst.fc_skips_pinned,54 000067 8-74 equ sst.cl_skips_pinned,55 000070 8-75 equ sst.ast_ht_ptr,56 000072 8-76 equ sst.ast_ht_n_buckets,58 000073 8-77 equ sst.ast_ht_uid_mask,59 000074 8-78 equ sst.meter_ast_locking,60 000075 8-79 equ sst.checksum_filemap,61 000076 8-80 equ sst.page_read_errors,62 000077 8-81 equ sst.page_write_errors,63 000100 8-82 equ sst.cycle_pv_allocation,64 000101 8-83 equ sst.n_trailers,65 000102 8-84 equ sst.synch_activations,66 000103 8-85 equ sst.synch_skips,67 000104 8-86 equ sst.lock_waits,68 000105 8-87 equ sst.total_locks_set,69 000106 8-88 equ sst.pdir_page_faults,70 000107 8-89 equ sst.level_1_page_faults,71 000110 8-90 equ sst.dir_page_faults,72 000111 8-91 equ sst.ring_0_page_faults,73 000112 8-92 equ sst.rqover,74 000113 8-93 equ sst.pc_io_waits,75 000114 8-94 equ sst.steps,76 000115 8-95 equ sst.needc,77 000116 8-96 equ sst.ceiling,78 000117 8-97 equ sst.ctwait,79 000120 8-98 equ sst.wired,80 000121 8-99 equ sst.laps,81 000122 8-100 equ sst.skipw,82 000123 8-101 equ sst.skipu,83 000124 8-102 equ sst.skipm,84 000125 8-103 equ sst.skipos,85 000126 8-104 equ sst.aused,86 000127 8-105 equ sst.damaged_ct,87 000130 8-106 equ sst.deact_count,88 000131 8-107 equ sst.demand_deact_attempts,89 000132 8-108 equ sst.demand_deactivations,90 000133 8-109 equ sst.reads,91 000143 8-110 equ sst.writes,99 000153 8-111 equ sst.short_pf_count,107 000154 8-112 equ sst.loop_locks,108 000156 8-113 equ sst.loop_lock_time,110 " DOUBLE 000160 8-114 equ sst.cpu_sf_time,112 " DOUBLE 000162 8-115 equ sst.total_sf_pf,114 000163 8-116 equ sst.total_sf,115 000164 8-117 equ sst.pre_page_size,116 000165 8-118 equ sst.post_list_size,117 000166 8-119 equ sst.post_purgings,118 000167 8-120 equ sst.post_purge_calls,119 000170 8-121 equ sst.pre_page_calls,120 000171 8-122 equ sst.pre_page_list_size,121 000172 8-123 equ sst.pre_page_misses,122 000173 8-124 equ sst.pre_pagings,123 000174 8-125 equ sst.wire_proc_data,124 " DOUBLE 000214 8-126 equ sst.abs_wired_count,140 000215 8-127 equ sst.system_type,141 000216 8-128 equ sst.wired_copies,142 000217 8-129 equ sst.recopies,143 000220 8-130 equ sst.first_core_block,144 000221 8-131 equ sst.last_core_block,145 000222 8-132 equ sst.fw_retries,146 000223 8-133 equ sst.pvhtp,147 000224 8-134 equ sst.askipsize,148 000230 8-135 equ sst.aneedsize,152 000234 8-136 equ sst.stepsa,156 000235 8-137 equ sst.askipsehs,157 000236 8-138 equ sst.asearches,158 000237 8-139 equ sst.askipslevel,159 000240 8-140 equ sst.askipsinit,160 000241 8-141 equ sst.acost,161 000242 8-142 equ sst.askipslock,162 000243 8-143 equ sst.askipdius,163 000244 8-144 equ sst.alaps,164 000245 8-145 equ sst.updates,165 000246 8-146 equ sst.setfaults_all,166 000247 8-147 equ sst.setfaults_acc,167 000250 8-148 equ sst.total_bf,168 000251 8-149 equ sst.total_bf_pf,169 000252 8-150 equ sst.cpu_bf_time,170 " DOUBLE 000254 8-151 equ sst.asteps,172 000260 8-152 equ sst.ast_locked_at_time,176 " DOUBLE 000262 8-153 equ sst.ast_locked_total_time,178 " DOUBLE 000264 8-154 equ sst.ast_lock_wait_time,180 " DOUBLE 000266 8-155 equ sst.ast_locking_count,182 000267 8-156 equ sst.cleanup_count,183 000270 8-157 equ sst.cleanup_real_time,184 " DOUBLE 000272 8-158 equ sst.tree_count,186 000372 8-159 equ sst.pp_meters,250 8-160 000472 8-161 equ sst.wusedp,314 " UPPER 8-162 000473 8-163 equ sst.write_hunts,315 000474 8-164 equ sst.claim_skip_cme,316 000475 8-165 equ sst.claim_skip_free,317 000476 8-166 equ sst.claim_notmod,318 000477 8-167 equ sst.claim_passed_used,319 000500 8-168 equ sst.claim_skip_ptw,320 000501 8-169 equ sst.claim_writes,321 000502 8-170 equ sst.claim_steps,322 000503 8-171 equ sst.pre_seeks_failed,323 000504 8-172 equ sst.resurrections,324 000505 8-173 equ sst.volmap_seg_page_faults,325 000506 8-174 equ sst.oopv,326 000507 8-175 equ sst.dblw_resurrections,327 000510 8-176 equ sst.sgm_time,328 " DOUBLE 000512 8-177 equ sst.sgm_pf,330 000513 8-178 equ sst.bad_sgms,331 000514 8-179 equ sst.sgm_sgft,332 000515 8-180 equ sst.good_sgms,333 000516 8-181 equ sst.claim_runs,334 000517 8-182 equ sst.activations,335 000520 8-183 equ sst.dir_activations,336 000521 8-184 equ sst.hedge_updatevs,337 000522 8-185 equ sst.hedge_writes,338 000523 8-186 equ sst.evict_recover_data,339 " LEVEL 2 8-187 000523 8-188 equ sst.evict_ptp,339 " UPPER 000523 8-189 equ sst.evict_phmbit,339 " LOWER 8-190 000524 8-191 equ sst.force_swrites,340 000525 8-192 equ sst.force_pwrites,341 000526 8-193 equ sst.fw_none,342 000527 8-194 equ sst.force_updatevs,343 000530 8-195 equ sst.pf_unlock_ptl_time,344 " DOUBLE 000532 8-196 equ sst.pf_unlock_ptl_meterings,346 000533 8-197 equ sst.makeknown_activations,347 000534 8-198 equ sst.backup_activations,348 000535 8-199 equ sst.metering_flags,349 " LEVEL 2 8-200 400000 8-201 bool sst.activate_activated,400000 " DU 8-202 000536 8-203 equ sst.seg_fault_calls,350 000537 8-204 equ sst.stk_truncate_should_didnt,351 000540 8-205 equ sst.stk_truncate_should_did,352 000541 8-206 equ sst.stk_truncate_shouldnt_didnt,353 000542 8-207 equ sst.stk_truncate_shouldnt_did,354 000543 8-208 equ sst.stk_pages_truncated,355 000544 8-209 equ sst.stk_pages_truncated_in_core,356 000545 8-210 equ sst.segmove_lock,357 " LEVEL 2 8-211 000545 8-212 equ sst.pid,357 000546 8-213 equ sst.event,358 8-214 000547 8-215 equ sst.notify_word,359 400000 8-216 bool sst.notify,400000 " DU 8-217 000550 8-218 equ sst.segmove_io_limit,360 000551 8-219 equ sst.segmove_found_synch,361 000552 8-220 equ sst.segmove_synch_disappeared,362 000553 8-221 equ sst.segmove_n_reads,363 000554 8-222 equ sst.segmove_max_tries,364 000555 8-223 equ sst.segmove_astep,365 000556 8-224 equ sst.segmove_pvtx,366 000557 8-225 equ sst.segmove_vtocx,367 000560 8-226 equ sst.segmove_old_addr_astep,368 000561 8-227 equ sst.segmove_new_addr_astep,369 000562 8-228 equ sst.mod_during_write,370 000563 8-229 equ sst.zero_pages,371 000564 8-230 equ sst.trace_sw,372 " LEVEL 2 8-231 000010 8-232 bool sst.pc_trace_pf,000010 " DL 000004 8-233 bool sst.tty_trace,000004 " DL 000002 8-234 bool sst.pc_trace,000002 " DL 000001 8-235 bool sst.sc_trace,000001 " DL 8-236 000565 8-237 equ sst.new_pages,373 8-238 000566 8-239 equ sst.ast_track_word,374 400000 8-240 bool sst.ast_track,400000 " DU 8-241 000567 8-242 equ sst.dirlock_writebehind,375 000570 8-243 equ sst.write_limit,376 8-244 000571 8-245 equ sst.crash_test_segmove_word,377 400000 8-246 bool sst.crash_test_segmove,400000 " DU 8-247 000572 8-248 equ sst.delayed_seg_state_chg,378 000573 8-249 equ sst.audit_seg_state_chg,379 000574 8-250 equ sst.seg_state_chg_delay,380 " DOUBLE 000576 8-251 equ sst.seg_state_change_limit,382 000577 8-252 equ sst.max_seg_state_change_bw,383 000600 8-253 equ sst.audit_seg_state_change_bw,384 000601 8-254 equ sst.seg_state_chg_operation,385 8-255 8-256 "END INCLUDE FILE sst.incl.alm 1191 include scs 9-1 " BEGIN INCLUDE FILE scs.incl.alm 2/4/76 S. Webber 9-2 " Modified 80 Sep 19 by Art Beattie: added hbound_processor_data. 9-3 400000 9-4 bool processor_data.online,400000 "DU 200000 9-5 bool processor_data.offline,200000 "DU 020000 9-6 bool processor_data.delete_cpu,020000 "DU 010000 9-7 bool processor_data.interrupt_cpu,010000 "DU 004000 9-8 bool processor_data.halted_cpu,004000 "DU 000007 9-9 bool processor_data.port_mask,000007 "DL 000007 9-10 bool hbound_processor_data,7 9-11 9-12 " END INCLUDE FILE scs.incl.alm 1192 include stack_frame 10-1 " 10-2 " BEGIN INCLUDE FILE ... stack_frame.incl.alm 6/72 RBS 10-3 " 10-4 " Modified: 16 Dec 1977, D. Levin - to add fio_ps_ptr 10-5 " Modified: 3 Feb 1978, P. Krupp - to add run_unit_manager_bit & main_proc_bit 10-6 " Modified: 21 March 1978, D. Levin - change fio_ps_ptr to support_ptr 10-7 " 000020 10-8 equ stack_frame.prev_sp,16 000020 10-9 equ stack_frame.condition_word,16 000022 10-10 equ stack_frame.next_sp,18 000022 10-11 equ stack_frame.signaller_word,18 000024 10-12 equ stack_frame.return_ptr,20 000026 10-13 equ stack_frame.entry_ptr,22 000030 10-14 equ stack_frame.operator_ptr,24 000030 10-15 equ stack_frame.lp_ptr,24 000032 10-16 equ stack_frame.arg_ptr,26 000034 10-17 equ stack_frame.static_ptr,28 000035 10-18 equ stack_frame.support_ptr,29 " only used by fortran I/O 000036 10-19 equ stack_frame.on_unit_rel_ptrs,30 000037 10-20 equ stack_frame.operator_ret_ptr,31 000037 10-21 equ stack_frame.translator_id,31 000040 10-22 equ stack_frame.regs,32 000060 10-23 equ stack_frame.min_length,48 000020 10-24 equ stack_frame.flag_word,16 020000 10-25 bool stack_frame.main_proc_bit,020000 (DL) 010000 10-26 bool stack_frame.run_unit_manager,010000 (DL) 004000 10-27 bool stack_frame.signal_bit,004000 (DL) 002000 10-28 bool stack_frame.crawl_out_bit,002000 (DL) 001000 10-29 bool stack_frame.signaller_bit,001000 (DL) 000400 10-30 bool stack_frame.link_trap_bit,000400 (DL) 000200 10-31 bool stack_frame.support_bit,000200 (DL) 000100 10-32 bool stack_frame.condition_bit,000100 (DL) 10-33 10-34 " 10-35 " END INCLUDE FILE ... stack_frame.incl.alm 10-36 " 1193 include stack_header 11-1 " BEGIN INCLUDE FILE ... stack_header.incl.alm 3/72 Bill Silver 11-2 " 11-3 " modified 7/76 by M. Weaver for *system links and more system use of areas 11-4 " modified 3/77 by M. Weaver to add rnt_ptr 11-5 " modified 7/77 by S. Webber to add run_unit_depth and assign_linkage_ptr 11-6 " modified 6/83 by J. Ives to add trace_frames and in_trace. 11-7 11-8 " HISTORY COMMENTS: 11-9 " 1) change(86-06-24,DGHowe), approve(86-06-24,MCR7396), 11-10 " audit(86-08-05,Schroth), install(86-11-03,MR12.0-1206): 11-11 " added the heap_header_ptr definition 11-12 " 2) change(86-08-12,Kissel), approve(86-08-12,MCR7473), 11-13 " audit(86-10-10,Fawcett), install(86-11-03,MR12.0-1206): 11-14 " Modified to support control point management. These changes were 11-15 " actually made in February 1985 by G. Palter. 11-16 " 3) change(86-10-22,Fawcett), approve(86-10-22,MCR7473), 11-17 " audit(86-10-22,Farley), install(86-11-03,MR12.0-1206): 11-18 " Remove the old_lot pointer and replace it with cpm_data_ptr. Use the 18 11-19 " bit pad after cur_lot_size for the cpm_enabled. This was done to save 11-20 " some space int the stack header and change the cpd_ptr unal to 11-21 " cpm_data_ptr (ITS pair). 11-22 " END HISTORY COMMENTS 11-23 000004 11-24 equ stack_header.cpm_data_ptr,4 ptr to control point for this stack 000006 11-25 equ stack_header.combined_stat_ptr,6 ptr to separate static area 11-26 000010 11-27 equ stack_header.clr_ptr,8 ptr to area containing linkage sections 000012 11-28 equ stack_header.max_lot_size,10 number of words allowed in lot (DU) 000012 11-29 equ stack_header.main_proc_invoked,10 nonzero if main proc was invoked in run unit (DL) 000012 11-30 equ stack_header.run_unit_depth,10 number of active run units stacked (DL) 000013 11-31 equ stack_header.cur_lot_size,11 DU number of words (entries) in lot 000013 11-32 equ stack_header.cpm_enabled,11 DL non-zero if control point management is enabled 000014 11-33 equ stack_header.system_free_ptr,12 ptr to system storage area 000016 11-34 equ stack_header.user_free_ptr,14 ptr to user storage area 11-35 000020 11-36 equ stack_header.parent_ptr,16 ptr to parent stack or null 000022 11-37 equ stack_header.stack_begin_ptr,18 ptr to first stack frame 000024 11-38 equ stack_header.stack_end_ptr,20 ptr to next useable stack frame 000026 11-39 equ stack_header.lot_ptr,22 ptr to the lot for the current ring 11-40 000030 11-41 equ stack_header.signal_ptr,24 ptr to signal proc for current ring 000032 11-42 equ stack_header.bar_mode_sp,26 value of sp before entering bar mode 000034 11-43 equ stack_header.pl1_operators_ptr,28 ptr: pl1_operators_$operator_table 000036 11-44 equ stack_header.call_op_ptr,30 ptr to standard call operator 11-45 000040 11-46 equ stack_header.push_op_ptr,32 ptr to standard push operator 000042 11-47 equ stack_header.return_op_ptr,34 ptr to standard return operator 000044 11-48 equ stack_header.ret_no_pop_op_ptr,36 ptr: stand. return/ no pop operator 000046 11-49 equ stack_header.entry_op_ptr,38 ptr to standard entry operator 11-50 000050 11-51 equ stack_header.trans_op_tv_ptr,40 ptr to table of translator operator ptrs 000052 11-52 equ stack_header.isot_ptr,42 pointer to ISOT 000054 11-53 equ stack_header.sct_ptr,44 pointer to System Condition Table 000056 11-54 equ stack_header.unwinder_ptr,46 pointer to unwinder for current ring 11-55 000060 11-56 equ stack_header.sys_link_info_ptr,48 ptr to *system link name table 000062 11-57 equ stack_header.rnt_ptr,50 ptr to reference name table 000064 11-58 equ stack_header.ect_ptr,52 ptr to event channel table 000066 11-59 equ stack_header.assign_linkage_ptr,54 ptr to area for hcs_$assign_linkage calls 000070 11-60 equ stack_header.heap_header_ptr,56 ptr to heap header. 000072 11-61 equ stack_header.trace_frames,58 stack of trace_catch_ frames 000073 11-62 equ stach_header.trace_top_ptr,59 trace pointer 000074 11-63 equ stack_header.in_trace,60 trace antirecurse bit 000100 11-64 equ stack_header_end,64 length of stack header 11-65 11-66 11-67 11-68 000000 11-69 equ trace_frames.count,0 number of trace frames on stack 000001 11-70 equ trace_frames.top_ptr,1 packed pointer to top one 11-71 11-72 " The following constant is an offset within the pl1 operators table. 11-73 " It references a transfer vector table. 11-74 000551 11-75 bool tv_offset,551 11-76 11-77 11-78 " The following constants are offsets within this transfer vector table. 11-79 001170 11-80 equ call_offset,tv_offset+271 001171 11-81 equ push_offset,tv_offset+272 001172 11-82 equ return_offset,tv_offset+273 001173 11-83 equ return_no_pop_offset,tv_offset+274 001174 11-84 equ entry_offset,tv_offset+275 11-85 11-86 11-87 " END INCLUDE FILE stack_header.incl.alm 1194 include toe_hold 12-1 12-2 12-3 "BEGIN INCLUDE FILE toe_hold.incl.alm 12-4 12-5 12-6 "Created 04/16/84 1150.7 est Mon by convert_include_file, 12-7 " Version of 11/07/82 1445.1 est Sun. 12-8 12-9 "Made from >cdd>incl>x>toe_hold.incl.pl1, 12-10 " modified 04/16/84 1150.7 est Mon 12-11 12-12 " 12-13 " Structure toe_hold 12-14 " 004000 12-15 equ toe_hold_size,2048 12-16 12-17 000000 12-18 equ toe_hold.entry_sequences,0 " DOUBLE 000040 12-19 equ toe_hold.flagbox,32 000220 12-20 equ toe_hold.paths,144 " LEVEL 2 12-21 000240 12-22 equ toe_hold.n_paths_used,160 000241 12-23 equ toe_hold.memory_state,161 000242 12-24 equ toe_hold.bce_dbr,162 " DOUBLE 002760 12-25 equ toe_hold.multics_state,1520 " LEVEL 2 12-26 12-27 12-28 " 12-29 " Structure io_path 12-30 " 000004 12-31 equ io_path_size,4 12-32 000000 12-33 equ io_path.pcw,0 " DOUBLE 12-34 000002 12-35 equ io_path.port_number_word,2 000041 12-36 equ io_path.port_number_shift,33 000007 12-37 bool io_path.port_number_mask,000007 000002 12-38 equ io_path.iom_number_word,2 000022 12-39 equ io_path.iom_number_shift,18 077777 12-40 bool io_path.iom_number_mask,077777 000002 12-41 equ io_path.channel_number,2 " LOWER 12-42 000000 12-43 equ TOE_HOLD_CRASH_ENTRY,0 " MANIFEST 000001 12-44 equ TOE_HOLD_ESD_ENTRY,1 " MANIFEST 000002 12-45 equ TOE_HOLD_DUMP_ENTRY,2 " MANIFEST 000003 12-46 equ TOE_HOLD_MULTICS_ENTRY,3 " MANIFEST 000004 12-47 equ TOE_HOLD_RESTART_ENTRY,4 " MANIFEST 000005 12-48 equ TOE_HOLD_BOOT_ENTRY,5 " MANIFEST 000014 12-49 equ TOE_HOLD_BOS_ENTRY,12 " MANIFEST 000015 12-50 equ TOE_HOLD_BOS_NO_SAVE_ENTRY,13 " MANIFEST 000016 12-51 equ TOE_HOLD_BOS_MULTICS_ENTRY,14 " MANIFEST 12-52 12-53 " 12-54 " Structure mc_state 12-55 " 001020 12-56 equ mc_state_size,528 12-57 000000 12-58 equ mc_state.mc_,0 " LEVEL 2 12-59 000060 12-60 equ mc_state.masks,48 000100 12-61 equ mc_state.interrupt,64 " DOUBLE 000102 12-62 equ mc_state.mode_reg,66 000103 12-63 equ mc_state.cache_mode_reg,67 000104 12-64 equ mc_state.dbr,68 " DOUBLE 000106 12-65 equ mc_state.cfg,70 " DOUBLE 000110 12-66 equ mc_state.bar,72 000111 12-67 equ mc_state.old_memory_state,73 000120 12-68 equ mc_state.ou_history_registers,80 " DOUBLE 000160 12-69 equ mc_state.cu_history_registers,112 " DOUBLE 000220 12-70 equ mc_state.du_history_registers,144 " DOUBLE 000260 12-71 equ mc_state.apu_history_registers,176 " DOUBLE 000320 12-72 equ mc_state.ptwam_ptrs,208 000420 12-73 equ mc_state.ptwam_regs,272 000520 12-74 equ mc_state.sdwam_ptrs,336 000620 12-75 equ mc_state.sdwam_regs,400 " DOUBLE 12-76 000000 12-77 equ Initial_undefined,0 " MANIFEST 000001 12-78 equ At_bce__early,1 " MANIFEST 000002 12-79 equ At_bce__boot,2 " MANIFEST 000003 12-80 equ Multics,3 " MANIFEST 000004 12-81 equ Undefined_saving_state,4 " MANIFEST 000005 12-82 equ Undefined_reading_bce,5 " MANIFEST 000006 12-83 equ At_bce__crash,6 " MANIFEST 000007 12-84 equ At_bce__shutdown,7 " MANIFEST 000010 12-85 equ Undefined_continue,8 " MANIFEST 000011 12-86 equ Undefined_saving_mem,9 " MANIFEST 12-87 12-88 " 12-89 " Structure mc 12-90 " 000060 12-91 equ mc_size,48 12-92 000000 12-93 equ mc.prs,0 12-94 000020 12-95 equ mc.regs_word,16 001532 12-96 equ mc.regs_shift,858 000020 12-97 equ mc.x,16 " UPPER 12-98 000024 12-99 equ mc.a,20 000025 12-100 equ mc.q,21 12-101 000026 12-102 equ mc.e_word,22 000034 12-103 equ mc.e_shift,28 000377 12-104 bool mc.e_mask,000377 12-105 000027 12-106 equ mc.t_word,23 000011 12-107 equ mc.t_shift,9 000027 12-108 equ mc.ralr_word,23 000000 12-109 equ mc.ralr_shift,0 000007 12-110 bool mc.ralr_mask,000007 12-111 000030 12-112 equ mc.scu,24 000040 12-113 equ mc.mask,32 " DOUBLE 000042 12-114 equ mc.ips_temp,34 12-115 000043 12-116 equ mc.errcode_word,35 000000 12-117 equ mc.errcode_shift,0 12-118 000044 12-119 equ mc.fim_temp_word,36 000000 12-120 equ mc.fim_temp_shift,0 000044 12-121 equ mc.unique_index,36 " UPPER 000044 12-122 equ mc.resignal_word,36 400000 12-123 bool mc.resignal,400000 " DL 000044 12-124 equ mc.fcode_word,36 000000 12-125 equ mc.fcode_shift,0 377777 12-126 bool mc.fcode_mask,377777 12-127 000045 12-128 equ mc.fault_reg,37 12-129 000046 12-130 equ mc.cpu_type_word,38 000041 12-131 equ mc.cpu_type_shift,33 000003 12-132 bool mc.cpu_type_mask,000003 000046 12-133 equ mc.ext_fault_reg_word,38 000022 12-134 equ mc.ext_fault_reg_shift,18 077777 12-135 bool mc.ext_fault_reg_mask,077777 12-136 000046 12-137 equ mc.fault_time,38 " DOUBLE 000050 12-138 equ mc.eis_info,40 12-139 000000 12-140 equ apx,0 " MANIFEST 000001 12-141 equ abx,1 " MANIFEST 000002 12-142 equ bpx,2 " MANIFEST 000003 12-143 equ bbx,3 " MANIFEST 000004 12-144 equ lpx,4 " MANIFEST 000005 12-145 equ lbx,5 " MANIFEST 000006 12-146 equ spx,6 " MANIFEST 000007 12-147 equ sbx,7 " MANIFEST 12-148 12-149 " 12-150 " Structure scu 12-151 " 000010 12-152 equ scu_size,8 12-153 000000 12-154 equ scu.ppr_word,0 000021 12-155 equ scu.ppr_shift,17 000041 12-156 equ scu.prr_shift,33 000007 12-157 bool scu.prr_mask,000007 000022 12-158 equ scu.psr_shift,18 077777 12-159 bool scu.psr_mask,077777 400000 12-160 bool scu.p,400000 " DL 000000 12-161 equ scu.apu_word,0 000003 12-162 equ scu.apu_shift,3 037777 12-163 bool scu.apu_mask,037777 200000 12-164 bool scu.xsf,200000 " DL 100000 12-165 bool scu.sdwm,100000 " DL 040000 12-166 bool scu.sd_on,040000 " DL 020000 12-167 bool scu.ptwm,020000 " DL 010000 12-168 bool scu.pt_on,010000 " DL 004000 12-169 bool scu.pi_ap,004000 " DL 002000 12-170 bool scu.dsptw,002000 " DL 001000 12-171 bool scu.sdwnp,001000 " DL 000400 12-172 bool scu.sdwp,000400 " DL 000200 12-173 bool scu.ptw,000200 " DL 000100 12-174 bool scu.ptw2,000100 " DL 000040 12-175 bool scu.fap,000040 " DL 000020 12-176 bool scu.fanp,000020 " DL 000010 12-177 bool scu.fabs,000010 " DL 000000 12-178 equ scu.fault_cntr_word,0 000000 12-179 equ scu.fault_cntr_shift,0 000007 12-180 bool scu.fault_cntr_mask,000007 12-181 000001 12-182 equ scu.fd_word,1 000020 12-183 equ scu.fd_shift,16 000001 12-184 equ scu.iro_word,1 400000 12-185 bool scu.iro,400000 " DU 000001 12-186 equ scu.oeb_word,1 200000 12-187 bool scu.oeb,200000 " DU 000001 12-188 equ scu.e_off_word,1 100000 12-189 bool scu.e_off,100000 " DU 000001 12-190 equ scu.orb_word,1 040000 12-191 bool scu.orb,040000 " DU 000001 12-192 equ scu.r_off_word,1 020000 12-193 bool scu.r_off,020000 " DU 000001 12-194 equ scu.owb_word,1 010000 12-195 bool scu.owb,010000 " DU 000001 12-196 equ scu.w_off_word,1 004000 12-197 bool scu.w_off,004000 " DU 000001 12-198 equ scu.no_ga_word,1 002000 12-199 bool scu.no_ga,002000 " DU 000001 12-200 equ scu.ocb_word,1 001000 12-201 bool scu.ocb,001000 " DU 000001 12-202 equ scu.ocall_word,1 000400 12-203 bool scu.ocall,000400 " DU 000001 12-204 equ scu.boc_word,1 000200 12-205 bool scu.boc,000200 " DU 000001 12-206 equ scu.inret_word,1 000100 12-207 bool scu.inret,000100 " DU 000001 12-208 equ scu.crt_word,1 000040 12-209 bool scu.crt,000040 " DU 000001 12-210 equ scu.ralr_word,1 000020 12-211 bool scu.ralr,000020 " DU 000001 12-212 equ scu.am_er_word,1 000010 12-213 bool scu.am_er,000010 " DU 000001 12-214 equ scu.oosb_word,1 000004 12-215 bool scu.oosb,000004 " DU 000001 12-216 equ scu.paru_word,1 000002 12-217 bool scu.paru,000002 " DU 000001 12-218 equ scu.parl_word,1 000001 12-219 bool scu.parl,000001 " DU 000001 12-220 equ scu.onc_1_word,1 400000 12-221 bool scu.onc_1,400000 " DL 000001 12-222 equ scu.onc_2_word,1 200000 12-223 bool scu.onc_2,200000 " DL 000001 12-224 equ scu.port_stat_word,1 000006 12-225 equ scu.port_stat_shift,6 001777 12-226 bool scu.port_stat_mask,001777 000001 12-227 equ scu.ial_word,1 000014 12-228 equ scu.ial_shift,12 000017 12-229 bool scu.ial_mask,000017 000001 12-230 equ scu.iac_word,1 000011 12-231 equ scu.iac_shift,9 000007 12-232 bool scu.iac_mask,000007 000001 12-233 equ scu.con_chan_word,1 000006 12-234 equ scu.con_chan_shift,6 000007 12-235 bool scu.con_chan_mask,000007 000001 12-236 equ scu.fi_num_word,1 000001 12-237 equ scu.fi_num_shift,1 000037 12-238 bool scu.fi_num_mask,000037 000001 12-239 equ scu.fi_flag_word,1 000001 12-240 bool scu.fi_flag,000001 " DL 12-241 000002 12-242 equ scu.tpr,2 " UPPER 000002 12-243 equ scu.trr_word,2 000041 12-244 equ scu.trr_shift,33 000007 12-245 bool scu.trr_mask,000007 000002 12-246 equ scu.tsr_word,2 000022 12-247 equ scu.tsr_shift,18 077777 12-248 bool scu.tsr_mask,077777 000002 12-249 equ scu.cpu_no_word,2 000006 12-250 equ scu.cpu_no_shift,6 000007 12-251 bool scu.cpu_no_mask,000007 000002 12-252 equ scu.delta_word,2 000000 12-253 equ scu.delta_shift,0 000077 12-254 bool scu.delta_mask,000077 12-255 000003 12-256 equ scu.word3,3 " UPPER 000003 12-257 equ scu.tsr_stat_word,3 000006 12-258 equ scu.tsr_stat_shift,6 007777 12-259 bool scu.tsr_stat_mask,007777 000003 12-260 equ scu.tsna_word,3 000016 12-261 equ scu.tsna_shift,14 000017 12-262 bool scu.tsna_mask,000017 000003 12-263 equ scu.tsnb_word,3 000012 12-264 equ scu.tsnb_shift,10 000017 12-265 bool scu.tsnb_mask,000017 000003 12-266 equ scu.tsnc_word,3 000006 12-267 equ scu.tsnc_shift,6 000017 12-268 bool scu.tsnc_mask,000017 000003 12-269 equ scu.tpr_tbr_word,3 000000 12-270 equ scu.tpr_tbr_shift,0 000077 12-271 bool scu.tpr_tbr_mask,000077 12-272 000004 12-273 equ scu.ilc,4 " UPPER 000004 12-274 equ scu.ir,4 " LOWER 000004 12-275 equ scu.zero_word,4 400000 12-276 bool scu.zero,400000 " DL 000004 12-277 equ scu.neg_word,4 200000 12-278 bool scu.neg,200000 " DL 000004 12-279 equ scu.carry_word,4 100000 12-280 bool scu.carry,100000 " DL 000004 12-281 equ scu.ovfl_word,4 040000 12-282 bool scu.ovfl,040000 " DL 000004 12-283 equ scu.eovf_word,4 020000 12-284 bool scu.eovf,020000 " DL 000004 12-285 equ scu.eufl_word,4 010000 12-286 bool scu.eufl,010000 " DL 000004 12-287 equ scu.oflm_word,4 004000 12-288 bool scu.oflm,004000 " DL 000004 12-289 equ scu.tro_word,4 002000 12-290 bool scu.tro,002000 " DL 000004 12-291 equ scu.par_word,4 001000 12-292 bool scu.par,001000 " DL 000004 12-293 equ scu.parm_word,4 000400 12-294 bool scu.parm,000400 " DL 000004 12-295 equ scu.bm_word,4 000200 12-296 bool scu.bm,000200 " DL 000004 12-297 equ scu.tru_word,4 000100 12-298 bool scu.tru,000100 " DL 000004 12-299 equ scu.mif_word,4 000040 12-300 bool scu.mif,000040 " DL 000004 12-301 equ scu.abs_word,4 000020 12-302 bool scu.abs,000020 " DL 000004 12-303 equ scu.hex_word,4 000010 12-304 bool scu.hex,000010 " DL 12-305 000005 12-306 equ scu.ca,5 " UPPER 000005 12-307 equ scu.cu_word,5 000006 12-308 equ scu.cu_shift,6 007777 12-309 bool scu.cu_mask,007777 000005 12-310 equ scu.rf_word,5 400000 12-311 bool scu.rf,400000 " DL 000005 12-312 equ scu.rpt_word,5 200000 12-313 bool scu.rpt,200000 " DL 000005 12-314 equ scu.rd_word,5 100000 12-315 bool scu.rd,100000 " DL 000005 12-316 equ scu.rl_word,5 040000 12-317 bool scu.rl,040000 " DL 000005 12-318 equ scu.pot_word,5 020000 12-319 bool scu.pot,020000 " DL 000005 12-320 equ scu.pon_word,5 010000 12-321 bool scu.pon,010000 " DL 000005 12-322 equ scu.xde_word,5 004000 12-323 bool scu.xde,004000 " DL 000005 12-324 equ scu.xdo_word,5 002000 12-325 bool scu.xdo,002000 " DL 000005 12-326 equ scu.poa_word,5 001000 12-327 bool scu.poa,001000 " DL 000005 12-328 equ scu.rfi_word,5 000400 12-329 bool scu.rfi,000400 " DL 000005 12-330 equ scu.its_word,5 000200 12-331 bool scu.its,000200 " DL 000005 12-332 equ scu.if_word,5 000100 12-333 bool scu.if,000100 " DL 000005 12-334 equ scu.cpu_tag_word,5 000000 12-335 equ scu.cpu_tag_shift,0 000077 12-336 bool scu.cpu_tag_mask,000077 12-337 000006 12-338 equ scu.even_inst,6 000007 12-339 equ scu.odd_inst,7 12-340 12-341 " 12-342 " Structure scux 12-343 " 000010 12-344 equ scux_size,8 12-345 12-346 000001 12-347 equ scux.fd_word,1 000000 12-348 equ scux.fd_shift,0 000001 12-349 equ scux.isn_word,1 400000 12-350 bool scux.isn,400000 " DU 000001 12-351 equ scux.ioc_word,1 200000 12-352 bool scux.ioc,200000 " DU 000001 12-353 equ scux.ia_am_word,1 100000 12-354 bool scux.ia_am,100000 " DU 000001 12-355 equ scux.isp_word,1 040000 12-356 bool scux.isp,040000 " DU 000001 12-357 equ scux.ipr_word,1 020000 12-358 bool scux.ipr,020000 " DU 000001 12-359 equ scux.nea_word,1 010000 12-360 bool scux.nea,010000 " DU 000001 12-361 equ scux.oobb_word,1 004000 12-362 bool scux.oobb,004000 " DU 12-363 000003 12-364 equ scux.tsr_stat_word,3 000006 12-365 equ scux.tsr_stat_shift,6 007777 12-366 bool scux.tsr_stat_mask,007777 12-367 000006 12-368 equ scux.instr,6 12-369 12-370 "END INCLUDE FILE toe_hold.incl.alm 1195 include unpaged_page_tables 13-1 13-2 13-3 "BEGIN INCLUDE FILE unpaged_page_tables.incl.alm 13-4 13-5 13-6 "Created 03/01/84 1645.1 est Thu by convert_include_file, 13-7 " Version of 11/07/82 1445.1 est Sun. 13-8 13-9 "Made from >bootload>update>incl>unpaged_page_tables.incl.pl1, 13-10 " modified 03/01/84 1645.1 est Thu 13-11 13-12 " 13-13 " Structure upt 13-14 " 13-15 000000 13-16 equ upt.sst_absloc,0 000001 13-17 equ upt.sst_last_loc,1 000002 13-18 equ upt.upt_absloc,2 000003 13-19 equ upt.upt_last_loc,3 000004 13-20 equ upt.iupt_absloc,4 000005 13-21 equ upt.iupt_last_loc,5 000006 13-22 equ upt.current_length,6 000007 13-23 equ upt.max_length,7 000010 13-24 equ upt.first_entry,8 " LEVEL 2 13-25 13-26 13-27 " 13-28 " Structure upt_entry 13-29 " 000000 13-30 equ upt_entry.size,0 000001 13-31 equ upt_entry.segno,1 000002 13-32 equ upt_entry.ptws,2 13-33 13-34 "END INCLUDE FILE unpaged_page_tables.incl.alm 1196 end ENTRY SEQUENCES 000721 5a 000301 0000 00 000722 aa 7 00046 2721 20 000723 0a 000277 7100 00 000724 5a 000272 0000 00 000725 aa 7 00046 2721 20 000726 0a 000277 7100 00 000727 5a 000266 0000 00 000730 aa 7 00046 2721 20 000731 0a 000253 7100 00 000732 5a 000260 0000 00 000733 aa 7 00046 2721 20 000734 0a 000275 7100 00 000735 5a 000252 0000 00 000736 aa 7 00046 2721 20 000737 0a 000254 7100 00 000740 5a 000244 0000 00 000741 aa 7 00046 2721 20 000742 0a 000255 7100 00 000743 5a 000233 0000 00 000744 aa 7 00046 2721 20 000745 0a 000474 7100 00 000746 5a 000222 0000 00 000747 aa 7 00046 2721 20 000750 0a 000563 7100 00 000751 5a 000211 0000 00 000752 aa 7 00046 2721 20 000753 0a 000651 7100 00 000754 5a 000204 0000 00 000755 aa 7 00046 2721 20 000756 0a 000233 7100 00 000757 5a 000200 0000 00 000760 aa 7 00046 2721 20 000761 0a 000462 7100 00 000762 5a 000173 0000 00 000763 aa 7 00046 2721 20 000764 0a 000464 7100 00 000765 5a 000164 0000 00 000766 aa 7 00046 2721 20 000767 0a 000240 7100 00 000770 5a 000156 0000 00 000771 aa 7 00046 2721 20 000772 0a 000042 7100 00 000773 5a 000151 0000 00 000774 aa 7 00046 2721 20 000775 0a 000236 7100 00 000776 5a 000142 0000 00 000777 aa 7 00046 2721 20 001000 0a 000404 7100 00 001001 5a 000134 0000 00 001002 aa 7 00046 2721 20 001003 0a 000002 7100 00 001004 5a 000127 0000 00 001005 aa 7 00046 2721 20 001006 0a 000437 7100 00 001007 5a 000123 0000 00 001010 aa 7 00046 2721 20 001011 0a 000375 7100 00 001012 5a 000115 0000 00 001013 aa 7 00046 2721 20 001014 0a 000007 7100 00 001015 5a 000110 0000 00 001016 aa 7 00046 2721 20 001017 0a 000456 7100 00 001020 5a 000103 0000 00 001021 aa 7 00046 2721 20 001022 0a 000470 7100 00 001023 5a 000075 0000 00 001024 aa 7 00046 2721 20 001025 0a 000466 7100 00 001026 5a 000065 0000 00 001027 aa 7 00046 2721 20 001030 0a 000342 7100 00 001031 5a 000060 0000 00 001032 aa 7 00046 2721 20 001033 0a 000446 7100 00 001034 5a 000052 0000 00 001035 aa 7 00046 2721 20 001036 0a 000262 7100 00 001037 5a 000045 0000 00 001040 aa 7 00046 2721 20 001041 0a 000273 7100 00 001042 5a 000037 0000 00 001043 aa 7 00046 2721 20 001044 0a 000401 7100 00 001045 5a 000031 0000 00 001046 aa 7 00046 2721 20 001047 0a 000160 7100 00 001050 5a 000022 0000 00 001051 aa 7 00046 2721 20 001052 0a 000161 7100 00 001053 5a 000013 0000 00 001054 aa 7 00046 2721 20 001055 0a 000040 7100 00 NO LITERALS NAME DEFINITIONS FOR ENTRY POINTS AND SEGDEFS 001056 5a 000003 000000 001057 5a 000314 600000 001060 aa 000000 000000 001061 55 000013 000002 001062 5a 000002 400003 001063 55 000006 000013 001064 aa 022 160 162 151 001065 aa 166 151 154 145 001066 aa 147 145 144 137 001067 aa 155 157 144 145 001070 aa 137 165 164 000 001071 55 000022 000003 001072 0a 001054 500000 001073 55 000016 000003 001074 aa 015 167 151 162 wire_and_mask 001075 aa 145 137 141 156 001076 aa 144 137 155 141 001077 aa 163 153 000 000 001100 55 000031 000013 001101 0a 001051 500000 001102 55 000025 000003 001103 aa 015 165 156 167 unwire_unmask 001104 aa 151 162 145 137 001105 aa 165 156 155 141 001106 aa 163 153 000 000 001107 55 000037 000022 001110 0a 001046 500000 001111 55 000034 000003 001112 aa 012 165 156 154 unlock_ptl 001113 aa 157 143 153 137 001114 aa 160 164 154 000 001115 55 000045 000031 001116 0a 001043 500000 001117 55 000042 000003 001120 aa 011 164 162 141 trace_rsw 001121 aa 143 145 137 162 001122 aa 163 167 000 000 001123 55 000052 000037 001124 0a 001040 500000 001125 55 000050 000003 001126 aa 004 143 141 155 camp 001127 aa 160 000 000 000 001130 55 000060 000045 001131 0a 001035 500000 001132 55 000055 000003 001133 aa 010 163 167 141 swap_sdw 001134 aa 160 137 163 144 001135 aa 167 000 000 000 001136 55 000065 000052 001137 0a 001032 500000 001140 55 000063 000003 001141 aa 004 163 163 143 sscr 001142 aa 162 000 000 000 001143 55 000075 000060 001144 0a 001027 500000 001145 55 000070 000003 001146 aa 022 163 160 145 special_bce_return 001147 aa 143 151 141 154 001150 aa 137 142 143 145 001151 aa 137 162 145 164 001152 aa 165 162 156 000 001153 55 000103 000065 001154 0a 001024 500000 001155 55 000100 000003 001156 aa 011 163 155 151 smic_port 001157 aa 143 137 160 157 001160 aa 162 164 000 000 001161 55 000110 000075 001162 0a 001021 500000 001163 55 000106 000003 001164 aa 004 163 155 151 smic 001165 aa 143 000 000 000 001166 55 000115 000103 001167 0a 001016 500000 001170 55 000113 000003 001171 aa 004 163 155 143 smcm 001172 aa 155 000 000 000 001173 55 000123 000110 001174 0a 001013 500000 001175 55 000120 000003 001176 aa 010 163 145 164 set_mask 001177 aa 137 155 141 163 001200 aa 153 000 000 000 001201 55 000127 000115 001202 0a 001010 500000 001203 55 000126 000003 001204 aa 003 162 163 167 rsw 001205 55 000134 000123 001206 0a 001005 500000 001207 55 000132 000003 001210 aa 004 162 163 143 rscr 001211 aa 162 000 000 000 001212 55 000142 000127 001213 0a 001002 500000 001214 55 000137 000003 001215 aa 011 162 145 141 read_mask 001216 aa 144 137 155 141 001217 aa 163 153 000 000 001220 55 000151 000134 001221 0a 000777 500000 001222 55 000145 000003 001223 aa 014 162 145 141 read_id_prom 001224 aa 144 137 151 144 001225 aa 137 160 162 157 001226 aa 155 000 000 000 001227 55 000156 000142 001230 0a 000774 500000 001231 55 000154 000003 001232 aa 004 154 162 141 lrar 001233 aa 162 000 000 000 001234 55 000164 000151 001235 0a 000771 500000 001236 55 000161 000003 001237 aa 010 154 157 143 lock_ptl 001240 aa 153 137 160 164 001241 aa 154 000 000 000 001242 55 000173 000156 001243 0a 000766 500000 001244 55 000167 000003 001245 aa 015 154 157 141 load_mode_reg 001246 aa 144 137 155 157 001247 aa 144 145 137 162 001250 aa 145 147 000 000 001251 55 000200 000164 001252 0a 000763 500000 001253 55 000176 000003 001254 aa 004 154 144 142 ldbr 001255 aa 162 000 000 000 001256 55 000204 000173 001257 0a 000760 500000 001260 55 000203 000003 001261 aa 003 154 144 164 ldt 001262 55 000211 000200 001263 0a 000755 500000 001264 55 000207 000003 001265 aa 004 143 151 157 cioc 001266 aa 143 000 000 000 001267 55 000222 000204 001270 0a 000752 500000 001271 55 000214 000003 001272 aa 024 143 150 145 check_parity_for_add 001273 aa 143 153 137 160 001274 aa 141 162 151 164 001275 aa 171 137 146 157 001276 aa 162 137 141 144 001277 aa 144 000 000 000 001300 55 000233 000211 001301 0a 000747 500000 001302 55 000225 000003 001303 aa 024 143 150 145 check_parity_for_use 001304 aa 143 153 137 160 001305 aa 141 162 151 164 001306 aa 171 137 146 157 001307 aa 162 137 165 163 001310 aa 145 000 000 000 001311 55 000244 000222 001312 0a 000744 500000 001313 55 000236 000003 001314 aa 025 143 150 145 check_for_mem_overlap 001315 aa 143 153 137 146 001316 aa 157 162 137 155 001317 aa 145 155 137 157 001320 aa 166 145 162 154 001321 aa 141 160 000 000 001322 55 000252 000233 001323 0a 000741 500000 001324 55 000247 000003 001325 aa 013 143 154 145 clear_cache 001326 aa 141 162 137 143 001327 aa 141 143 150 145 001330 55 000260 000244 001331 0a 000736 500000 001332 55 000255 000003 001333 aa 011 143 141 155 cam_cache 001334 aa 137 143 141 143 001335 aa 150 145 000 000 001336 55 000266 000252 001337 0a 000733 500000 001340 55 000263 000003 001341 aa 010 143 141 155 cam_both 001342 aa 137 142 157 164 001343 aa 150 000 000 000 001344 55 000272 000260 001345 0a 000730 500000 001346 55 000271 000003 001347 aa 003 143 141 155 cam 001350 55 000301 000266 001351 0a 000725 500000 001352 55 000275 000003 001353 aa 016 142 143 145 bce_and_return 001354 aa 137 141 156 144 001355 aa 137 162 145 164 001356 aa 165 162 156 000 001357 55 000305 000272 001360 0a 000722 500000 001361 55 000304 000003 001362 aa 003 142 143 145 bce 001363 55 000002 000301 001364 6a 000000 400002 001365 55 000310 000003 001366 aa 014 163 171 155 symbol_table 001367 aa 142 157 154 137 001370 aa 164 141 142 154 001371 aa 145 000 000 000 DEFINITIONS HASH TABLE 001372 aa 000000 000065 001373 5a 000142 000000 001374 5a 000233 000000 001375 5a 000211 000000 001376 5a 000222 000000 001377 5a 000244 000000 001400 5a 000134 000000 001401 5a 000156 000000 001402 5a 000052 000000 001403 5a 000252 000000 001404 5a 000045 000000 001405 5a 000151 000000 001406 5a 000065 000000 001407 5a 000260 000000 001410 5a 000266 000000 001411 5a 000301 000000 001412 aa 000000 000000 001413 aa 000000 000000 001414 aa 000000 000000 001415 5a 000200 000000 001416 aa 000000 000000 001417 aa 000000 000000 001420 aa 000000 000000 001421 aa 000000 000000 001422 aa 000000 000000 001423 aa 000000 000000 001424 5a 000013 000000 001425 5a 000204 000000 001426 aa 000000 000000 001427 5a 000305 000000 001430 5a 000031 000000 001431 5a 000127 000000 001432 aa 000000 000000 001433 5a 000115 000000 001434 aa 000000 000000 001435 5a 000022 000000 001436 5a 000075 000000 001437 5a 000060 000000 001440 aa 000000 000000 001441 5a 000110 000000 001442 aa 000000 000000 001443 aa 000000 000000 001444 aa 000000 000000 001445 aa 000000 000000 001446 aa 000000 000000 001447 5a 000103 000000 001450 5a 000272 000000 001451 5a 000164 000000 001452 aa 000000 000000 001453 5a 000037 000000 001454 aa 000000 000000 001455 aa 000000 000000 001456 5a 000173 000000 001457 5a 000123 000000 EXTERNAL NAMES 001460 aa 024 151 156 164 interrupt_controller 001461 aa 145 162 162 165 001462 aa 160 164 137 143 001463 aa 157 156 164 162 001464 aa 157 154 154 145 001465 aa 162 000 000 000 001466 aa 024 160 157 162 port_addressing_word 001467 aa 164 137 141 144 001470 aa 144 162 145 163 001471 aa 163 151 156 147 001472 aa 137 167 157 162 001473 aa 144 000 000 000 001474 aa 004 163 143 141 scas 001475 aa 163 000 000 000 001476 aa 014 146 141 165 fault_vector 001477 aa 154 164 137 166 001500 aa 145 143 164 157 001501 aa 162 000 000 000 001502 aa 007 164 157 145 toehold 001503 aa 150 157 154 144 001504 aa 010 143 157 167 cow_ptrs 001505 aa 137 160 164 162 001506 aa 163 000 000 000 001507 aa 023 163 171 163 sys_trouble_pending 001510 aa 137 164 162 157 001511 aa 165 142 154 145 001512 aa 137 160 145 156 001513 aa 144 151 156 147 001514 aa 011 160 162 157 processor 001515 aa 143 145 163 163 001516 aa 157 162 000 000 001517 aa 021 164 162 157 trouble_processid 001520 aa 165 142 154 145 001521 aa 137 160 162 157 001522 aa 143 145 163 163 001523 aa 151 144 000 000 001524 aa 014 143 157 156 connect_lock 001525 aa 156 145 143 164 001526 aa 137 154 157 143 001527 aa 153 000 000 000 001530 aa 011 160 162 157 processid 001531 aa 143 145 163 163 001532 aa 151 144 000 000 001533 aa 016 160 162 157 processor_data 001534 aa 143 145 163 163 001535 aa 157 162 137 144 001536 aa 141 164 141 000 001537 aa 015 143 141 143 cache_luf_reg 001540 aa 150 145 137 154 001541 aa 165 146 137 162 001542 aa 145 147 000 000 001543 aa 004 160 141 147 page 001544 aa 145 000 000 000 001545 aa 024 150 146 160 hfp_exponent_enabled 001546 aa 137 145 170 160 001547 aa 157 156 145 156 001550 aa 164 137 145 156 001551 aa 141 142 154 145 001552 aa 144 000 000 000 001553 aa 010 155 157 144 mode_reg 001554 aa 145 137 162 145 001555 aa 147 000 000 000 001556 aa 020 155 157 144 mode_reg_enabled 001557 aa 145 137 162 145 001560 aa 147 137 145 156 001561 aa 141 142 154 145 001562 aa 144 000 000 000 001563 aa 017 160 155 165 pmut_unlock_ptl 001564 aa 164 137 165 156 001565 aa 154 157 143 153 001566 aa 137 160 164 154 001567 aa 012 160 141 147 page_fault 001570 aa 145 137 146 141 001571 aa 165 154 164 000 001572 aa 014 160 164 154 ptl_waitlock 001573 aa 137 167 141 151 001574 aa 164 154 157 143 001575 aa 153 000 000 000 001576 aa 016 144 145 166 device_control 001577 aa 151 143 145 137 001600 aa 143 157 156 164 001601 aa 162 157 154 000 001602 aa 012 167 151 162 wire_pages 001603 aa 145 137 160 141 001604 aa 147 145 163 000 001605 aa 023 165 156 160 unpaged_page_tables 001606 aa 141 147 145 144 001607 aa 137 160 141 147 001610 aa 145 137 164 141 001611 aa 142 154 145 163 001612 aa 004 144 163 145 dseg 001613 aa 147 000 000 000 001614 aa 012 141 154 141 alarm_ring 001615 aa 162 155 137 162 001616 aa 151 156 147 000 001617 aa 003 160 144 163 pds 001620 aa 011 163 171 163 sys_level 001621 aa 137 154 145 166 001622 aa 145 154 000 000 001623 aa 023 164 162 141 trap_invalid_masked 001624 aa 160 137 151 156 001625 aa 166 141 154 151 001626 aa 144 137 155 141 001627 aa 163 153 145 144 001630 aa 023 167 151 162 wired_hardcore_data 001631 aa 145 144 137 150 001632 aa 141 162 144 143 001633 aa 157 162 145 137 001634 aa 144 141 164 141 001635 aa 012 157 160 145 open_level 001636 aa 156 137 154 145 001637 aa 166 145 154 000 001640 aa 010 155 141 163 mask_ptr 001641 aa 153 137 160 164 001642 aa 162 000 000 000 001643 aa 003 163 143 163 scs 001644 aa 015 160 162 157 processor_tag 001645 aa 143 145 163 163 001646 aa 157 162 137 164 001647 aa 141 147 000 000 001650 aa 004 160 162 144 prds 001651 aa 163 000 000 000 001652 aa 010 141 142 163 abs_seg1 001653 aa 137 163 145 147 001654 aa 061 000 000 000 001655 aa 007 141 142 163 abs_seg 001656 aa 137 163 145 147 001657 aa 003 163 163 164 sst NO TRAP POINTER WORDS TYPE PAIR BLOCKS 001660 aa 000004 000000 001661 55 000565 000402 001662 aa 000004 000000 001663 55 000565 000410 001664 aa 000003 000000 001665 5a 000416 000000 001666 aa 000003 000000 001667 5a 000420 000000 001670 aa 000003 000000 001671 5a 000424 000000 001672 aa 000004 000000 001673 55 000565 000426 001674 aa 000004 000000 001675 55 000565 000431 001676 aa 000004 000000 001677 55 000565 000436 001700 aa 000004 000000 001701 55 000565 000441 001702 aa 000004 000000 001703 55 000565 000446 001704 aa 000004 000000 001705 55 000541 000452 001706 aa 000004 000000 001707 55 000565 000455 001710 aa 000004 000000 001711 55 000572 000461 001712 aa 000004 000000 001713 55 000465 000255 001714 aa 000004 000000 001715 55 000465 000271 001716 aa 000004 000000 001717 55 000541 000467 001720 aa 000004 000000 001721 55 000572 000475 001722 aa 000004 000000 001723 55 000572 000500 001724 aa 000004 000000 001725 55 000511 000505 001726 aa 000004 000000 001727 55 000520 000514 001730 aa 000004 000000 001731 55 000552 000524 001732 aa 000003 000000 001733 5a 000527 000000 001734 aa 000003 000000 001735 5a 000534 000000 001736 aa 000004 000000 001737 55 000541 000536 001740 aa 000004 000000 001741 55 000565 000542 001742 aa 000004 000000 001743 55 000552 000545 001744 aa 000004 000000 001745 55 000565 000120 001746 aa 000004 000000 001747 55 000565 000557 001750 aa 000004 000000 001751 55 000565 000137 001752 aa 000004 000000 001753 55 000565 000562 001754 aa 000004 000000 001755 55 000572 000566 001756 aa 000003 000000 001757 5a 000572 000000 001760 aa 000003 000000 001761 5a 000574 000000 001762 aa 000003 000000 001763 5a 000577 000000 001764 aa 000003 000000 001765 5a 000601 000000 001766 aa 000001 000000 001767 aa 000000 000000 INTERNAL EXPRESSION WORDS 001770 5a 000602 000000 001771 5a 000604 000000 001772 5a 000606 000000 001773 5a 000610 000000 001774 5a 000612 000006 001775 5a 000614 000000 001776 5a 000616 000000 001777 5a 000620 000000 002000 5a 000622 000000 002001 5a 000624 000000 002002 5a 000626 000000 002003 5a 000630 000000 002004 5a 000632 000000 002005 5a 000634 000000 002006 5a 000636 000000 002007 5a 000640 000000 002010 5a 000642 000000 002011 5a 000644 000000 002012 5a 000706 000120 002013 5a 000646 000000 002014 5a 000650 000000 002015 5a 000656 000001 002016 5a 000652 000000 002017 5a 000654 000000 002020 5a 000654 000001 002021 5a 000656 000000 002022 5a 000660 000000 002023 5a 000662 000000 002024 5a 000664 000000 002025 5a 000666 000000 002026 5a 000670 000000 002027 5a 000672 000000 002030 5a 000674 000000 002031 5a 000676 000000 002032 5a 000700 000000 002033 5a 000702 000000 002034 5a 000704 000000 002035 5a 000706 000000 LINKAGE INFORMATION 000000 aa 000000 000000 000001 0a 001056 000000 000002 aa 000000 000000 000003 aa 000000 000000 000004 aa 000000 000000 000005 aa 000000 000000 000006 22 000020 000146 000007 a2 000000 000010 000020 9a 777760 0000 46 sst| 000021 5a 000757 0000 00 000022 9a 777756 0000 46 abs_seg| 000023 5a 000756 0000 00 000024 9a 777754 0000 46 abs_seg1| 000025 5a 000755 0000 00 000026 9a 777752 0000 46 prds| 000027 5a 000754 0000 00 000030 9a 777750 0000 46 prds|processor_tag 000031 5a 000753 0000 00 000032 9a 777746 0000 46 scs|mask_ptr 000033 5a 000752 0000 11 000034 9a 777744 0000 46 scs|read_mask 000035 5a 000751 0000 11 000036 9a 777742 0000 46 scs|open_level 000037 5a 000750 0000 00 000040 9a 777740 0000 46 scs|set_mask 000041 5a 000747 0000 11 000042 9a 777736 0000 46 wired_hardcore_data|trap_invalid_masked 000043 5a 000746 0000 00 000044 9a 777734 0000 46 scs|sys_level 000045 5a 000745 0000 00 000046 9a 777732 0000 46 pds|alarm_ring 000047 5a 000744 0000 00 000050 9a 777730 0000 46 dseg| 000051 5a 000743 0000 01 000052 9a 777726 0000 46 unpaged_page_tables| 000053 5a 000742 0000 00 000054 9a 777724 0000 46 unpaged_page_tables| 000055 5a 000741 0000 00 000056 9a 777722 0000 46 wired_hardcore_data|wire_pages 000057 5a 000740 0000 00 000060 9a 777720 0000 46 dseg| 000061 5a 000737 0000 13 000062 9a 777716 0000 46 device_control|ptl_waitlock 000063 5a 000736 0000 00 000064 9a 777714 0000 46 page_fault|pmut_unlock_ptl 000065 5a 000735 0000 00 000066 9a 777712 0000 46 sst| 000067 5a 000734 0000 00 000070 9a 777710 0000 46 prds|mode_reg_enabled 000071 5a 000733 0000 00 000072 9a 777706 0000 46 prds|mode_reg 000073 5a 000732 0000 00 000074 9a 777704 0000 46 pds|hfp_exponent_enabled 000075 5a 000731 0000 00 000076 9a 777702 0000 46 page|cam 000077 5a 000730 0000 00 000100 9a 777700 0000 46 page|cam_cache 000101 5a 000727 0000 00 000102 9a 777676 0000 46 prds|cache_luf_reg 000103 5a 000726 0000 00 000104 9a 777674 0000 46 dseg| 000105 5a 000743 0000 10 000106 9a 777672 0000 46 scs|processor_data 000107 5a 000725 0000 06 000110 9a 777670 0000 46 pds|processid 000111 5a 000724 0000 00 000112 9a 777666 0000 46 scs|connect_lock 000113 5a 000723 0000 00 000114 9a 777664 0000 46 scs|trouble_processid 000115 5a 000722 0000 00 000116 9a 777662 0000 46 scs|processor 000117 5a 000721 0000 00 000120 9a 777660 0000 46 scs|sys_trouble_pending 000121 5a 000720 0000 00 000122 9a 777656 0000 46 scs|cow_ptrs 000123 5a 000717 0000 26 000124 9a 777654 0000 46 toehold| 000125 5a 000716 0000 00 000126 9a 777652 0000 46 fault_vector| 000127 5a 000715 0000 00 000130 9a 777650 0000 46 scas| 000131 5a 000714 0000 05 000132 9a 777646 0000 46 scas| 000133 5a 000714 0000 10 000134 9a 777644 0000 46 scs|port_addressing_word 000135 5a 000713 0000 31 000136 9a 777642 0000 46 scs|interrupt_controller 000137 5a 000712 0000 00 000140 9a 777640 0000 46 scs|port_addressing_word 000141 5a 000713 0000 37 000142 9a 777636 0000 46 dseg| 000143 5a 000743 0000 11 000144 9a 777634 0000 46 abs_seg| 000145 5a 000756 0000 11 SYMBOL INFORMATION SYMBOL TABLE HEADER 000000 aa 000000 000001 000001 aa 163171 155142 000002 aa 164162 145145 000003 aa 000000 000010 000004 aa 000000 117244 000005 aa 361023 525721 000006 aa 000000 117547 000007 aa 241302 432072 000010 aa 141154 155040 000011 aa 040040 040040 000012 aa 000024 000040 000013 aa 000034 000040 000014 aa 000044 000100 000015 aa 000010 000002 000016 aa 000064 000000 000017 aa 000000 000573 000020 aa 000000 000342 000021 aa 000455 000433 000022 aa 000554 000342 000023 aa 000064 000000 000024 aa 101114 115040 000025 aa 126145 162163 000026 aa 151157 156040 000027 aa 070056 061064 000030 aa 040115 141162 000031 aa 143150 040061 000032 aa 071070 071040 000033 aa 040040 040040 000034 aa 110151 162156 000035 aa 145151 163145 000036 aa 156056 123171 000037 aa 163115 141151 000040 aa 156164 056141 000041 aa 040040 040040 000042 aa 040040 040040 000043 aa 040040 040040 000044 aa 055164 141162 000045 aa 147145 164040 000046 aa 154066 070040 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 040154 151163 000057 aa 164040 163171 000060 aa 155142 157154 000061 aa 163040 040040 000062 aa 040040 040040 000063 aa 040040 040040 000064 aa 000000 000001 000065 aa 000000 000016 000066 aa 000156 000051 000067 aa 175453 017676 000070 aa 000000 117547 000071 aa 176330 600000 000072 aa 000171 000032 000073 aa 147777 464062 000074 aa 000000 115000 000075 aa 507456 000000 000076 aa 000200 000042 000077 aa 101301 045475 000100 aa 000000 110133 000101 aa 352304 600000 000102 aa 000211 000036 000103 aa 116261 736456 000104 aa 000000 111626 000105 aa 317120 400000 000106 aa 000221 000031 000107 aa 102456 350276 000110 aa 000000 110246 000111 aa 520730 400000 000112 aa 000230 000035 000113 aa 106701 740574 000114 aa 000000 110670 000115 aa 206425 200000 000116 aa 000240 000031 000117 aa 102456 350277 000120 aa 000000 110246 000121 aa 520732 400000 000122 aa 000247 000035 000123 aa 106701 740565 000124 aa 000000 110670 000125 aa 206245 200000 000126 aa 000257 000031 000127 aa 133234 136144 000130 aa 000000 113324 000131 aa 322064 400000 000132 aa 000266 000031 000133 aa 075522 764240 000134 aa 000000 107555 000135 aa 332322 000000 000136 aa 000275 000041 000137 aa 052721 247134 000140 aa 000000 105272 000141 aa 317215 400000 000142 aa 000306 000042 000143 aa 147777 464111 000144 aa 000000 115000 000145 aa 507463 000000 000146 aa 000317 000036 000147 aa 127236 043574 000150 aa 000000 112724 000151 aa 701751 400000 000152 aa 000327 000051 000153 aa 127236 043612 000154 aa 000000 112724 000155 aa 701752 000000 000156 aa 076163 160145 >spec>install>1111>privileged_mode_ut.alm 000157 aa 143076 151156 000160 aa 163164 141154 000161 aa 154076 061061 000162 aa 061061 076160 000163 aa 162151 166151 000164 aa 154145 147145 000165 aa 144137 155157 000166 aa 144145 137165 000167 aa 164056 141154 000170 aa 155040 040040 000171 aa 076154 144144 >ldd>include>apte.incl.alm 000172 aa 076151 156143 000173 aa 154165 144145 000174 aa 076141 160164 000175 aa 145056 151156 000176 aa 143154 056141 000177 aa 154155 040040 000200 aa 076154 144144 >ldd>include>fault_vector.incl.alm 000201 aa 076151 156143 000202 aa 154165 144145 000203 aa 076146 141165 000204 aa 154164 137166 000205 aa 145143 164157 000206 aa 162056 151156 000207 aa 143154 056141 000210 aa 154155 040040 000211 aa 076154 144144 >ldd>include>mode_reg.incl.alm 000212 aa 076151 156143 000213 aa 154165 144145 000214 aa 076155 157144 000215 aa 145137 162145 000216 aa 147056 151156 000217 aa 143154 056141 000220 aa 154155 040040 000221 aa 076154 144144 >ldd>include>ptw.incl.alm 000222 aa 076151 156143 000223 aa 154165 144145 000224 aa 076160 164167 000225 aa 056151 156143 000226 aa 154056 141154 000227 aa 155040 040040 000230 aa 076154 144144 >ldd>include>ptw.l68.incl.alm 000231 aa 076151 156143 000232 aa 154165 144145 000233 aa 076160 164167 000234 aa 056154 066070 000235 aa 056151 156143 000236 aa 154056 141154 000237 aa 155040 040040 000240 aa 076154 144144 >ldd>include>sdw.incl.alm 000241 aa 076151 156143 000242 aa 154165 144145 000243 aa 076163 144167 000244 aa 056151 156143 000245 aa 154056 141154 000246 aa 155040 040040 000247 aa 076154 144144 >ldd>include>sdw.l68.incl.alm 000250 aa 076151 156143 000251 aa 154165 144145 000252 aa 076163 144167 000253 aa 056154 066070 000254 aa 056151 156143 000255 aa 154056 141154 000256 aa 155040 040040 000257 aa 076154 144144 >ldd>include>sst.incl.alm 000260 aa 076151 156143 000261 aa 154165 144145 000262 aa 076163 163164 000263 aa 056151 156143 000264 aa 154056 141154 000265 aa 155040 040040 000266 aa 076154 144144 >ldd>include>scs.incl.alm 000267 aa 076151 156143 000270 aa 154165 144145 000271 aa 076163 143163 000272 aa 056151 156143 000273 aa 154056 141154 000274 aa 155040 040040 000275 aa 076154 144144 >ldd>include>stack_frame.incl.alm 000276 aa 076151 156143 000277 aa 154165 144145 000300 aa 076163 164141 000301 aa 143153 137146 000302 aa 162141 155145 000303 aa 056151 156143 000304 aa 154056 141154 000305 aa 155040 040040 000306 aa 076154 144144 >ldd>include>stack_header.incl.alm 000307 aa 076151 156143 000310 aa 154165 144145 000311 aa 076163 164141 000312 aa 143153 137150 000313 aa 145141 144145 000314 aa 162056 151156 000315 aa 143154 056141 000316 aa 154155 040040 000317 aa 076154 144144 >ldd>include>toe_hold.incl.alm 000320 aa 076151 156143 000321 aa 154165 144145 000322 aa 076164 157145 000323 aa 137150 157154 000324 aa 144056 151156 000325 aa 143154 056141 000326 aa 154155 040040 000327 aa 076154 144144 >ldd>include>unpaged_page_tables.incl.alm 000330 aa 076151 156143 000331 aa 154165 144145 000332 aa 076165 156160 000333 aa 141147 145144 000334 aa 137160 141147 000335 aa 145137 164141 000336 aa 142154 145163 000337 aa 056151 156143 000340 aa 154056 141154 000341 aa 155040 040040 MULTICS ASSEMBLY CROSS REFERENCE LISTING Value Symbol Source file Line number 16 .link privileged_mode_ut: 1176, 1183. 232 .rt privileged_mode_ut: 356, 363, 395. 0 .text. privileged_mode_ut: 1181. abs_seg privileged_mode_ut: 210, 962, 1040, 1076, 1125. abs_seg1 privileged_mode_ut: 211, 963. 22 abs_seg_link privileged_mode_ut: 210, 937, 938, 1024, 1025, 1109, 1110. 24 abs_seg_link1 privileged_mode_ut: 211, 939, 940. 714 abs_seg_sdw privileged_mode_ut: 948, 953, 1030, 1115, 1153. 1 abx toe_hold: 141. 105 addr privileged_mode_ut: 106. alarm_ring privileged_mode_ut: 180, 181, 237, 238. 155 already_wired_and_masked privileged_mode_ut: 264, 321. 42 apte.access_authorization apte: 98. 24 apte.alarm_event apte: 79. 26 apte.alarm_time apte: 82. 26 apte.alarm_time_thread apte: 81. 40 apte.always_loaded apte: 29. 66 apte.apad apte: 120. 12 apte.asteps apte: 54. 10 apte.batch apte: 74. 21 apte.batch_word apte: 73. 60 apte.begin_interaction_vcpu apte: 112. 10 apte.being_loaded apte: 31. 0 apte.bp apte: 13. 23 apte.chans_offset apte: 71. 37 apte.cpu_monitor apte: 94. 52 apte.current_response_state apte: 108. 44 apte.dbr apte: 101. 20 apte.dbr_loaded apte: 30. 34 apte.deadline apte: 90. 200 apte.default_procs_required apte: 27. 12 apte.dseg apte: 56. 4000 apte.eligible apte: 23. 10 apte.event_thread apte: 50. 1 apte.firstsw apte: 34. 1 apte.flags apte: 15. 21 apte.flags2 apte: 69. 0 apte.fp apte: 12. 20000 apte.hproc apte: 21. 2000 apte.idle apte: 24. 1000 apte.interaction apte: 25. 10 apte.ipc_pointers apte: 49. 65 apte.ipc_r_factor apte: 119. 64 apte.ipc_r_offset apte: 118. 11 apte.ips_message apte: 52. 51 apte.ittes_got apte: 106. 50 apte.ittes_sent apte: 105. 54 apte.last_response_state_time apte: 110. 13 apte.le_shift apte: 126. 10000 apte.loaded apte: 22. 36 apte.lock apte: 92. 15 apte.lock_id apte: 63. 400000 apte.mbz apte: 17. 400000 apte.no_ipc_check apte: 99. 53 apte.number_processing apte: 109. 2 apte.page_faults apte: 37. 2 apte.page_wait_flag apte: 33. 40 apte.paging_measure apte: 96. 12 apte.pds apte: 55. 13 apte.prds apte: 58. 40000 apte.pre_empted apte: 20. 400 apte.pre_empt_pending apte: 26. 400000 apte.prior_sched apte: 70. 3 apte.processid apte: 39. 63 apte.procs_required apte: 115. 776000 apte.procs_required_mask apte: 116. 7 apte.pr_tag_mask apte: 75. 100 apte.realtime_burst apte: 28. 62 apte.saved_temax apte: 114. 13 apte.savex7 apte: 59. 1 apte.sentinel apte: 16. 4 apte.shared_stack_0 apte: 32. 374000 apte.special_chans apte: 72. 1 apte.state apte: 35. 22 apte.state_change_time apte: 77. 100000 apte.stop_pending apte: 19. 4 apte.te apte: 41. 33 apte.temax apte: 88. 30 apte.term_channel apte: 84. 14 apte.term_processid apte: 61. 0 apte.thread apte: 11. 6 apte.ti apte: 45. 7 apte.timax apte: 47. 175 apte.timer_factor apte: 127. 16 apte.time_used_clock apte: 64. 56 apte.total_processing_time apte: 111. 5 apte.ts apte: 43. 46 apte.virtual_cpu_time apte: 103. 20 apte.wait_event apte: 66. 200000 apte.wakeup_waiting apte: 18. 21 apte.wct_index apte: 68. 32 apte.ws_size apte: 86. 0 apx toe_hold: 140. 2 At_bce__boot toe_hold: 79. 6 At_bce__crash toe_hold: 83. 1 At_bce__early toe_hold: 78. 7 At_bce__shutdown toe_hold: 84. 3 bbx toe_hold: 143. 277 bce privileged_mode_ut: 68, 570. 277 bce_and_return privileged_mode_ut: 69, 569. 320 bce_return privileged_mode_ut: 595, 661. 111 bound_lp privileged_mode_ut: 274, 289. 130 bound_ok privileged_mode_ut: 287, 290. 2 bpx toe_hold: 142. cache_luf_reg privileged_mode_ut: 496. 1170 call_offset stack_header: 80. 107 call_type privileged_mode_ut: 106. 253 cam privileged_mode_ut: 70, 471. 273 camp privileged_mode_ut: 93, 540. 275 cam_both privileged_mode_ut: 71, 553. 254 cam_cache privileged_mode_ut: 72, 473, 474. 0 channel_mask_set privileged_mode_ut: 101, 168, 345. 623 checkpar_report_error privileged_mode_ut: 1066, 1086, 1150. 642 checkpar_returns_code privileged_mode_ut: 1065, 1068, 1091, 1149. 474 check_for_mem_overlap privileged_mode_ut: 74, 935. 16 check_parity_calls privileged_mode_ut: 1023, 1108, 1177. 651 check_parity_for_add privileged_mode_ut: 75, 1106. 563 check_parity_for_use privileged_mode_ut: 75, 1021. 17 check_parity_slow privileged_mode_ut: 1070, 1179. 233 cioc privileged_mode_ut: 76, 413. 716 clear_AM_both privileged_mode_ut: 530, 554, 1157. 717 clear_AM_segs privileged_mode_ut: 955, 991, 1032, 1096, 1117, 1165. 255 clear_cache privileged_mode_ut: 73, 495. 261 clear_template privileged_mode_ut: 499, 504. connect_lock privileged_mode_ut: 577, 593. 17 core_ptw.add_type_mask ptw.l68: 19. 16 core_ptw.add_type_shift ptw.l68: 18. 3 core_ptw.df_no_mask ptw.l68: 32. 0 core_ptw.df_no_shift ptw.l68: 31. 10000 core_ptw.er ptw.l68: 21. 20000 core_ptw.first ptw.l68: 20. 0 core_ptw.flags ptw.l68: 17. 37777 core_ptw.frame_mask ptw.l68: 16. 26 core_ptw.frame_shift ptw.l68: 15. 200 core_ptw.nypd ptw.l68: 25. 10 core_ptw.os ptw.l68: 29. 100 core_ptw.phm ptw.l68: 26. 400 core_ptw.phm1 ptw.l68: 24. 1000 core_ptw.phu ptw.l68: 23. 40 core_ptw.phu1 ptw.l68: 27. 2000 core_ptw.unusable1 ptw.l68: 22. 4 core_ptw.valid ptw.l68: 30. 20 core_ptw.wired ptw.l68: 28. cow_ptrs privileged_mode_ut: 587. device_control privileged_mode_ut: 313. 14 drl_to_do privileged_mode_ut: 605, 627, 632, 651. dseg privileged_mode_ut: 253, 283, 286, 367, 528, 941, 943, 949, 954, 988, 990, 1026, 1031, 1095, 1111, 1116. 1174 entry_offset stack_header: 84. 24 FAULT_NO_ACV fault_vector: 46. 5 FAULT_NO_CMD fault_vector: 31. 10 FAULT_NO_CON fault_vector: 34. 20 FAULT_NO_DF0 fault_vector: 42. 21 FAULT_NO_DF1 fault_vector: 43. 22 FAULT_NO_DF2 fault_vector: 44. 23 FAULT_NO_DF3 fault_vector: 45. 16 FAULT_NO_DIV fault_vector: 40. 6 FAULT_NO_DRL privileged_mode_ut: 649, 652, 657, fault_vector: 32. 17 FAULT_NO_EXF fault_vector: 41. 3 FAULT_NO_F1 fault_vector: 29. 30 FAULT_NO_F2 fault_vector: 50. 31 FAULT_NO_F3 fault_vector: 51. 12 FAULT_NO_IPR fault_vector: 36. 7 FAULT_NO_LUF privileged_mode_ut: 636, 642, 659, fault_vector: 33. 2 FAULT_NO_MME fault_vector: 28. 25 FAULT_NO_MME2 fault_vector: 47. 26 FAULT_NO_MME3 fault_vector: 48. 27 FAULT_NO_MME4 fault_vector: 49. 15 FAULT_NO_OFL fault_vector: 39. 13 FAULT_NO_ONC fault_vector: 37. 11 FAULT_NO_PAR fault_vector: 35. 0 FAULT_NO_SDF fault_vector: 26. 1 FAULT_NO_STR fault_vector: 27. 14 FAULT_NO_SUF fault_vector: 38. 37 FAULT_NO_TRB fault_vector: 53. 4 FAULT_NO_TRO fault_vector: 30. fault_vector privileged_mode_ut: 635. 100 fv.fpair privileged_mode_ut: 636, 642, 649, 652, 657, 659, fault_vector: 17. 100 fv.fpair.scu fault_vector: 19. 101 fv.fpair.tra fault_vector: 20. 500 fv.f_scu_ptr fault_vector: 24. 400 fv.f_tra_ptr fault_vector: 23. 0 fv.ipair fault_vector: 13. 0 fv.ipair.scu fault_vector: 15. 1 fv.ipair.tra fault_vector: 16. 300 fv.i_scu_ptr fault_vector: 22. 200 fv.i_tra_ptr fault_vector: 21. 600 fv_size fault_vector: 10. 7 hbound_processor_data scs: 10. hfp_exponent_enabled privileged_mode_ut: 452. 330 ignore_data privileged_mode_ut: 610, 638. 340 ignore_scu_rcu privileged_mode_ut: 615, 641. 102 indicators privileged_mode_ut: 106, 1058, 1063, 1079, 1084, 1142, 1147. 106 indicators_no_par privileged_mode_ut: 106, 957, 958, 961, 964, 1035, 1036, 1039, 1045, 1080, 1120, 1121, 1124, 1134. 0 Initial_undefined toe_hold: 77. interrupt_controller privileged_mode_ut: 905. 2 io_path.channel_number toe_hold: 41. 77777 io_path.iom_number_mask toe_hold: 40. 22 io_path.iom_number_shift toe_hold: 39. 2 io_path.iom_number_word toe_hold: 38. 0 io_path.pcw toe_hold: 33. 7 io_path.port_number_mask toe_hold: 37. 41 io_path.port_number_shift toe_hold: 36. 2 io_path.port_number_word toe_hold: 35. 4 io_path_size toe_hold: 31. 5 lbx toe_hold: 145. 464 ldbr privileged_mode_ut: 78, 872. 462 ldt privileged_mode_ut: 77, 853. 347 leave_multics privileged_mode_ut: 628, 634. 10 linkage privileged_mode_ut: 599, 600. 141 lk_lp1 privileged_mode_ut: 300, 310. 145 lk_lp1_wired privileged_mode_ut: 302, 305. 240 load_mode_reg privileged_mode_ut: 79, 448. 42 lock_ptl privileged_mode_ut: 80, 217. 110 lock_sw privileged_mode_ut: 107. 43 lptl1 privileged_mode_ut: 216, 220. 4 lpx toe_hold: 144. 236 lrar privileged_mode_ut: 81, 429. 330 main privileged_mode_ut: 607. 70 maskd privileged_mode_ut: 104, 165, 184. mask_ptr privileged_mode_ut: 129, 163, 171, 222, 227, 348. 24 mc.a toe_hold: 99. 3 mc.cpu_type_mask toe_hold: 132. 41 mc.cpu_type_shift toe_hold: 131. 46 mc.cpu_type_word toe_hold: 130. 50 mc.eis_info toe_hold: 138. 0 mc.errcode_shift toe_hold: 117. 43 mc.errcode_word toe_hold: 116. 77777 mc.ext_fault_reg_mask toe_hold: 135. 22 mc.ext_fault_reg_shift toe_hold: 134. 46 mc.ext_fault_reg_word toe_hold: 133. 377 mc.e_mask toe_hold: 104. 34 mc.e_shift toe_hold: 103. 26 mc.e_word toe_hold: 102. 45 mc.fault_reg toe_hold: 128. 46 mc.fault_time toe_hold: 137. 377777 mc.fcode_mask toe_hold: 126. 0 mc.fcode_shift toe_hold: 125. 44 mc.fcode_word toe_hold: 124. 0 mc.fim_temp_shift toe_hold: 120. 44 mc.fim_temp_word toe_hold: 119. 42 mc.ips_temp toe_hold: 114. 40 mc.mask toe_hold: 113. 0 mc.prs toe_hold: 93. 25 mc.q toe_hold: 100. 7 mc.ralr_mask toe_hold: 110. 0 mc.ralr_shift toe_hold: 109. 27 mc.ralr_word toe_hold: 108. 1532 mc.regs_shift toe_hold: 96. 20 mc.regs_word toe_hold: 95. 400000 mc.resignal toe_hold: 123. 44 mc.resignal_word toe_hold: 122. 30 mc.scu toe_hold: 112. 11 mc.t_shift toe_hold: 107. 27 mc.t_word toe_hold: 106. 44 mc.unique_index toe_hold: 121. 20 mc.x toe_hold: 97. 60 mc_size toe_hold: 91. 260 mc_state.apu_history_registers toe_hold: 71. 110 mc_state.bar toe_hold: 66. 103 mc_state.cache_mode_reg toe_hold: 63. 106 mc_state.cfg toe_hold: 65. 160 mc_state.cu_history_registers toe_hold: 69. 104 mc_state.dbr toe_hold: 64. 220 mc_state.du_history_registers toe_hold: 70. 100 mc_state.interrupt toe_hold: 61. 60 mc_state.masks toe_hold: 60. 0 mc_state.mc_ toe_hold: 58. 102 mc_state.mode_reg toe_hold: 62. 111 mc_state.old_memory_state toe_hold: 67. 120 mc_state.ou_history_registers toe_hold: 68. 320 mc_state.ptwam_ptrs toe_hold: 72. 420 mc_state.ptwam_regs toe_hold: 73. 520 mc_state.sdwam_ptrs toe_hold: 74. 620 mc_state.sdwam_regs toe_hold: 75. 1020 mc_state_size toe_hold: 56. mode_reg privileged_mode_ut: 451, 455. mode_reg_enabled privileged_mode_ut: 449. 4 mr.enable_hfp privileged_mode_ut: 450, 454, mode_reg: 8. 60 mr.enable_hist privileged_mode_ut: 456, mode_reg: 7. 1 mr.enable_mr privileged_mode_ut: 456, mode_reg: 9. 777770 mr.floating_fv_mask mode_reg: 3. 777400 mr.opcode_field mode_reg: 5. 1 mr.trap_address_match mode_reg: 4. 200 mr.trap_opcode_match mode_reg: 6. 3 Multics toe_hold: 80. 101 new_high_data privileged_mode_ut: 105, 951, 971. 77 new_low_data privileged_mode_ut: 105, 946, 969, 975. 104 new_value privileged_mode_ut: 106. 60 not_checking privileged_mode_ut: 235, 239. 32 not_sys_level privileged_mode_ut: 176, 178, 183. 152 no_wire privileged_mode_ut: 249, 257, 259, 312, 324. 100 old_high_data privileged_mode_ut: 105, 968, 979. 76 old_low_data privileged_mode_ut: 105, 966, 983. open_level privileged_mode_ut: 169, 346. 550 overlap_error privileged_mode_ut: 976, 982. page privileged_mode_ut: 471, 474. page_fault privileged_mode_ut: 341. pds privileged_mode_ut: 180, 181, 237, 238, 452, 576. pmut_unlock_ptl privileged_mode_ut: 341. port_addressing_word privileged_mode_ut: 836, 909. prds privileged_mode_ut: 128, 162, 170, 212, 221, 226, 347, 449, 451, 455, 496, 571. 26 prds_link privileged_mode_ut: 212, 248. processid privileged_mode_ut: 576. processor privileged_mode_ut: 583. processor_data privileged_mode_ut: 572. 20000 processor_data.delete_cpu scs: 6. 4000 processor_data.halted_cpu scs: 8. 10000 processor_data.interrupt_cpu scs: 7. 200000 processor_data.offline scs: 5. 400000 processor_data.online privileged_mode_ut: 573, scs: 4. 7 processor_data.port_mask scs: 9. processor_tag privileged_mode_ut: 128, 162, 170, 221, 226, 347, 571. ptl_waitlock privileged_mode_ut: 313. 0 ptw.add ptw.l68: 37. 17 ptw.add_type_mask ptw.l68: 40. 16 ptw.add_type_shift ptw.l68: 39. 3 ptw.df_no_mask ptw.l68: 53. 0 ptw.df_no_shift ptw.l68: 52. 10000 ptw.er ptw.l68: 42. 20000 ptw.first ptw.l68: 41. 0 ptw.flags ptw.l68: 38. 200 ptw.nypd ptw.l68: 46. 10 ptw.os ptw.l68: 50. 100 ptw.phm ptw.l68: 47. 400 ptw.phm1 ptw.l68: 45. 1000 ptw.phu ptw.l68: 44. 40 ptw.phu1 ptw.l68: 48. 2000 ptw.unusable1 ptw.l68: 43. 4 ptw.valid ptw.l68: 51. 20 ptw.wired privileged_mode_ut: 262, 299, 373, 374, ptw.l68: 49. 1171 push_offset stack_header: 81. 404 read_id_prom privileged_mode_ut: 82, 732. 2 read_mask privileged_mode_ut: 83, 126, 130, 164, 223. 1173 return_no_pop_offset stack_header: 83. 1172 return_offset stack_header: 82. 432 rip_exit privileged_mode_ut: 751, 755. 423 rip_lp1 privileged_mode_ut: 747, 753. 50 rip_str1 privileged_mode_ut: 103, 738, 757. 60 rip_str2 privileged_mode_ut: 103. 437 rscr privileged_mode_ut: 84, 796. 375 rsw privileged_mode_ut: 85, 695. 436 rsw_template privileged_mode_ut: 745, 761. 112 rsw_xec privileged_mode_ut: 107, 746, 747, 748. 10 save_drl privileged_mode_ut: 603, 650, 656. 103 save_indicators privileged_mode_ut: 106, 956, 992, 1034, 1097, 1119. 12 save_luf privileged_mode_ut: 604, 637, 658. 72 save_sdw privileged_mode_ut: 104, 942, 987, 1027, 1094, 1112. 74 save_sdw1 privileged_mode_ut: 104, 944, 989. 7 sbx toe_hold: 147. scas privileged_mode_ut: 801, 814. scs privileged_mode_ut: 129, 130, 163, 164, 169, 171, 172, 177, 222, 223, 227, 228, 229, 346, 348, 349, 572, 577, 582, 583, 584, 587, 592, 593, 836, 905, 909. 20 scu.abs toe_hold: 302. 4 scu.abs_word toe_hold: 301. 10 scu.am_er toe_hold: 213. 1 scu.am_er_word toe_hold: 212. 37777 scu.apu_mask toe_hold: 163. 3 scu.apu_shift toe_hold: 162. 0 scu.apu_word toe_hold: 161. 200 scu.bm toe_hold: 296. 4 scu.bm_word toe_hold: 295. 200 scu.boc toe_hold: 205. 1 scu.boc_word toe_hold: 204. 5 scu.ca toe_hold: 306. 100000 scu.carry toe_hold: 280. 4 scu.carry_word toe_hold: 279. 7 scu.con_chan_mask toe_hold: 235. 6 scu.con_chan_shift toe_hold: 234. 1 scu.con_chan_word toe_hold: 233. 7 scu.cpu_no_mask toe_hold: 251. 6 scu.cpu_no_shift toe_hold: 250. 2 scu.cpu_no_word toe_hold: 249. 77 scu.cpu_tag_mask toe_hold: 336. 0 scu.cpu_tag_shift toe_hold: 335. 5 scu.cpu_tag_word toe_hold: 334. 40 scu.crt toe_hold: 209. 1 scu.crt_word toe_hold: 208. 7777 scu.cu_mask toe_hold: 309. 6 scu.cu_shift toe_hold: 308. 5 scu.cu_word toe_hold: 307. 77 scu.delta_mask toe_hold: 254. 0 scu.delta_shift toe_hold: 253. 2 scu.delta_word toe_hold: 252. 2000 scu.dsptw toe_hold: 170. 20000 scu.eovf toe_hold: 284. 4 scu.eovf_word toe_hold: 283. 10000 scu.eufl toe_hold: 286. 4 scu.eufl_word toe_hold: 285. 6 scu.even_inst toe_hold: 338. 100000 scu.e_off toe_hold: 189. 1 scu.e_off_word toe_hold: 188. 10 scu.fabs toe_hold: 177. 20 scu.fanp toe_hold: 176. 40 scu.fap toe_hold: 175. 7 scu.fault_cntr_mask toe_hold: 180. 0 scu.fault_cntr_shift toe_hold: 179. 0 scu.fault_cntr_word toe_hold: 178. 20 scu.fd_shift toe_hold: 183. 1 scu.fd_word toe_hold: 182. 1 scu.fi_flag toe_hold: 240. 1 scu.fi_flag_word toe_hold: 239. 37 scu.fi_num_mask toe_hold: 238. 1 scu.fi_num_shift toe_hold: 237. 1 scu.fi_num_word toe_hold: 236. 10 scu.hex toe_hold: 304. 4 scu.hex_word toe_hold: 303. 7 scu.iac_mask toe_hold: 232. 11 scu.iac_shift toe_hold: 231. 1 scu.iac_word toe_hold: 230. 17 scu.ial_mask toe_hold: 229. 14 scu.ial_shift toe_hold: 228. 1 scu.ial_word toe_hold: 227. 100 scu.if toe_hold: 333. 5 scu.if_word toe_hold: 332. 4 scu.ilc toe_hold: 273. 100 scu.inret toe_hold: 207. 1 scu.inret_word toe_hold: 206. 4 scu.ir toe_hold: 274. 400000 scu.iro toe_hold: 185. 1 scu.iro_word toe_hold: 184. 200 scu.its toe_hold: 331. 5 scu.its_word toe_hold: 330. 40 scu.mif toe_hold: 300. 4 scu.mif_word toe_hold: 299. 200000 scu.neg toe_hold: 278. 4 scu.neg_word toe_hold: 277. 2000 scu.no_ga toe_hold: 199. 1 scu.no_ga_word toe_hold: 198. 400 scu.ocall toe_hold: 203. 1 scu.ocall_word toe_hold: 202. 1000 scu.ocb toe_hold: 201. 1 scu.ocb_word toe_hold: 200. 7 scu.odd_inst toe_hold: 339. 200000 scu.oeb toe_hold: 187. 1 scu.oeb_word toe_hold: 186. 4000 scu.oflm toe_hold: 288. 4 scu.oflm_word toe_hold: 287. 400000 scu.onc_1 toe_hold: 221. 1 scu.onc_1_word toe_hold: 220. 200000 scu.onc_2 toe_hold: 223. 1 scu.onc_2_word toe_hold: 222. 4 scu.oosb toe_hold: 215. 1 scu.oosb_word toe_hold: 214. 40000 scu.orb toe_hold: 191. 1 scu.orb_word toe_hold: 190. 40000 scu.ovfl toe_hold: 282. 4 scu.ovfl_word toe_hold: 281. 10000 scu.owb toe_hold: 195. 1 scu.owb_word toe_hold: 194. 400000 scu.p toe_hold: 160. 1000 scu.par privileged_mode_ut: 959, 1037, 1064, 1085, 1122, 1148, toe_hold: 292. 1 scu.parl toe_hold: 219. 1 scu.parl_word toe_hold: 218. 400 scu.parm privileged_mode_ut: 960, 1038, 1123, toe_hold: 294. 4 scu.parm_word toe_hold: 293. 2 scu.paru toe_hold: 217. 1 scu.paru_word toe_hold: 216. 4 scu.par_word toe_hold: 291. 4000 scu.pi_ap toe_hold: 169. 1000 scu.poa toe_hold: 327. 5 scu.poa_word toe_hold: 326. 10000 scu.pon toe_hold: 321. 5 scu.pon_word toe_hold: 320. 1777 scu.port_stat_mask toe_hold: 226. 6 scu.port_stat_shift toe_hold: 225. 1 scu.port_stat_word toe_hold: 224. 20000 scu.pot toe_hold: 319. 5 scu.pot_word toe_hold: 318. 21 scu.ppr_shift toe_hold: 155. 0 scu.ppr_word toe_hold: 154. 7 scu.prr_mask toe_hold: 157. 41 scu.prr_shift toe_hold: 156. 77777 scu.psr_mask toe_hold: 159. 22 scu.psr_shift toe_hold: 158. 200 scu.ptw toe_hold: 173. 100 scu.ptw2 toe_hold: 174. 20000 scu.ptwm toe_hold: 167. 10000 scu.pt_on toe_hold: 168. 20 scu.ralr toe_hold: 211. 1 scu.ralr_word toe_hold: 210. 100000 scu.rd toe_hold: 315. 5 scu.rd_word toe_hold: 314. 400000 scu.rf toe_hold: 311. 400 scu.rfi toe_hold: 329. 5 scu.rfi_word toe_hold: 328. 5 scu.rf_word toe_hold: 310. 40000 scu.rl toe_hold: 317. 5 scu.rl_word toe_hold: 316. 200000 scu.rpt toe_hold: 313. 5 scu.rpt_word toe_hold: 312. 20000 scu.r_off toe_hold: 193. 1 scu.r_off_word toe_hold: 192. 100000 scu.sdwm toe_hold: 165. 1000 scu.sdwnp toe_hold: 171. 400 scu.sdwp toe_hold: 172. 40000 scu.sd_on toe_hold: 166. 2 scu.tpr toe_hold: 242. 77 scu.tpr_tbr_mask toe_hold: 271. 0 scu.tpr_tbr_shift toe_hold: 270. 3 scu.tpr_tbr_word toe_hold: 269. 2000 scu.tro toe_hold: 290. 4 scu.tro_word toe_hold: 289. 7 scu.trr_mask toe_hold: 245. 41 scu.trr_shift toe_hold: 244. 2 scu.trr_word toe_hold: 243. 100 scu.tru toe_hold: 298. 4 scu.tru_word toe_hold: 297. 17 scu.tsna_mask toe_hold: 262. 16 scu.tsna_shift toe_hold: 261. 3 scu.tsna_word toe_hold: 260. 17 scu.tsnb_mask toe_hold: 265. 12 scu.tsnb_shift toe_hold: 264. 3 scu.tsnb_word toe_hold: 263. 17 scu.tsnc_mask toe_hold: 268. 6 scu.tsnc_shift toe_hold: 267. 3 scu.tsnc_word toe_hold: 266. 77777 scu.tsr_mask toe_hold: 248. 22 scu.tsr_shift toe_hold: 247. 7777 scu.tsr_stat_mask toe_hold: 259. 6 scu.tsr_stat_shift toe_hold: 258. 3 scu.tsr_stat_word toe_hold: 257. 2 scu.tsr_word toe_hold: 246. 3 scu.word3 toe_hold: 256. 4000 scu.w_off toe_hold: 197. 1 scu.w_off_word toe_hold: 196. 4000 scu.xde toe_hold: 323. 5 scu.xde_word toe_hold: 322. 2000 scu.xdo toe_hold: 325. 5 scu.xdo_word toe_hold: 324. 200000 scu.xsf toe_hold: 164. 400000 scu.zero toe_hold: 276. 4 scu.zero_word toe_hold: 275. 0 scux.fd_shift toe_hold: 348. 1 scux.fd_word toe_hold: 347. 100000 scux.ia_am toe_hold: 354. 1 scux.ia_am_word toe_hold: 353. 6 scux.instr toe_hold: 368. 200000 scux.ioc toe_hold: 352. 1 scux.ioc_word toe_hold: 351. 20000 scux.ipr toe_hold: 358. 1 scux.ipr_word toe_hold: 357. 400000 scux.isn toe_hold: 350. 1 scux.isn_word toe_hold: 349. 40000 scux.isp toe_hold: 356. 1 scux.isp_word toe_hold: 355. 10000 scux.nea toe_hold: 360. 1 scux.nea_word toe_hold: 359. 4000 scux.oobb toe_hold: 362. 1 scux.oobb_word toe_hold: 361. 7777 scux.tsr_stat_mask toe_hold: 366. 6 scux.tsr_stat_shift toe_hold: 365. 3 scux.tsr_stat_word toe_hold: 364. 10 scux_size toe_hold: 344. 10 scu_size toe_hold: 152. 17 sdw.access_mask sdw.l68: 42. 21 sdw.access_shift sdw.l68: 41. 1 sdw.access_word sdw.l68: 40. 14 sdw.add_shift privileged_mode_ut: 254, 368, sdw.l68: 18. 0 sdw.add_word sdw.l68: 17. 37777 sdw.bound_mask sdw.l68: 39. 25 sdw.bound_shift sdw.l68: 38. 1 sdw.bound_word sdw.l68: 37. 40000 sdw.cache sdw.l68: 56. 1 sdw.cache_word sdw.l68: 55. 3 sdw.df_no_mask sdw.l68: 35. 0 sdw.df_no_shift sdw.l68: 34. 0 sdw.df_no_word sdw.l68: 33. 37777 sdw.entry_bound_mask sdw.l68: 59. 0 sdw.entry_bound_shift sdw.l68: 58. 1 sdw.entry_bound_word sdw.l68: 57. 2 sdw.execute sdw.l68: 46. 1 sdw.execute_word sdw.l68: 45. 100000 sdw.not_a_gate sdw.l68: 54. 1 sdw.not_a_gate_word sdw.l68: 53. 400000 sdw.privileged sdw.l68: 50. 1 sdw.privileged_word sdw.l68: 49. 7 sdw.r1_mask sdw.l68: 24. 11 sdw.r1_shift sdw.l68: 23. 0 sdw.r1_word sdw.l68: 22. 7 sdw.r2_mask sdw.l68: 27. 6 sdw.r2_shift sdw.l68: 26. 0 sdw.r2_word sdw.l68: 25. 7 sdw.r3_mask sdw.l68: 30. 3 sdw.r3_shift sdw.l68: 29. 0 sdw.r3_word sdw.l68: 28. 4 sdw.read privileged_mode_ut: 1155, sdw.l68: 44. 1 sdw.read_word sdw.l68: 43. 777 sdw.rings_mask sdw.l68: 21. 3 sdw.rings_shift sdw.l68: 20. 0 sdw.rings_word sdw.l68: 19. 200000 sdw.unpaged privileged_mode_ut: 1155, sdw.l68: 52. 1 sdw.unpaged_word sdw.l68: 51. 4 sdw.valid privileged_mode_ut: 1154, sdw.l68: 32. 0 sdw.valid_word sdw.l68: 31. 1 sdw.write privileged_mode_ut: 1155, sdw.l68: 48. 1 sdw.write_word sdw.l68: 47. 2 sdw_size sdw.l68: 15. 7 set_mask privileged_mode_ut: 86, 156, 172, 229, 349. 100 size_of_apt_entry apte: 122. 625 slow_pc privileged_mode_ut: 1056, 1070. 627 slow_pc_loop privileged_mode_ut: 1075, 1088. 456 smcm privileged_mode_ut: 87, 833. 470 smic privileged_mode_ut: 88, 904. 471 smic_common privileged_mode_ut: 902, 907. 466 smic_port privileged_mode_ut: 89, 900. 342 special_bce_return privileged_mode_ut: 90, 625. 345 special_go_to_bce privileged_mode_ut: 574, 630. 6 spx toe_hold: 146. 446 sscr privileged_mode_ut: 91, 807. sst privileged_mode_ut: 209, 244, 369, 393. 214 sst.abs_wired_count sst: 126. 241 sst.acost sst: 141. 400000 sst.activate_activated sst: 201. 517 sst.activations sst: 182. 52 sst.ainitp sst: 52. 52 sst.ainitp1 sst: 53. 244 sst.alaps sst: 144. 230 sst.aneedsize sst: 135. 236 sst.asearches sst: 138. 243 sst.askipdius sst: 143. 235 sst.askipsehs sst: 137. 240 sst.askipsinit sst: 140. 224 sst.askipsize sst: 134. 237 sst.askipslevel sst: 139. 242 sst.askipslock sst: 142. 30 sst.astap sst: 35. 254 sst.asteps sst: 151. 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. 33 sst.astsize sst: 37. 72 sst.ast_ht_n_buckets sst: 76. 70 sst.ast_ht_ptr sst: 75. 73 sst.ast_ht_uid_mask sst: 77. 260 sst.ast_locked_at_time sst: 152. 262 sst.ast_locked_total_time sst: 153. 266 sst.ast_locking_count sst: 155. 264 sst.ast_lock_wait_time sst: 154. 400000 sst.ast_track sst: 240. 566 sst.ast_track_word sst: 239. 50 sst.atempp sst: 46. 50 sst.atempp1 sst: 47. 600 sst.audit_seg_state_change_bw sst: 253. 573 sst.audit_seg_state_chg sst: 249. 126 sst.aused sst: 104. 44 sst.ausedp sst: 43. 534 sst.backup_activations sst: 198. 513 sst.bad_sgms sst: 178. 116 sst.ceiling sst: 96. 75 sst.checksum_filemap sst: 79. 476 sst.claim_notmod sst: 166. 477 sst.claim_passed_used sst: 167. 516 sst.claim_runs sst: 181. 474 sst.claim_skip_cme sst: 164. 475 sst.claim_skip_free sst: 165. 500 sst.claim_skip_ptw sst: 168. 502 sst.claim_steps sst: 170. 501 sst.claim_writes sst: 169. 267 sst.cleanup_count sst: 156. 270 sst.cleanup_real_time sst: 157. 67 sst.cl_skips_pinned sst: 74. 34 sst.cmesize sst: 38. 54 sst.cmp sst: 56. 252 sst.cpu_bf_time sst: 150. 160 sst.cpu_sf_time sst: 114. 400000 sst.crash_test_segmove sst: 246. 571 sst.crash_test_segmove_word sst: 245. 117 sst.ctwait sst: 97. 100 sst.cycle_pv_allocation sst: 82. 127 sst.damaged_ct sst: 105. 507 sst.dblw_resurrections sst: 175. 130 sst.deact_count sst: 106. 572 sst.delayed_seg_state_chg sst: 248. 132 sst.demand_deactivations sst: 108. 131 sst.demand_deact_attempts sst: 107. 567 sst.dirlock_writebehind sst: 242. 520 sst.dir_activations sst: 183. 110 sst.dir_page_faults sst: 90. 400000 sst.dm_enabled sst: 50. 51 sst.dm_enabled_word sst: 49. 62 sst.double_write sst: 66. 546 sst.event sst: 213. 523 sst.evict_phmbit sst: 189. 523 sst.evict_ptp sst: 188. 523 sst.evict_recover_data sst: 186. 66 sst.fc_skips_pinned sst: 73. 220 sst.first_core_block sst: 130. 525 sst.force_pwrites sst: 192. 524 sst.force_swrites sst: 191. 527 sst.force_updatevs sst: 194. 526 sst.fw_none sst: 193. 222 sst.fw_retries sst: 132. 515 sst.good_sgms sst: 180. 521 sst.hedge_updatevs sst: 184. 522 sst.hedge_writes sst: 185. 121 sst.laps sst: 99. 221 sst.last_core_block sst: 131. 44 sst.level sst: 41. 107 sst.level_1_page_faults sst: 89. 104 sst.lock_waits sst: 86. 154 sst.loop_locks sst: 112. 156 sst.loop_lock_time sst: 113. 533 sst.makeknown_activations sst: 197. 577 sst.max_seg_state_change_bw sst: 252. 535 sst.metering_flags sst: 199. 74 sst.meter_ast_locking sst: 78. 562 sst.mod_during_write sst: 228. 115 sst.needc sst: 95. 565 sst.new_pages sst: 237. 400000 sst.nolock sst: 71. 65 sst.nolock_word sst: 70. 400000 sst.notify sst: 216. 547 sst.notify_word sst: 215. 44 sst.no_aste sst: 44. 16 sst.npfs_misses sst: 23. 24 sst.nused sst: 32. 101 sst.n_trailers sst: 83. 506 sst.oopv sst: 174. 76 sst.page_read_errors sst: 80. 77 sst.page_write_errors sst: 81. 113 sst.pc_io_waits sst: 93. 2 sst.pc_trace sst: 234. 10 sst.pc_trace_pf sst: 232. 106 sst.pdir_page_faults sst: 88. 532 sst.pf_unlock_ptl_meterings sst: 196. 530 sst.pf_unlock_ptl_time sst: 195. 545 sst.pid sst: 212. 14 sst.post_in_core sst: 21. 165 sst.post_list_size sst: 118. 167 sst.post_purge_calls sst: 120. 12 sst.post_purge_time sst: 20. 166 sst.post_purgings sst: 119. 372 sst.pp_meters sst: 159. 170 sst.pre_page_calls sst: 121. 171 sst.pre_page_list_size sst: 122. 172 sst.pre_page_misses sst: 123. 164 sst.pre_page_size sst: 117. 10 sst.pre_page_time sst: 19. 173 sst.pre_pagings sst: 124. 503 sst.pre_seeks_failed sst: 171. 20 sst.ptl sst: 25. 32 sst.ptl_wait_ct sst: 36. 40 sst.pts sst: 40. 25 sst.ptwbase privileged_mode_ut: 370, sst: 33. 223 sst.pvhtp sst: 133. 133 sst.reads sst: 109. 217 sst.recopies sst: 129. 61 sst.removep sst: 64. 504 sst.resurrections sst: 172. 111 sst.ring_0_page_faults sst: 91. 36 sst.root_astep sst: 39. 64 sst.root_pvtx sst: 68. 112 sst.rqover sst: 92. 17 sst.salv sst: 24. 1 sst.sc_trace sst: 235. 555 sst.segmove_astep sst: 223. 551 sst.segmove_found_synch sst: 219. 550 sst.segmove_io_limit sst: 218. 545 sst.segmove_lock sst: 210. 554 sst.segmove_max_tries sst: 222. 561 sst.segmove_new_addr_astep sst: 227. 553 sst.segmove_n_reads sst: 221. 560 sst.segmove_old_addr_astep sst: 226. 556 sst.segmove_pvtx sst: 224. 552 sst.segmove_synch_disappeared sst: 220. 557 sst.segmove_vtocx sst: 225. 536 sst.seg_fault_calls sst: 203. 576 sst.seg_state_change_limit sst: 251. 574 sst.seg_state_chg_delay sst: 250. 601 sst.seg_state_chg_operation sst: 254. 247 sst.setfaults_acc sst: 147. 246 sst.setfaults_all sst: 146. 512 sst.sgm_pf sst: 177. 514 sst.sgm_sgft sst: 179. 510 sst.sgm_time sst: 176. 153 sst.short_pf_count sst: 111. 124 sst.skipm sst: 102. 125 sst.skipos sst: 103. 123 sst.skipu sst: 101. 122 sst.skipw sst: 100. 0 sst.space sst: 18. 60 sst.startp sst: 62. 114 sst.steps sst: 94. 234 sst.stepsa sst: 136. 543 sst.stk_pages_truncated sst: 208. 544 sst.stk_pages_truncated_in_core sst: 209. 542 sst.stk_truncate_shouldnt_did sst: 207. 541 sst.stk_truncate_shouldnt_didnt sst: 206. 540 sst.stk_truncate_should_did sst: 205. 537 sst.stk_truncate_should_didnt sst: 204. 53 sst.strsize sst: 55. 102 sst.synch_activations sst: 84. 103 sst.synch_skips sst: 85. 215 sst.system_type sst: 127. 63 sst.temp_w_event sst: 67. 26 sst.tfreep sst: 34. 15 sst.thrashing sst: 22. 250 sst.total_bf sst: 148. 251 sst.total_bf_pf sst: 149. 105 sst.total_locks_set sst: 87. 163 sst.total_sf sst: 116. 162 sst.total_sf_pf sst: 115. 564 sst.trace_sw sst: 230. 272 sst.tree_count sst: 158. 4 sst.tty_trace sst: 233. 245 sst.updates sst: 145. 56 sst.usedp sst: 58. 505 sst.volmap_seg_page_faults sst: 173. 120 sst.wired privileged_mode_ut: 266, 304, 393, sst: 98. 216 sst.wired_copies sst: 128. 174 sst.wire_proc_data sst: 125. 143 sst.writes sst: 110. 473 sst.write_hunts sst: 163. 570 sst.write_limit sst: 243. 57 sst.wtct sst: 60. 472 sst.wusedp sst: 161. 563 sst.zero_pages sst: 229. 20 sst_link privileged_mode_ut: 209. 1000 sst_size sst: 15. 73 stach_header.trace_top_ptr stack_header: 62. 32 stack_frame.arg_ptr privileged_mode_ut: 985, 1092, stack_frame: 16. 100 stack_frame.condition_bit stack_frame: 32. 20 stack_frame.condition_word stack_frame: 9. 2000 stack_frame.crawl_out_bit stack_frame: 28. 26 stack_frame.entry_ptr stack_frame: 13. 20 stack_frame.flag_word stack_frame: 24. 400 stack_frame.link_trap_bit stack_frame: 30. 30 stack_frame.lp_ptr stack_frame: 15. 20000 stack_frame.main_proc_bit stack_frame: 25. 60 stack_frame.min_length stack_frame: 23. 22 stack_frame.next_sp stack_frame: 10. 36 stack_frame.on_unit_rel_ptrs stack_frame: 19. 30 stack_frame.operator_ptr stack_frame: 14. 37 stack_frame.operator_ret_ptr stack_frame: 20. 20 stack_frame.prev_sp stack_frame: 8. 40 stack_frame.regs stack_frame: 22. 24 stack_frame.return_ptr stack_frame: 12. 10000 stack_frame.run_unit_manager stack_frame: 26. 1000 stack_frame.signaller_bit stack_frame: 29. 22 stack_frame.signaller_word stack_frame: 11. 4000 stack_frame.signal_bit stack_frame: 27. 34 stack_frame.static_ptr stack_frame: 17. 200 stack_frame.support_bit stack_frame: 31. 35 stack_frame.support_ptr stack_frame: 18. 37 stack_frame.translator_id stack_frame: 21. 66 stack_header.assign_linkage_ptr stack_header: 59. 32 stack_header.bar_mode_sp stack_header: 42. 36 stack_header.call_op_ptr stack_header: 44. 10 stack_header.clr_ptr stack_header: 27. 6 stack_header.combined_stat_ptr stack_header: 25. 4 stack_header.cpm_data_ptr stack_header: 24. 13 stack_header.cpm_enabled stack_header: 32. 13 stack_header.cur_lot_size stack_header: 31. 64 stack_header.ect_ptr stack_header: 58. 46 stack_header.entry_op_ptr stack_header: 49. 70 stack_header.heap_header_ptr stack_header: 60. 74 stack_header.in_trace stack_header: 63. 52 stack_header.isot_ptr stack_header: 52. 26 stack_header.lot_ptr stack_header: 39. 12 stack_header.main_proc_invoked stack_header: 29. 12 stack_header.max_lot_size stack_header: 28. 20 stack_header.parent_ptr stack_header: 36. 34 stack_header.pl1_operators_ptr stack_header: 43. 40 stack_header.push_op_ptr stack_header: 46. 42 stack_header.return_op_ptr stack_header: 47. 44 stack_header.ret_no_pop_op_ptr stack_header: 48. 62 stack_header.rnt_ptr stack_header: 57. 12 stack_header.run_unit_depth stack_header: 30. 54 stack_header.sct_ptr stack_header: 53. 30 stack_header.signal_ptr stack_header: 41. 22 stack_header.stack_begin_ptr stack_header: 37. 24 stack_header.stack_end_ptr stack_header: 38. 14 stack_header.system_free_ptr stack_header: 33. 60 stack_header.sys_link_info_ptr stack_header: 56. 72 stack_header.trace_frames stack_header: 61. 50 stack_header.trans_op_tv_ptr stack_header: 51. 56 stack_header.unwinder_ptr stack_header: 54. 16 stack_header.user_free_ptr stack_header: 34. 100 stack_header_end stack_header: 64. 262 swap_sdw privileged_mode_ut: 92, 522. sys_level privileged_mode_ut: 177, 228. sys_trouble_pending privileged_mode_ut: 584. 113 tally_wd privileged_mode_ut: 107, 744, 750. 111 temp privileged_mode_ut: 107. toehold privileged_mode_ut: 631. 242 toe_hold.bce_dbr toe_hold: 24. 0 toe_hold.entry_sequences toe_hold: 18. 40 toe_hold.flagbox toe_hold: 19. 241 toe_hold.memory_state toe_hold: 23. 2760 toe_hold.multics_state toe_hold: 25. 240 toe_hold.n_paths_used toe_hold: 22. 220 toe_hold.paths toe_hold: 20. 5 TOE_HOLD_BOOT_ENTRY toe_hold: 48. 14 TOE_HOLD_BOS_ENTRY toe_hold: 49. 16 TOE_HOLD_BOS_MULTICS_ENTRY toe_hold: 51. 15 TOE_HOLD_BOS_NO_SAVE_ENTRY toe_hold: 50. 0 TOE_HOLD_CRASH_ENTRY toe_hold: 43. 2 TOE_HOLD_DUMP_ENTRY toe_hold: 45. 1 TOE_HOLD_ESD_ENTRY toe_hold: 44. 3 TOE_HOLD_MULTICS_ENTRY privileged_mode_ut: 631, toe_hold: 46. 4 TOE_HOLD_RESTART_ENTRY toe_hold: 47. 4000 toe_hold_size toe_hold: 15. 0 trace_frames.count stack_header: 69. 1 trace_frames.top_ptr stack_header: 70. 401 trace_rsw privileged_mode_ut: 94, 702. trap_invalid_masked privileged_mode_ut: 175, 234. trouble_processid privileged_mode_ut: 582, 592. 551 tv_offset stack_header: 75, 80, 81, 82, 83, 84. 220 ul_l1 privileged_mode_ut: 383, 390. 217 ul_p0_unwired privileged_mode_ut: 376, 379. 224 ul_pg_unwired privileged_mode_ut: 384, 387. 10 Undefined_continue toe_hold: 85. 5 Undefined_reading_bce toe_hold: 82. 11 Undefined_saving_mem toe_hold: 86. 4 Undefined_saving_state toe_hold: 81. 160 unlock_ptl privileged_mode_ut: 95, 340. unpaged_page_tables privileged_mode_ut: 256, 258. 161 unwire_unmask privileged_mode_ut: 96, 342. 6 upt.current_length unpaged_page_tables: 22. 10 upt.first_entry unpaged_page_tables: 24. 4 upt.iupt_absloc unpaged_page_tables: 20. 5 upt.iupt_last_loc unpaged_page_tables: 21. 7 upt.max_length unpaged_page_tables: 23. 0 upt.sst_absloc privileged_mode_ut: 258, unpaged_page_tables: 16. 1 upt.sst_last_loc privileged_mode_ut: 256, unpaged_page_tables: 17. 2 upt.upt_absloc unpaged_page_tables: 18. 3 upt.upt_last_loc unpaged_page_tables: 19. 2 upt_entry.ptws unpaged_page_tables: 32. 1 upt_entry.segno unpaged_page_tables: 31. 0 upt_entry.size unpaged_page_tables: 30. wired_hardcore_data privileged_mode_ut: 175, 234, 273. 40 wire_and_mask privileged_mode_ut: 97, 214. wire_pages privileged_mode_ut: 273. 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