ASSEMBLY LISTING OF SEGMENT >spec>install>1111>free_store.alm ASSEMBLED ON: 11/11/89 0930.9 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., 1982 * 6 " * * 7 " *********************************************************** 8 9 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 10 " 11 " free_store - disk address management routines 12 " 13 " Entries 14 " 15 " 16 " withdraw - allocate a disk address from stock/volmap 17 " 18 " withdraw_list_ext - allocate a bunch of disk addresses from 19 " stock/volmap for a non-ALM-page-control caller 20 " 21 " deposit - return an address to stock/volmap 22 " 23 " deposit_list - return a list of addresses to stock/volmap 24 " 25 " 26 " Rewritten for stock management by J. Bongiovanni, February 1982 27 " Modified July 1982, J. Bongiovanni, for scavenger 28 " Modified 831219, E. N. Kittlitz, withdraw_list_ext 29 " 30 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 31 000000 32 name free_store 33 000003 34 segdef withdraw 000100 35 segdef withdraw_list_ext 000141 36 segdef deposit 000172 37 segdef deposit_list 38 000006 39 equ deposit_list_no_args,6 000070 40 equ deposit_list_argl_chars,8+8*deposit_list_no_args 41 even 000000 42 segno_offset_mask: 000000 aa 077777 000000 43 oct 077777000000 000001 aa 777777 000000 44 oct 777777000000 000002 45 strip_null_addr: 000002 aa 377777 777777 46 oct 377777777777 47 " 48 include add_type 1-1 " 1-2 " BEGIN INCLUDE FILE add_type.incl.alm 02/14/75 1-3 " 1-4 1-5 " This file defines the interpretation of the add_type 1-6 " field of a ptw or cme. 1-7 400000 1-8 bool add_type.core,400000 "DL core address - S/B only in PTW 200000 1-9 bool add_type.disk,200000 "DL disk address 100000 1-10 bool add_type.pd,100000 "DL paging device record number 040000 1-11 bool add_type.reserved,040000 "DL reserved for future use 1-12 740000 1-13 bool add_type.non_null,740000 "DL not a null address 1-14 1-15 " 1-16 " END INCLUDE FILE add_type.incl.alm 1-17 " 49 " 50 include apte 2-1 " BEGIN INCLUDE FILE apte.incl.alm 2-2 " 2-3 " 2-4 " HISTORY COMMENTS: 2-5 " 1) change(86-08-09,Kissel), approve(86-08-12,MCR7479), 2-6 " audit(86-10-08,Fawcett), install(86-11-03,MR12.0-1206): 2-7 " Added the ipc_r_offset, ipc_r_factor, and apad fields from the pl1 2-8 " include file to support async event channel wakeups. 2-9 " END HISTORY COMMENTS 2-10 000000 2-11 equ apte.thread,0 000000 2-12 equ apte.fp,0 "UPPER 000000 2-13 equ apte.bp,0 "LOWER 2-14 000001 2-15 equ apte.flags,1 000001 2-16 equ apte.sentinel,1 400000 2-17 bool apte.mbz,400000 "DU 200000 2-18 bool apte.wakeup_waiting,200000 "DU 100000 2-19 bool apte.stop_pending,100000 "DU 040000 2-20 bool apte.pre_empted,040000 "DU 020000 2-21 bool apte.hproc,020000 "DU 010000 2-22 bool apte.loaded,010000 "DU 004000 2-23 bool apte.eligible,004000 "DU 002000 2-24 bool apte.idle,002000 "DU 001000 2-25 bool apte.interaction,001000 "DU 000400 2-26 bool apte.pre_empt_pending,000400 "DU 000200 2-27 bool apte.default_procs_required,000200 "DU 000100 2-28 bool apte.realtime_burst,000100 "DU 000040 2-29 bool apte.always_loaded,000040 "DU 000020 2-30 bool apte.dbr_loaded,000020 "DU 000010 2-31 bool apte.being_loaded,000010 "DU 000004 2-32 bool apte.shared_stack_0,000004 "DU 000002 2-33 bool apte.page_wait_flag,000002 "DU 000001 2-34 bool apte.firstsw,000001 "DU 000001 2-35 equ apte.state,1 "LOWER 2-36 000002 2-37 equ apte.page_faults,2 2-38 000003 2-39 equ apte.processid,3 2-40 000004 2-41 equ apte.te,4 2-42 000005 2-43 equ apte.ts,5 2-44 000006 2-45 equ apte.ti,6 2-46 000007 2-47 equ apte.timax,7 2-48 000010 2-49 equ apte.ipc_pointers,8 000010 2-50 equ apte.event_thread,8 "UPPER 2-51 000011 2-52 equ apte.ips_message,9 2-53 000012 2-54 equ apte.asteps,10 000012 2-55 equ apte.pds,10 "UPPER 000012 2-56 equ apte.dseg,10 "LOWER 2-57 000013 2-58 equ apte.prds,11 "UPPER 000013 2-59 equ apte.savex7,11 "LOWER 2-60 000014 2-61 equ apte.term_processid,12 2-62 000015 2-63 equ apte.lock_id,13 000016 2-64 equ apte.time_used_clock,14 2-65 000020 2-66 equ apte.wait_event,16 2-67 000021 2-68 equ apte.wct_index,17 "UPPER 000021 2-69 equ apte.flags2,17 "LOWER 400000 2-70 bool apte.prior_sched,400000 "DL 000023 2-71 equ apte.chans_offset,19 374000 2-72 bool apte.special_chans,374000 "DL 000021 2-73 equ apte.batch_word,17 000010 2-74 bool apte.batch,000010 "DL 000007 2-75 bool apte.pr_tag_mask,000007 2-76 000022 2-77 equ apte.state_change_time,18 2-78 000024 2-79 equ apte.alarm_event,20 2-80 000026 2-81 equ apte.alarm_time_thread,22 "UPPER 000026 2-82 equ apte.alarm_time,22 2-83 000030 2-84 equ apte.term_channel,24 2-85 000032 2-86 equ apte.ws_size,26 2-87 000033 2-88 equ apte.temax,27 2-89 000034 2-90 equ apte.deadline,28 2-91 000036 2-92 equ apte.lock,30 2-93 000037 2-94 equ apte.cpu_monitor,31 units = 1/1024 sec 2-95 000040 2-96 equ apte.paging_measure,32 2-97 000042 2-98 equ apte.access_authorization,34 "DOUBLE WORD 400000 2-99 bool apte.no_ipc_check,400000 "DL 2-100 000044 2-101 equ apte.dbr,36 2-102 000046 2-103 equ apte.virtual_cpu_time,38 2-104 000050 2-105 equ apte.ittes_sent,40 000051 2-106 equ apte.ittes_got,41 2-107 000052 2-108 equ apte.current_response_state,42 " DU 000053 2-109 equ apte.number_processing,43 000054 2-110 equ apte.last_response_state_time,44 000056 2-111 equ apte.total_processing_time,46 000060 2-112 equ apte.begin_interaction_vcpu,48 2-113 000062 2-114 equ apte.saved_temax,50 000063 2-115 equ apte.procs_required,51 776000 2-116 bool apte.procs_required_mask,776000 " DU 2-117 000064 2-118 equ apte.ipc_r_offset,52 000065 2-119 equ apte.ipc_r_factor,53 000066 2-120 equ apte.apad,54 2-121 000100 2-122 equ size_of_apt_entry,64 2-123 2-124 " MISC OLD DCLS. 2-125 000013 2-126 equ apte.le_shift,11 000175 2-127 bool apte.timer_factor,175 2-128 2-129 2-130 " 2-131 " END INCLUDE FILE apte.incl.alm 2-132 " 51 " 52 include page_info 3-1 " BEGIN INCLUDE FILE page_info.incl.alm -- 6/72 3-2 " 3-3 " Modified 02/22/81, W. Olin Sibert, for ADP conversion 3-4 " Modified 06/23/82, E. N. Kittlitz, to move core map. 3-5 " 000012 3-6 equ page_power,10 " 2**10 = size of page 000001 3-7 bool df1,000001 " directed fault 1 on page fault 3-8 777777 740000 3-9 bool address_mask,777777740000 " Mask for PTW add, add_type compares 3-10 " Use as =v36/address_mask 3-11 400000 3-12 bool ptw.nulled,400000 " flag for testing addresses 3-13 100000 3-14 bool int,100000 " Disk dim flags 000020 3-15 bool pri,000020 000004 3-16 bool no_post,000004 3-17 000003 3-18 equ sst,3 " Standard pointer and index 000003 3-19 equ pdm,sst " register usage 000003 3-20 equ ast,sst 000002 3-21 equ ptw,2 3-22 3-23 " Various AST masks which are not 3-24 " expressible in standard notation 3-25 " 777000 3-26 bool aste.csl_mask_inner,777000 777000 3-27 bool aste.records_mask_inner,777000 3-28 000000 3-29 equ fault_entry,0 " Flags indicating how we 000001 3-30 equ read_entry,1 " were entered 000002 3-31 equ write_entry,2 000003 3-32 equ pre_page_entry,3 000004 3-33 equ post_purge_entry,4 000005 3-34 equ pd_flush_entry,5 000006 3-35 equ evict_entry,6 000007 3-36 equ abs_wire_entry,7 000010 3-37 equ cleanup_entry,8 3-38 3-39 " Constants for manipulating core addresses and PTWs. The core address 3-40 " is a fixed bin (35) aligned, and must be moved to/from the appropriate 3-41 " field in the SDW or PTW. 3-42 " 3-43 iftarget l68 777760 bool ptw_add_mask,777760 " Page number 777760 bool sdw_add_mask,777760 " Page number 000077 777777 bool coreadd_mask,000077777777 " Mask for coreadd in AL 000014 equ coreadd_to_ptw.ls,12 000014 equ coreadd_to_sdw.ls,12 000014 equ ptw_to_coreadd.rl,12 000014 equ sdw_to_coreadd.rl,12 000002 equ cmep_to_ptw.ls,2 000002 equ cmep_to_sdw.ls,2 000002 equ ptw_to_cmep.rl,2 000024 equ ptw_to_cmep_lower.rl,20 000002 equ sdw_to_cmep.rl,2 " ifend 3-58 3-59 iftarget adp " bool ptw_add_mask,177777 " Page number " bool sdw_add_mask,777774 " Page number " bool coreadd_mask,000377777777 " Mask for coreadd in AL " " equ coreadd_to_ptw.ls,8 " equ coreadd_to_sdw.ls,10 " equ ptw_to_coreadd.rl,8 " equ sdw_to_coreadd.rl,10 " equ cmep_to_ptw.rl,2 " Must shift backwards " equ cmep_to_sdw.ls,0 " equ ptw_to_cmep.ls,2 " Must shift backwards " equ ptw_to_cmep_lower.rl,16 " equ sdw_to_cmep.rl,0 " ifend 3-74 000012 3-75 equ cmep_to_coreadd.rl,10 .cmep to coreadd 000012 3-76 equ coreadd_to_cmep.ls,10 coreadd to .cmep 3-77 3-78 " 3-79 " 3-80 " Assorted general purpose macros used in PC. These will be changed 3-81 " when address types are changed for 20 bit addresses. Additionally, 3-82 " for more accurate metering on the ADP, the metering macros should 3-83 " modified to update the metering cells uninterruptably. 3-84 " 3-85 3-86 macro missing 1 3-87 ife &2,() 2 3-88 warn (&1: Argument missing.) 3 3-89 ifend 4 3-90 &end 3-91 " 3-92 " staddra and staddrq store the address portion (upper 22 bits) of the A or Q 3-93 " into the specified location. 3-94 " 3-95 macro staddra 1 3-96 missing staddra,&1 2 3-97 era &F1 3 3-98 ana =v36/address_mask 4 3-99 ersa &F1 5 3-100 &end 3-101 3-102 macro staddrq 1 3-103 missing staddrq,&1 2 3-104 erq &F1 3 3-105 anq =v36/address_mask 4 3-106 ersq &F1 5 3-107 &end 3-108 3-109 " Macros for metering 6/23/80 3-110 3-111 macro read_clock 1 3-112 iftarget l68 2 3-113 rccl sys_info$clock_,* 3 3-114 ifend 4 3-115 iftarget adp 5 3-116 rccl 0 6 3-117 ifend 7 3-118 &end 3-119 3-120 macro increment 1 3-121 missing increment,&1 2 3-122 aos &1 3 3-123 &end 3-124 3-125 macro store_clock 1 3-126 missing store_clock,&1 2 3-127 read_clock 3 3-128 staq &1 4 3-129 &end 3-130 3-131 macro meter_time 1 3-132 missing meter_time,&3 2 3-133 increment &3 3 3-134 read_clock 4 3-135 sbaq &1 5 3-136 adaq &2 6 3-137 staq &2 7 3-138 &end 3-139 3-140 " END INCLUDE FILE page_info.incl.alm 53 " 54 include pvte 4-1 4-2 4-3 "BEGIN INCLUDE FILE pvte.incl.alm 4-4 4-5 4-6 "Created 05/29/86 1617.9 mst Thu by convert_include_file, 4-7 " Version of 04/10/86 1622.3 mst Thu. 4-8 4-9 "Made from >dumps>old>dipper>svs5>incl>pvte.incl.pl1, 4-10 " modified 05/29/86 1617.8 mst Thu 4-11 4-12 4-13 " HISTORY COMMENTS: 4-14 " 1) change(86-04-11,Fawcett), approve(86-04-11,MCR7383), 4-15 " audit(86-05-29,GDixon), install(86-07-18,MR12.0-1098): 4-16 " Add the support for subvolumes 4-17 " 2) change(86-04-11,Lippard), approve(86-04-11,MCR7309), 4-18 " audit(86-05-29,GDixon), install(86-07-18,MR12.0-1098): 4-19 " Add root_lv flag to mount RLVs that do not have hardcore partitions. 4-20 " 3) change(88-05-27,GWMay), approve(88-05-27,MCR7883), 4-21 " audit(88-06-14,Beattie), install(88-07-19,MR12.2-1061): 4-22 " Added inconsistent_dbm bit for determining the status of volume 4-23 " dumper bit maps. 4-24 " END HISTORY COMMENTS 4-25 4-26 4-27 " 4-28 " Structure pvt_array 4-29 " 4-30 4-31 " 4-32 " Structure pvte 4-33 " 000034 4-34 equ pvte_size,28 4-35 4-36 000000 4-37 equ pvte.pvid,0 000001 4-38 equ pvte.lvid,1 4-39 000002 4-40 equ pvte.dmpr_in_use_word,2 400000 4-41 bool pvte.dmpr_in_use,400000 " DU 000002 4-42 equ pvte.is_sv_word,2 040000 4-43 bool pvte.is_sv,040000 " DU 000002 4-44 equ pvte.root_lv_word,2 020000 4-45 bool pvte.root_lv,020000 " DU 000002 4-46 equ pvte.removable_pack_word,2 010000 4-47 bool pvte.removable_pack,010000 " DU 000002 4-48 equ pvte.inconsistent_dbm_word,2 004000 4-49 bool pvte.inconsistent_dbm,004000 " DU 000002 4-50 equ pvte.brother_pvtx_word,2 000022 4-51 equ pvte.brother_pvtx_shift,18 000777 4-52 bool pvte.brother_pvtx_mask,000777 000002 4-53 equ pvte.skip_queue_count,2 " LOWER 4-54 000003 4-55 equ pvte.devname,3 4-56 000004 4-57 equ pvte.device_type_word,4 000033 4-58 equ pvte.device_type_shift,27 000777 4-59 bool pvte.device_type_mask,000777 000004 4-60 equ pvte.logical_area_number_word,4 000022 4-61 equ pvte.logical_area_number_shift,18 000777 4-62 bool pvte.logical_area_number_mask,000777 000004 4-63 equ pvte.used_word,4 400000 4-64 bool pvte.used,400000 " DL 000004 4-65 equ pvte.storage_system_word,4 200000 4-66 bool pvte.storage_system,200000 " DL 000004 4-67 equ pvte.permanent_word,4 100000 4-68 bool pvte.permanent,100000 " DL 000004 4-69 equ pvte.testing_word,4 040000 4-70 bool pvte.testing,040000 " DL 000004 4-71 equ pvte.being_mounted_word,4 020000 4-72 bool pvte.being_mounted,020000 " DL 000004 4-73 equ pvte.being_demounted_word,4 010000 4-74 bool pvte.being_demounted,010000 " DL 000004 4-75 equ pvte.check_read_incomplete_word,4 004000 4-76 bool pvte.check_read_incomplete,004000 " DL 000004 4-77 equ pvte.device_inoperative_word,4 002000 4-78 bool pvte.device_inoperative,002000 " DL 000004 4-79 equ pvte.rpv_word,4 001000 4-80 bool pvte.rpv,001000 " DL 000004 4-81 equ pvte.scav_check_address_word,4 000400 4-82 bool pvte.scav_check_address,000400 " DL 000004 4-83 equ pvte.deposit_to_volmap_word,4 000200 4-84 bool pvte.deposit_to_volmap,000200 " DL 000004 4-85 equ pvte.being_demounted2_word,4 000100 4-86 bool pvte.being_demounted2,000100 " DL 000004 4-87 equ pvte.pc_vacating_word,4 000040 4-88 bool pvte.pc_vacating,000040 " DL 000004 4-89 equ pvte.vacating_word,4 000020 4-90 bool pvte.vacating,000020 " DL 000004 4-91 equ pvte.hc_part_used_word,4 000010 4-92 bool pvte.hc_part_used,000010 " DL 000004 4-93 equ pvte.volmap_lock_notify_word,4 000004 4-94 bool pvte.volmap_lock_notify,000004 " DL 000004 4-95 equ pvte.volmap_idle_notify_word,4 000002 4-96 bool pvte.volmap_idle_notify,000002 " DL 000004 4-97 equ pvte.vtoc_map_lock_notify_word,4 000001 4-98 bool pvte.vtoc_map_lock_notify,000001 " DL 4-99 000005 4-100 equ pvte.n_free_vtoce,5 " UPPER 000005 4-101 equ pvte.vtoc_size,5 " LOWER 4-102 000006 4-103 equ pvte.dbmrp,6 " UPPER 4-104 000007 4-105 equ pvte.nleft,7 " UPPER 000007 4-106 equ pvte.totrec,7 " LOWER 4-107 000010 4-108 equ pvte.dim_info,8 000011 4-109 equ pvte.sv_num,9 000012 4-110 equ pvte.num_of_svs,10 000013 4-111 equ pvte.records_per_cyl,11 000014 4-112 equ pvte.record_factor,12 000015 4-113 equ pvte.sv_name,13 4-114 000016 4-115 equ pvte.curn_dmpr_vtocx,14 " UPPER 4-116 000017 4-117 equ pvte.n_vtoce,15 " LOWER 4-118 000020 4-119 equ pvte.baseadd,16 " UPPER 4-120 000022 4-121 equ pvte.volmap_seg_sdw,18 " DOUBLE 000024 4-122 equ pvte.volmap_astep,20 4-123 000025 4-124 equ pvte.volmap_offset,21 " UPPER 000025 4-125 equ pvte.vtoc_map_offset,21 " LOWER 4-126 000026 4-127 equ pvte.volmap_lock,22 000027 4-128 equ pvte.vtoc_map_lock,23 000030 4-129 equ pvte.volmap_stock_ptr,24 000031 4-130 equ pvte.vtoc_map_stock_ptr,25 4-131 000032 4-132 equ pvte.volmap_async_state,26 " UPPER 000032 4-133 equ pvte.volmap_async_page,26 " LOWER 4-134 000033 4-135 equ pvte.vol_trouble_count,27 " UPPER 000033 4-136 equ pvte.scavenger_block_rel,27 " LOWER 4-137 000000 4-138 equ VOLMAP_ASYNC_IDLE,0 " MANIFEST 000001 4-139 equ VOLMAP_ASYNC_READ,1 " MANIFEST 000002 4-140 equ VOLMAP_ASYNC_WRITE,2 " MANIFEST 4-141 4-142 "END INCLUDE FILE pvte.incl.alm 55 " 56 include pxss_page_stack 5-1 " 5-2 " BEGIN INCLUDE FILE pxss_page_stack.incl.alm July 1982 5-3 " 5-4 000006 5-5 equ pxss_stack_size,6 " size of x7 save stack used by pxss 000015 5-6 equ stack_size,13 " size of x7 save stack used by page control 5-7 5-8 temp8 notify_regs 5-9 temp save_stack(stack_size),stackp 5-10 tempd pre_time,pre_temp(3) 5-11 tempd arg(11),temp 5-12 tempd stock_temp,volmap_temp,volmap_save_ptr 5-13 tempd tmp_ev_channel,tmp_ev_message,apt_ptr,getwork_temp,delta_t 5-14 tempd lock_volmap_temp_1,free_store_temp_1,volmap_save_sdw 5-15 temp cmep,total_steps,temp1,temp2,volmap_temp_1,volmap_temp_2 5-16 temp pvtx,core_add,count,entry_sw,ptp_astep,inter,devadd,errcode 5-17 temp tmp_ring,dev_signal,before,depth,x5 5-18 temp tmp_event,pxss_save_stack(pxss_stack_size),pxss_stackp 5-19 temp stock_temp_1,stock_temp_2,free_store_temp,savx2_3 5-20 temp lock_volmap_temp 5-21 temp volmap_page_temp 5-22 tempd free_store_start_time,post_io_start_time 5-23 5-24 temp done_astep,volmap_page_temp_1 5-25 temp vtocx,pageno 5-26 5-27 tempd page_synch_temp,page_synch_time 5-28 temp page_synch_index 5-29 5-30 temp pc_err_type,pc_err_ptwp,pc_err_astep 5-31 tempd pf_sdw 5-32 5-33 temp pad(22) " to grow compatibly 5-34 " 5-35 " END INCLUDE FILE pxss_page_stack.incl.alm 5-36 " 57 " 58 include scavenger_data 6-1 6-2 6-3 "BEGIN INCLUDE FILE scavenger_data.incl.alm 6-4 6-5 6-6 "Created 12/13/83 1343.7 est Tue by convert_include_file, 6-7 " Version of 11/07/82 1445.1 est Sun. 6-8 6-9 "Made from >udd>Multics>Margulies>w>scav>scavenger_data.incl.pl1, 6-10 " modified 12/13/83 1320.7 est Tue 6-11 6-12 " 6-13 " Structure scavenger_data 6-14 " 000032 6-15 equ scavenger_data_size,26 6-16 6-17 000000 6-18 equ scavenger_data.lock,0 " LEVEL 2 6-19 000000 6-20 equ scavenger_data.lock_word,0 000001 6-21 equ scavenger_data.wait_event,1 6-22 000002 6-23 equ scavenger_data.notify_sw_word,2 400000 6-24 bool scavenger_data.notify_sw,400000 " DU 6-25 6-26 " equ scavenger_data.process_table_ptr,4 000006 6-27 equ scavenger_data.error_severity,6 000010 6-28 equ scavenger_data.meters,8 " LEVEL 2 6-29 6-30 000031 6-31 equ scavenger_data.free_word,25 400000 6-32 bool scavenger_data.free,400000 " DU 6-33 6-34 " 6-35 " Structure sc_meters 6-36 " 000021 6-37 equ sc_meters_size,17 6-38 6-39 000000 6-40 equ sc_meters.n_scavenge,0 000001 6-41 equ sc_meters.pf,1 000002 6-42 equ sc_meters.vcpu,2 " DOUBLE 000004 6-43 equ sc_meters.clock_time,4 " DOUBLE 000006 6-44 equ sc_meters.n_vtoces,6 000007 6-45 equ sc_meters.n_vtoces_damaged,7 000010 6-46 equ sc_meters.n_vtoces_per_proc,8 000011 6-47 equ sc_meters.n_vtoces_per_boot,9 000012 6-48 equ sc_meters.n_vtoces_freed,10 000013 6-49 equ sc_meters.n_vtoces_fmd,11 000014 6-50 equ sc_meters.n_records,12 000015 6-51 equ sc_meters.n_conflicts,13 000016 6-52 equ sc_meters.n_fmd_conflicts,14 000017 6-53 equ sc_meters.n_real_conflicts,15 000020 6-54 equ sc_meters.n_lost_records,16 6-55 6-56 " 6-57 " Structure sc_process_table 6-58 " 6-59 " equ sc_process_table.max_n_processes,0 000001 6-60 equ sc_process_table.n_processes,1 000002 6-61 equ sc_process_table.process,2 " LEVEL 2 6-62 000002 6-63 equ sc_process_table.processid,2 000003 6-64 equ sc_process_table.pvtep,3 000004 6-65 equ sc_process_table.blockp,4 6-66 " equ sc_process_table.first_block_page,5 000006 6-67 equ sc_process_table.n_block_pages,6 6-68 6-69 " 6-70 " Structure scavenger_block 6-71 " 000000 6-72 equ scavenger_block.n_records,0 000001 6-73 equ scavenger_block.n_ovfl,1 000002 6-74 equ scavenger_block.ovfl_free_ix,2 000003 6-75 equ scavenger_block.records,3 " LEVEL 2 6-76 000000 6-77 equ scavenger_block.overflow,0 " LEVEL 2 6-78 6-79 6-80 " 6-81 " Structure record_block 6-82 " 000025 6-83 equ record_block.vtocx_shift,21 077777 6-84 bool record_block.vtocx_mask,077777 000015 6-85 equ record_block.pageno_shift,13 000377 6-86 bool record_block.pageno_mask,000377 000013 6-87 equ record_block.state_shift,11 000003 6-88 bool record_block.state_mask,000003 002000 6-89 bool record_block.lock,002000 " DL 000000 6-90 equ record_block.ovflx_shift,0 001777 6-91 bool record_block.ovflx_mask,001777 6-92 6-93 " 6-94 " Structure scavenger_data_pages 6-95 " 000001 000000 6-96 equ scavenger_data_pages_size,262144 6-97 6-98 000000 6-99 equ scavenger_data_pages.page,0 " LEVEL 2 6-100 000000 6-101 equ scavenger_data_pages.word,0 6-102 6-103 " 6-104 " Structure scavenger_options 6-105 " 400000 6-106 bool scavenger_options.print_meters,400000 " DU 200000 6-107 bool scavenger_options.debug,200000 " DU 100000 6-108 bool scavenger_options.dump,100000 " DU 040000 6-109 bool scavenger_options.trap,040000 " DU 020000 6-110 bool scavenger_options.no_optimize,020000 " DU 6-111 " bool scavenger_options.fault_under_ast,010000 " DU 6-112 " bool scavenger_options.fault_under_volmap,004000 " DU 6-113 " bool scavenger_options.fault_under_pt,002000 " DU 6-114 000000 6-115 equ STATE_UNSEEN,0 " MANIFEST 000001 6-116 equ STATE_FREE,1 " MANIFEST 000002 6-117 equ STATE_IN_USE,2 " MANIFEST 000003 6-118 equ STATE_CONFLICT,3 " MANIFEST 6-119 6-120 "END INCLUDE FILE scavenger_data.incl.alm 59 " 60 include stack_frame 7-1 " 7-2 " BEGIN INCLUDE FILE ... stack_frame.incl.alm 6/72 RBS 7-3 " 7-4 " Modified: 16 Dec 1977, D. Levin - to add fio_ps_ptr 7-5 " Modified: 3 Feb 1978, P. Krupp - to add run_unit_manager_bit & main_proc_bit 7-6 " Modified: 21 March 1978, D. Levin - change fio_ps_ptr to support_ptr 7-7 " 000020 7-8 equ stack_frame.prev_sp,16 000020 7-9 equ stack_frame.condition_word,16 000022 7-10 equ stack_frame.next_sp,18 000022 7-11 equ stack_frame.signaller_word,18 000024 7-12 equ stack_frame.return_ptr,20 000026 7-13 equ stack_frame.entry_ptr,22 000030 7-14 equ stack_frame.operator_ptr,24 000030 7-15 equ stack_frame.lp_ptr,24 000032 7-16 equ stack_frame.arg_ptr,26 000034 7-17 equ stack_frame.static_ptr,28 000035 7-18 equ stack_frame.support_ptr,29 " only used by fortran I/O 000036 7-19 equ stack_frame.on_unit_rel_ptrs,30 000037 7-20 equ stack_frame.operator_ret_ptr,31 000037 7-21 equ stack_frame.translator_id,31 000040 7-22 equ stack_frame.regs,32 000060 7-23 equ stack_frame.min_length,48 000020 7-24 equ stack_frame.flag_word,16 020000 7-25 bool stack_frame.main_proc_bit,020000 (DL) 010000 7-26 bool stack_frame.run_unit_manager,010000 (DL) 004000 7-27 bool stack_frame.signal_bit,004000 (DL) 002000 7-28 bool stack_frame.crawl_out_bit,002000 (DL) 001000 7-29 bool stack_frame.signaller_bit,001000 (DL) 000400 7-30 bool stack_frame.link_trap_bit,000400 (DL) 000200 7-31 bool stack_frame.support_bit,000200 (DL) 000100 7-32 bool stack_frame.condition_bit,000100 (DL) 7-33 7-34 " 7-35 " END INCLUDE FILE ... stack_frame.incl.alm 7-36 " 61 " 62 include stock_seg 8-1 8-2 8-3 "BEGIN INCLUDE FILE stock_seg.incl.alm 8-4 8-5 8-6 "Created 08/09/82 2006.2 edt Mon by convert_include_file, 8-7 " Version of 12/01/81 1640.3 edt Tue. 8-8 8-9 "Made from >udd>Multics>Bongiovanni>hardcore_test_dir>scavenger_dir>stock_seg.incl.pl1, 8-10 " modified 08/09/82 2006.2 edt Mon 8-11 8-12 " 8-13 " Structure stock_seg 8-14 " 000100 8-15 equ stock_seg_size,64 8-16 8-17 000000 8-18 equ stock_seg.meters,0 " LEVEL 2 8-19 000066 8-20 equ stock_seg.record_stock_entries,54 000067 8-21 equ stock_seg.vtoce_stock_entries,55 000070 8-22 equ stock_seg.record_stock_size,56 000071 8-23 equ stock_seg.vtoce_stock_size,57 000072 8-24 equ stock_seg.n_stock_entries,58 000074 8-25 equ stock_seg.record_stock_arrayp,60 000076 8-26 equ stock_seg.vtoce_stock_arrayp,62 8-27 8-28 " 8-29 " Structure record_stock 8-30 " 000000 8-31 equ record_stock.pvtep,0 8-32 000001 8-33 equ record_stock.n_in_stock,1 " UPPER 000001 8-34 equ record_stock.n_volmap_pages,1 " LOWER 8-35 000002 8-36 equ record_stock.n_free_in_stock,2 " UPPER 000002 8-37 equ record_stock.n_os_in_stock,2 " LOWER 8-38 000003 8-39 equ record_stock.low_threshold,3 " UPPER 000003 8-40 equ record_stock.high_threshold,3 " LOWER 8-41 000004 8-42 equ record_stock.target,4 " UPPER 000004 8-43 equ record_stock.stock_offset,4 " LOWER 8-44 000005 8-45 equ record_stock.n_words_in_stock,5 " UPPER 000005 8-46 equ record_stock.search_index,5 " LOWER 8-47 000006 8-48 equ record_stock.old_volmap_page,6 " LEVEL 2 8-49 000006 8-50 equ record_stock.last,6 " UPPER 8-51 000011 8-52 equ record_stock.volmap_page,9 " LEVEL 2 8-53 000011 8-54 equ record_stock.n_free,9 " UPPER 000011 8-55 equ record_stock.baseadd,9 " LOWER 8-56 000000 8-57 equ record_stock.stock,0 " UPPER 8-58 8-59 " 8-60 " Structure vtoce_stock 8-61 " 8-62 000000 8-63 equ vtoce_stock.pvtep,0 8-64 000001 8-65 equ vtoce_stock.n_in_stock,1 " UPPER 000001 8-66 equ vtoce_stock.n_free_in_stock,1 " LOWER 8-67 000002 8-68 equ vtoce_stock.target,2 " UPPER 000002 8-69 equ vtoce_stock.search_index,2 " LOWER 8-70 000003 8-71 equ vtoce_stock.stock,3 " UPPER 8-72 8-73 " 8-74 " Structure rsmeters 8-75 " 000066 8-76 equ rsmeters_size,54 8-77 8-78 000000 8-79 equ rsmeters.async_read_calls,0 000001 8-80 equ rsmeters.async_page_reads,1 000002 8-81 equ rsmeters.async_post_io_calls,2 000003 8-82 equ rsmeters.deposit_calls,3 000004 8-83 equ rsmeters.async_post_io_time,4 " DOUBLE 000006 8-84 equ rsmeters.deposit_time,6 " DOUBLE 000010 8-85 equ rsmeters.low_thresh_detected,8 000011 8-86 equ rsmeters.high_thresh_detected,9 000012 8-87 equ rsmeters.low_thresh_fails,10 000013 8-88 equ rsmeters.withdraw_stock_steps,11 000014 8-89 equ rsmeters.withdraw_stock_losses,12 000015 8-90 equ rsmeters.n_withdraw_attempt,13 000016 8-91 equ rsmeters.n_withdraw_range,14 000017 8-92 equ rsmeters.n_pages_withdraw_stock,15 000020 8-93 equ rsmeters.n_pages_withdraw_async,16 000021 8-94 equ rsmeters.n_v_withdraw_attempts,17 000022 8-95 equ rsmeters.withdraw_volmap_steps,18 000023 8-96 equ rsmeters.deposit_stock_steps,19 000024 8-97 equ rsmeters.deposit_stock_losses,20 000025 8-98 equ rsmeters.n_deposit_attempt,21 000026 8-99 equ rsmeters.n_pages_deposit_stock,22 000027 8-100 equ rsmeters.n_pages_deposit_volmap,23 000030 8-101 equ rsmeters.n_v_deposit_attempts,24 000031 8-102 equ rsmeters.reset_os_calls,25 000032 8-103 equ rsmeters.reset_os_losses,26 000033 8-104 equ rsmeters.withdraw_calls,27 000034 8-105 equ rsmeters.withdraw_time,28 " DOUBLE 000036 8-106 equ rsmeters.pc_deposit_time,30 " DOUBLE 000040 8-107 equ rsmeters.pc_deposit_calls,32 000041 8-108 equ rsmeters.pc_deposit_pages,33 000042 8-109 equ rsmeters.get_free_vtoce_calls,34 000043 8-110 equ rsmeters.return_free_vtoce_call,35 000044 8-111 equ rsmeters.deposit_vstock_calls,36 000045 8-112 equ rsmeters.deposit_vstock_fails,37 000046 8-113 equ rsmeters.withdraw_vstock_calls,38 000047 8-114 equ rsmeters.withdraw_vstock_fails,39 000050 8-115 equ rsmeters.deposit_vtoc_map,40 000051 8-116 equ rsmeters.withdraw_check_scav,41 000052 8-117 equ rsmeters.withdraw_conflict,42 8-118 000003 8-119 equ N_OLD_VOLMAP_PAGES,3 " MANIFEST 000150 8-120 equ DEFAULT_N_IN_RECORD_STOCK,104 " MANIFEST 000012 8-121 equ DEFAULT_N_IN_VTOCE_STOCK,10 " MANIFEST 8-122 8-123 "END INCLUDE FILE stock_seg.incl.alm 63 " 64 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 65 " 66 " withdraw 67 " 68 " tsx7 free_store$withdraw 69 " 70 " 71 " 72 " 73 " On entry, 74 " PVTE index in pvtx 75 " 76 " On exit, 77 " if must wait, event in APTE 78 " if address allocated, in devadd 79 " 80 " Must be called with PTL held 81 " 82 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 83 000003 84 withdraw: 000003 4a 4 00014 7061 20 85 tsx6 page_fault$savex " Recursive use of x7 000004 0a 000257 7060 00 86 tsx6 setup " Save/establish registers 000005 aa 2 00004 2351 00 87 lda bp|pvte.pc_vacating_word 000006 aa 000040 3150 07 88 cana pvte.pc_vacating,dl 000007 0a 000063 6010 00 89 tnz withdraw_oopv 90 000010 91 withdraw_retry: 000010 4a 4 00016 7071 20 92 tsx7 stock$withdraw " Attempt to withdraw from stock 000011 0a 000041 7100 00 93 tra withdraw_out_of_stock " Failed 000012 aa 000022 7350 00 94 als 18 " Succeed - address in AU 000013 aa 200000 2750 07 95 ora add_type.disk,dl 000014 aa 6 00200 7551 00 96 sta devadd 000015 0a 000303 7060 00 97 tsx6 check_address_range " Make sure it's in the paging region 98 000016 aa 6 00200 2351 00 99 lda devadd 000017 0a 000314 7060 00 100 tsx6 withdraw_scav_check " Check for conflict with online scavenge in progress 000020 0a 000010 7100 00 101 tra withdraw_retry " Conflict - grab another 102 " No conflict 103 000021 4a 4 00020 7071 20 104 tsx7 lock_volmap$lock_wired_nowait " Lock volmap to check for threshold 000022 0a 000415 7100 00 105 tra unsavex_2 " Couldn't get it - no problem 106 000023 4a 4 00022 7071 20 107 tsx7 stock$check_low_threshold " Check stock to be replenished 000024 0a 000037 7100 00 108 tra withdraw_unlocks " Doesn't need to be or can't 000025 aa 6 00221 7551 00 109 sta free_store_temp " Volmap page number 110 000026 4a 4 00024 7071 20 111 tsx7 volmap_page$start_async_read " Read in volmap page 000027 0a 000031 7100 00 112 tra withdraw_in_mem " Already in memory 000030 0a 000037 7100 00 113 tra withdraw_unlocks " Not in memory 114 000031 115 withdraw_in_mem: 000031 aa 6 00221 2351 00 116 lda free_store_temp " Volmap page number 000032 4a 4 00026 7071 20 117 tsx7 volmap$withdraw_from_volmap " Volmap to stock 118 000033 aa 6 00221 2351 00 119 lda free_store_temp " Volmap page number 000034 4a 4 00030 7071 20 120 tsx7 volmap_page$start_async_write " Write it back 000035 0a 000037 7100 00 121 tra withdraw_unlocks " Unlock and return 000036 4a 4 00032 7101 20 122 tra page_error$volmap_async_error " Not in memory 123 000037 124 withdraw_unlocks: 000037 4a 4 00034 7071 20 125 tsx7 lock_volmap$unlock_wired 000040 0a 000415 7100 00 126 tra unsavex_2 " Return with devadd 127 128 " 000041 129 withdraw_out_of_stock: 000041 4a 4 00036 7071 20 130 tsx7 lock_volmap$lock_wired_wait " Try for lock, state idle 000042 0a 000413 7100 00 131 tra unsavex_1 " Failed - wait for it 132 000043 4a 4 00022 7071 20 133 tsx7 stock$check_low_threshold " Find volmap page for withdrawal 000044 0a 000057 7100 00 134 tra withdraw_unlocks_oopv " None left 000045 aa 6 00221 7551 00 135 sta free_store_temp " Volmap page number 136 000046 4a 4 00024 7071 20 137 tsx7 volmap_page$start_async_read " Read in page 000047 0a 000051 7100 00 138 tra withdraw_os_in_mem " Already in memory 000050 0a 000064 7100 00 139 tra withdraw_unlocks_waits " Not yet - wait for it 140 000051 141 withdraw_os_in_mem: 000051 aa 6 00221 2351 00 142 lda free_store_temp " Volmap page 000052 4a 4 00026 7071 20 143 tsx7 volmap$withdraw_from_volmap " Volmap to stock 144 000053 aa 6 00221 2351 00 145 lda free_store_temp " Volmap page 000054 4a 4 00030 7071 20 146 tsx7 volmap_page$start_async_write " Write it back 000055 0a 000064 7100 00 147 tra withdraw_unlocks_waits " Can't go until it's done 000056 4a 4 00032 7101 20 148 tra page_error$volmap_async_error " Not in memory 149 000057 150 withdraw_unlocks_oopv: 000057 4a 4 00034 7071 20 151 tsx7 lock_volmap$unlock_wired 000060 aa 2 00004 2351 00 152 lda bp|pvte.used_word " Check for out of HC PART 000061 aa 400000 3150 07 153 cana pvte.used,dl 000062 4a 4 00040 6001 20 154 tze page_error$out_of_hc_part " Indeed 000063 155 withdraw_oopv: 000063 0a 000411 7100 00 156 tra unsavex " Normal OOPV 157 000064 158 withdraw_unlocks_waits: 000064 4a 4 00034 7071 20 159 tsx7 lock_volmap$unlock_wired 000065 160 withdraw_unlocks_retry: 000065 aa 2 00004 2361 00 161 ldq bp|pvte.volmap_idle_notify_word 000066 aa 2 00004 2351 00 162 lda bp|pvte.volmap_idle_notify_word 000067 aa 000002 2750 07 163 ora pvte.volmap_idle_notify,dl 000070 aa 2 00004 6541 00 164 stacq bp|pvte.volmap_idle_notify_word 000071 0a 000065 6010 00 165 tnz withdraw_unlocks_retry 166 000072 aa 2 00000 6351 00 167 eaa bp|0 " PVTE offset 000073 aa 000022 7710 00 168 arl 18 000074 4a 4 00042 2751 20 169 ora pvt$volmap_idle_wait_constant " Wait event 000075 4a 4 00044 3501 20 170 eppap pds$apt_ptr,* " Stash in APTE ourselves, to 000076 aa 0 00020 7551 00 171 sta ap|apte.wait_event " avoid race 000077 0a 000413 7100 00 172 tra unsavex_1 173 174 " 175 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 176 " 177 " withdraw_list_ext 178 " 179 " call page$withdraw_list (pvtx, arrayp, offset, count, event, code); 180 " 181 " Where 182 " pvtx = index of PVTE 183 " arrayp = ptr to array of addresses (lbound = 0) 184 " offset = (input) first address of array to use 185 " (output) next address of array to use 186 " count = (input) number of pages to withdraw 187 " = (output) number of pages still to be withdrawn 188 " event = non-zero => wait event 189 " code = non-zero if allocation cannot be performed 190 " 191 " Must be called with PTL held 192 " This entry is designed to be called repeatedly until count = 0. 193 " If an out-of-volume condition arises, the caller should deposit 194 " all addresses after releasing the PTL. 195 " 196 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 197 000100 198 withdraw_list_ext: 000100 aa 000300 6270 00 199 push 000101 aa 7 00040 2721 20 000102 4a 4 00046 7061 20 200 tsx6 page_fault$init_savex " Recursive use of x7 000103 aa 0 00012 4501 20 201 stz ap|10,* " event = ""b 000104 aa 0 00014 4501 20 202 stz ap|12,* " code = 0 000105 aa 0 00002 2351 20 203 lda ap|2,* " PVTE index 000106 aa 6 00172 7551 00 204 sta pvtx 000107 aa 0 00010 2351 20 205 lda ap|8,* " count 000110 0a 000126 6044 00 206 tmoz withdraw_list_end " silly person 207 000111 208 withdraw_list_loop: 000111 0a 000003 7070 00 209 tsx7 withdraw " withdraw calls setup! 000112 0a 000135 7100 00 210 tra withdraw_list_oopv " foo 000113 0a 000130 7100 00 211 tra withdraw_list_waits 000114 aa 6 00032 3501 20 212 eppap sp|stack_frame.arg_ptr,* " restore ap 000115 aa 0 00004 3715 20 213 epplb ap|4,* " pointer to arrayp 000116 aa 5 00000 3715 20 214 epplb lb|0,* " arrayp 000117 aa 0 00006 2351 20 215 lda ap|6,* " array offset 000120 aa 6 00200 2361 00 216 ldq devadd " this evening's guest star 000121 aa 5 00000 7561 05 217 stq lb|0,al " put it away 000122 aa 0 00006 0541 20 218 aos ap|6,* " bump array offset 000123 aa 000001 3350 07 219 lca 1,dl " and lower count left 000124 aa 0 00010 0551 20 220 asa ap|8,* 000125 0a 000111 6054 00 221 tpnz withdraw_list_loop " still more 222 000126 223 withdraw_list_end: 000126 0a 000423 7060 00 224 tsx6 meter 000127 aa 7 00042 7101 20 225 return 226 000130 227 withdraw_list_waits: 000130 aa 6 00032 3501 20 228 eppap sp|stack_frame.arg_ptr,* " restore ap 000131 4a 4 00044 3715 20 229 epplb pds$apt_ptr,* " return wait event 000132 aa 5 00020 2351 00 230 lda lb|apte.wait_event 000133 aa 0 00012 7551 20 231 sta ap|10,* 000134 0a 000126 7100 00 232 tra withdraw_list_end 233 000135 234 withdraw_list_oopv: 000135 aa 6 00032 3501 20 235 eppap sp|stack_frame.arg_ptr,* " restore ap 000136 4a 4 00050 2351 20 236 lda error_table_$log_vol_full " close enough 000137 aa 0 00014 7551 20 237 sta ap|12,* " gimme a break 000140 0a 000126 7100 00 238 tra withdraw_list_end 239 240 " 241 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 242 " 243 " deposit 244 " 245 " call page$deposit (pvtx, devadd, vtocx, pageno) 246 " 247 " Where 248 " pvtx = index of PVTE 249 " devadd = address to deposit 250 " vtocx = index of VTOCE (-1 if unknown) 251 " pageno = page number within segment 252 " 253 " NOTE: vtocx and pageno are used only by the scavenger 254 " 255 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 256 000141 257 deposit: 000141 aa 000300 6270 00 258 push 000142 aa 7 00040 2721 20 000143 4a 4 00046 7061 20 259 tsx6 page_fault$init_savex " Recursive use of x7 000144 aa 0 00002 2351 20 260 lda ap|2,* " PVTE index 000145 aa 6 00172 7551 00 261 sta pvtx 000146 0a 000257 7060 00 262 tsx6 setup " Establish registers 263 000147 aa 2 00004 2351 00 264 lda bp|pvte.deposit_to_volmap_word " Slow deposit? 000150 aa 000200 3150 07 265 cana pvte.deposit_to_volmap,dl 000151 0a 000161 6010 00 266 tnz call_pl1_deposit " Yes 267 000152 0a 000403 7060 00 268 tsx6 deposit_check_scav " This volume being scavenged 000153 0a 000161 7100 00 269 tra call_pl1_deposit " Yes 270 000154 aa 0 00004 2351 20 271 lda ap|4,* " Record address 000155 0a 000246 7070 00 272 tsx7 deposit_try " Attempt deposit to stock 000156 0a 000161 7100 00 273 tra call_pl1_deposit " Too much for me 274 000157 0a 000425 7060 00 275 tsx6 meter_deposit 000160 aa 7 00042 7101 20 276 return 277 000161 278 call_pl1_deposit: 000161 aa 6 00000 2541 00 279 call pc_deposit$pc_deposit(ap|0) 000162 aa 0 00000 3501 00 000163 4a 4 00010 3521 20 000164 aa 6 00040 7531 00 000165 aa 7 00036 6701 20 000166 aa 6 00000 1731 00 000167 aa 6 00040 0731 00 000170 0a 000425 7060 00 280 tsx6 meter_deposit 000171 aa 7 00042 7101 20 281 return 282 283 " 284 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 285 " 286 " deposit_list 287 " 288 " call page$deposit_list (pvtx, arrayp, first, last, vtocx, pagenop) 289 " 290 " Where 291 " pvtx = index of PVTE 292 " arrayp = ptr to array of addresses (lbound = 1) 293 " first = first array element to be deposited 294 " last = last array element to be deposited 295 " vtocx = VTOCE index (-1 if unknown) 296 " pagenop = ptr to array of page numbers within segment (lbound=1), 297 " or null 298 " 299 " NOTE: vtocx and pagenop are used only by the scavenger 300 " 301 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 302 000172 303 deposit_list: 000172 aa 000300 6270 00 304 push 000173 aa 7 00040 2721 20 000174 4a 4 00046 7061 20 305 tsx6 page_fault$init_savex " Recursive use of x7 000175 aa 0 00002 2351 20 306 lda ap|2,* " Index of PVTE 000176 aa 6 00172 7551 00 307 sta pvtx 000177 0a 000257 7060 00 308 tsx6 setup " Establish registers 309 000200 aa 6 00160 2501 00 310 spriap free_store_temp_1 " Save argument pointer 000201 aa 0 00006 2361 20 311 ldq ap|6,* " First element 000202 aa 6 00221 7561 00 312 stq free_store_temp " Save 313 000203 aa 2 00004 2351 00 314 lda bp|pvte.deposit_to_volmap_word " Slow deposit? 000204 aa 000200 3150 07 315 cana pvte.deposit_to_volmap,dl 000205 0a 000223 6010 00 316 tnz call_pl1_deposit_list " Yes 317 000206 0a 000403 7060 00 318 tsx6 deposit_check_scav " Is this volume being scavenged 000207 0a 000223 7100 00 319 tra call_pl1_deposit_list " Yes 320 000210 321 deposit_list_loop: 000210 aa 6 00160 3501 20 322 eppap free_store_temp_1,* " Restore argument pointer 000211 aa 6 00221 2361 00 323 ldq free_store_temp " Next element 000212 aa 0 00010 1161 20 324 cmpq ap|8,* " Done last 000213 0a 000244 6054 00 325 tpnz deposit_list_returns " Yes 000214 aa 0 00004 3501 20 326 eppap ap|4,* " ap -> ptr -> array (1) 000215 aa 0 00000 3501 20 327 eppap ap|0,* " ap -> array (1) 000216 aa 0 77777 2351 06 328 lda ap|-1,ql " Next address 000217 0a 000246 7070 00 329 tsx7 deposit_try " Attempt to deposit to stock 000220 0a 000223 7100 00 330 tra call_pl1_deposit_list " Call the big guy 000221 aa 6 00221 0541 00 331 aos free_store_temp " Bump to next array element 000222 0a 000210 7100 00 332 tra deposit_list_loop 333 000223 334 call_pl1_deposit_list: 000223 aa 6 00160 3501 20 335 eppap free_store_temp_1,* " Restore argument pointer 000224 aa 0 00000 2201 00 336 ldx0 ap|0 " x0 = 2 * (# args) 000225 aa 000014 1000 03 337 cmpx0 2*deposit_list_no_args,du " The right number? 000226 4a 4 00052 6011 20 338 tnz page_error$invalid_deposit_list_args " No 000227 aa 0 00100 1005 00 339 mlr (pr),(pr) " Copy arg list 000230 aa 000000 000070 340 desc9a ap|0,deposit_list_argl_chars 000231 aa 600106 000070 341 desc9a arg,deposit_list_argl_chars 000232 aa 6 00221 3501 00 342 eppap free_store_temp " And change first 000233 aa 6 00114 2501 00 343 spriap arg+6 000234 aa 6 00107 4501 00 344 stz arg+1 " No descriptors 000235 aa 6 00000 2541 00 345 call pc_deposit$deposit_list(arg) 000236 aa 6 00106 3501 00 000237 4a 4 00012 3521 20 000240 aa 6 00040 7531 00 000241 aa 7 00036 6701 20 000242 aa 6 00000 1731 00 000243 aa 6 00040 0731 00 346 000244 347 deposit_list_returns: 000244 0a 000425 7060 00 348 tsx6 meter_deposit 349 000245 aa 7 00042 7101 20 350 return 351 352 " 353 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 354 " 355 " deposit_try - internal procedure to attempt a deposit to the 356 " stock 357 " 358 " tsx7 deposit_try 359 " 360 " 361 " 362 " On entry, 363 " bp -> PVTE 364 " bb -> record stock 365 " ab -> stock_seg$meters 366 " Areg = disk address 367 " 368 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 369 000246 370 deposit_try: 000246 4a 4 00014 7061 20 371 tsx6 page_fault$savex " Recursive use of x7 000247 0a 000002 3750 00 372 ana strip_null_addr " Make address live 000250 aa 200000 3150 07 373 cana add_type.disk,dl " Is it a disk address 000251 4a 4 00054 6001 20 374 tze page_error$deposit_invalid_addtype " No - bad news 375 000252 0a 000303 7060 00 376 tsx6 check_address_range " Make sure it's in the paging region 377 000253 aa 000022 7710 00 378 arl 18 " Address to AL 000254 4a 4 00056 7071 20 379 tsx7 stock$deposit " Attempt to deposit to stock 000255 4a 4 00060 7101 20 380 tra page_fault$unsavex " Failed 000256 4a 4 00062 7101 20 381 tra page_fault$unsavex_1 " Succeeded 382 383 384 " 385 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 386 " 387 " setup - internal procedure to save/establish registers 388 " 389 " tsx6 setup 390 " 391 " On entry, 392 " pvtx contains index of PVTE 393 " 394 " On return, 395 " bp -> pvte 396 " bb -> record stock 397 " ab -> stock_seg$meters 398 " 399 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 400 000257 401 setup: 000257 aa 6 00222 7421 00 402 stx2 savx2_3 "Save PC registers 000260 aa 6 00222 4431 00 403 sxl3 savx2_3 404 000261 405 inhibit on <+><+><+><+><+><+><+><+><+><+><+><+><+><+><+><+> 406 407 read_clock 000261 4a 4 00064 6333 20 rccl sys_info$clock_,* " ifend " rccl 0 " ifend 000262 4a 4 00066 1773 20 408 sbaq pds$cpu_time " AQ = Total CPU Time 000263 4a 4 00070 1773 20 409 sbaq pds$virtual_delta " AQ = Total VCPU Time 000264 aa 6 00226 7573 00 410 staq free_store_start_time " Save for metering 411 000265 412 inhibit off <-><-><-><-><-><-><-><-><-><-><-><-><-><-><-><-> 413 000265 4a 4 00072 3521 20 414 eppbp pvt$array " PVTE array 000266 aa 000034 2360 07 415 ldq pvte_size,dl 000267 aa 6 00172 4021 00 416 mpy pvtx " Offset of one beyond 000270 aa 2 77744 3521 06 417 eppbp bp|-pvte_size,ql " bp -> PVTE 000271 aa 6 00160 2521 00 418 spribp free_store_temp_1 419 000272 aa 2 00030 7631 00 420 lprpbb bp|pvte.volmap_stock_ptr " bb -> record stock 000273 aa 3 00000 7611 00 421 lprpab bb|record_stock.pvtep " Check synchronization 000274 aa 1 00000 2131 00 422 epaq ab|0 " PVTE ptr 000275 aa 6 00160 6771 00 423 eraq free_store_temp_1 " Compare with other PVTE ptr 000276 0a 000000 3170 00 424 canaq segno_offset_mask " Interesting bits only 000277 4a 4 00074 6011 20 425 tnz page_error$stock_out_of_synch " Don't point to each other 426 000300 aa 3 00000 3511 00 427 epbpab bb|0 " ab -> base of stock_seg 000301 aa 1 00000 3515 00 428 eppab ab|stock_seg.meters " ab -> meters 000302 aa 000000 7100 16 429 tra 0,x6 430 431 " 432 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 433 " 434 " check_address_range - internal procedure to validate that an 435 " address is within the paging region of the device 436 " 437 " tsx6 check_address_range 438 " 439 " On entry, 440 " bp -> pvte 441 " AU contains non-null address (AL is not relevant) 442 " 443 " On return, 444 " Areg is not changed 445 " 446 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 447 000303 448 check_address_range: 449 000303 aa 6 00200 7551 00 450 sta devadd " For page_error 451 000304 aa 2 00020 2201 00 452 ldx0 bp|pvte.baseadd " Begin of paging region 000305 aa 6 00200 1001 00 453 cmpx0 devadd " Above beginning 000306 4a 4 00076 6055 20 454 tpnz page_error$address_out_of_range " No 000307 aa 2 00007 7201 00 455 lxl0 bp|pvte.totrec " Size of paging region 000310 aa 2 00020 0201 00 456 adlx0 bp|pvte.baseadd " Address 1 beyond end of region 000311 aa 6 00200 1001 00 457 cmpx0 devadd " Below end 000312 4a 4 00076 6045 20 458 tmoz page_error$address_out_of_range " No 459 000313 aa 000000 7100 16 460 tra 0,x6 " Address within paging region 461 462 " 463 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 464 " 465 " withdraw_scav_check - internal procedure to check for a conflict 466 " in the address just withdrawn with a scavenge in progress. 467 " A conflict exists if the address is marked as in-user or 468 " conflict. 469 " 470 " tsx6 withdraw_scav_check 471 " 472 " 473 " 474 " On entry, 475 " bp -> PVTE 476 " ab -> stock_seg$meters 477 " AU contains non-null address 478 " 479 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 480 000314 481 withdraw_scav_check: 000314 aa 2 00033 7201 00 482 lxl0 bp|pvte.scavenger_block_rel " Scavenge in progress 000315 aa 000001 6000 16 483 tze 1,x6 " No 000316 aa 2 00004 2361 00 484 ldq bp|pvte.scav_check_address_word 000317 aa 000400 3160 07 485 canq pvte.scav_check_address,dl " Does scavenger want us to check the address 000320 aa 000001 6000 16 486 tze 1,x6 " No 487 000321 aa 1 00051 0541 00 488 aos ab|rsmeters.withdraw_check_scav " Meter 000322 4a 4 00100 3501 20 489 eppap scavenger_data$+0,x0 " ap -> scavenger block 000323 aa 000000 6200 01 490 eax0 0,au " Record address 000324 aa 2 00020 1201 00 491 sblx0 bp|pvte.baseadd " Record address w/i paging region 000325 aa 0 00003 3501 10 492 eppap ap|scavenger_block.records,x0 " ap -> record block for this record address 493 000326 494 withdraw_scav_lock: " Lock record block 000326 aa 0 00000 2361 00 495 ldq ap|0 000327 aa 0 00000 2351 00 496 lda ap|0 000330 aa 002000 3160 07 497 canq record_block.lock,dl " Locked 000331 0a 000326 6010 00 498 tnz withdraw_scav_lock " Yes 000332 aa 002000 2750 07 499 ora record_block.lock,dl 000333 aa 0 00000 6541 00 500 stacq ap|0 " Try to lock 000334 0a 000326 6010 00 501 tnz withdraw_scav_lock " Failed 502 000335 aa 000013 7710 00 503 arl record_block.state_shift " Extract state of address 000336 aa 000003 3750 07 504 ana record_block.state_mask,dl 000337 0a 000340 7100 05 505 tra withdraw_check_state,al " And do state-ly things 506 000340 507 withdraw_check_state: 000340 0a 000344 7100 00 508 tra withdraw_unseen 000341 0a 000344 7100 00 509 tra withdraw_free 000342 0a 000364 7100 00 510 tra withdraw_in_use 000343 0a 000401 7100 00 511 tra withdraw_conflict 512 000344 513 withdraw_unseen: 000344 514 withdraw_free: " Mark in use to this vtocx, page number 000344 aa 6 00221 4501 00 515 stz free_store_temp 000345 aa 6 00234 2351 00 516 lda vtocx " Faulting VTOCE index 000346 aa 077777 3750 07 517 ana record_block.vtocx_mask,dl 000347 aa 000025 7350 00 518 als record_block.vtocx_shift 000350 aa 6 00221 2551 00 519 orsa free_store_temp 000351 aa 6 00235 2351 00 520 lda pageno " Faulting page number 000352 aa 000377 3750 07 521 ana record_block.pageno_mask,dl 000353 aa 000015 7350 00 522 als record_block.pageno_shift 000354 aa 6 00221 2551 00 523 orsa free_store_temp 000355 aa 000002 2350 07 524 lda STATE_IN_USE,dl 000356 aa 000013 7350 00 525 als record_block.state_shift 000357 aa 6 00221 2751 00 526 ora free_store_temp 527 000360 aa 0 00000 2361 00 528 ldq ap|0 000361 aa 0 00000 6541 00 529 stacq ap|0 " Unlock address 000362 4a 4 00102 6011 20 530 tnz page_error$scav_stacq_fails 000363 aa 000001 7100 16 531 tra 1,x6 532 000364 533 withdraw_in_use: 534 000364 aa 000003 2350 07 535 lda STATE_CONFLICT,dl " Change state to conflict 000365 aa 000003 2360 07 536 ldq record_block.state_mask,dl 000366 aa 000013 7350 00 537 als record_block.state_shift 000367 aa 000013 7360 00 538 qls record_block.state_shift 000370 aa 002000 2760 07 539 orq record_block.lock,dl 000371 0a 000444 6760 00 540 erq =-1 " Q has mask to reset state, lock 000372 aa 6 00221 7561 00 541 stq free_store_temp 000373 aa 0 00000 2361 00 542 ldq ap|0 " Pick up address block 000374 aa 6 00221 3561 00 543 ansq free_store_temp " Reset state, lock 000375 aa 6 00221 2751 00 544 ora free_store_temp " Address block with state, lock reset 000376 aa 0 00000 2361 00 545 ldq ap|0 000377 aa 0 00000 6541 00 546 stacq ap|0 " Unlock address block 000400 4a 4 00102 6011 20 547 tnz page_error$scav_stacq_fails 000401 548 withdraw_conflict: 000401 aa 1 00052 0541 00 549 aos ab|rsmeters.withdraw_conflict " Meter 000402 aa 000000 7100 16 550 tra 0,x6 551 " 552 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 553 " 554 " deposit_check_scav - Internal procedure to determine whether this 555 " volume is being scavenged and addresses being 556 " deposited need to be checked. 557 " 558 " tsx6 deposit_check_scav 559 " 560 " 561 " 562 " On entry, 563 " bp -> PVTE 564 " 565 " 566 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 567 000403 568 deposit_check_scav: 000403 aa 2 00033 7201 00 569 lxl0 bp|pvte.scavenger_block_rel " Scavenge going on? 000404 aa 000001 6000 16 570 tze 1,x6 " No 000405 aa 2 00004 2361 00 571 ldq bp|pvte.scav_check_address_word 000406 aa 000400 3160 07 572 canq pvte.scav_check_address,dl " Check addresses? 000407 aa 000001 6000 16 573 tze 1,x6 " No 000410 aa 000000 7100 16 574 tra 0,x6 " Yes 575 576 " 577 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 578 " 579 " Returns to page control, restoring registers 580 " 581 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 582 000411 583 unsavex: 000411 0a 000417 7060 00 584 tsx6 restore_regs 000412 4a 4 00060 7101 20 585 tra page_fault$unsavex 586 000413 587 unsavex_1: 000413 0a 000417 7060 00 588 tsx6 restore_regs 000414 4a 4 00062 7101 20 589 tra page_fault$unsavex_1 590 000415 591 unsavex_2: 000415 0a 000417 7060 00 592 tsx6 restore_regs 000416 4a 4 00104 7101 20 593 tra page_fault$unsavex_2 594 000417 595 restore_regs: 000417 aa 6 00222 2221 00 596 ldx2 savx2_3 000420 aa 6 00222 7231 00 597 lxl3 savx2_3 000421 4a 4 00106 3535 20 598 eppbb sst$ 000422 aa 3 00000 3521 12 599 eppbp bb|0,x2 600 601 " Fall through to meter 602 603 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 604 " 605 " meter CPU time 606 " 607 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 000423 608 meter: 000423 aa 000000 6200 00 609 eax0 0 " Withdraw 000424 0a 000426 7100 00 610 tra meter_common 611 000425 612 meter_deposit: 000425 aa 000001 6200 00 613 eax0 1 " Deposit 614 000426 615 inhibit on <+><+><+><+><+><+><+><+><+><+><+><+><+><+><+><+> 616 000426 617 meter_common: 618 read_clock 000426 4a 4 00064 6333 20 rccl sys_info$clock_,* " ifend " rccl 0 " ifend 000427 4a 4 00066 1773 20 619 sbaq pds$cpu_time " AQ = Total CPU time 000430 4a 4 00070 1773 20 620 sbaq pds$virtual_delta " AQ = Total VCPU time 000431 aa 6 00226 1773 00 621 sbaq free_store_start_time " AQ = VCPU in free_store 000432 aa 000000 6202 10 622 eax0 0,x0 " Withdraw 000433 0a 000440 6012 00 623 tnz meter_deposit_exit " No 000434 aa 1 00034 0773 00 624 adaq ab|rsmeters.withdraw_time 000435 aa 1 00034 7573 00 625 staq ab|rsmeters.withdraw_time 626 increment ab|rsmeters.withdraw_calls missing increment,ab|rsmeters.withdraw_calls 000436 aa 1 00033 0543 00 aos ab|rsmeters.withdraw_calls 000437 aa 000000 7102 16 627 tra 0,x6 628 000440 629 meter_deposit_exit: 000440 aa 1 00006 0773 00 630 adaq ab|rsmeters.deposit_time 000441 aa 1 00006 7573 00 631 staq ab|rsmeters.deposit_time 632 increment ab|rsmeters.deposit_calls missing increment,ab|rsmeters.deposit_calls 000442 aa 1 00003 0543 00 aos ab|rsmeters.deposit_calls 000443 aa 000000 7102 16 633 tra 0,x6 634 000444 635 inhibit off <-><-><-><-><-><-><-><-><-><-><-><-><-><-><-><-> 636 637 end LITERALS 000444 aa 777777 777777 NAME DEFINITIONS FOR ENTRY POINTS AND SEGDEFS 000445 5a 000003 000000 000446 5a 000052 600000 000447 aa 000000 000000 000450 55 000011 000002 000451 5a 000002 400003 000452 55 000006 000011 000453 aa 012 146 162 145 000454 aa 145 137 163 164 000455 aa 157 162 145 000 000456 55 000020 000003 000457 0a 000172 400000 000460 55 000014 000003 000461 aa 014 144 145 160 deposit_list 000462 aa 157 163 151 164 000463 aa 137 154 151 163 000464 aa 164 000 000 000 000465 55 000025 000011 000466 0a 000141 400000 000467 55 000023 000003 000470 aa 007 144 145 160 deposit 000471 aa 157 163 151 164 000472 55 000035 000020 000473 0a 000100 400000 000474 55 000030 000003 000475 aa 021 167 151 164 withdraw_list_ext 000476 aa 150 144 162 141 000477 aa 167 137 154 151 000500 aa 163 164 137 145 000501 aa 170 164 000 000 000502 55 000043 000025 000503 0a 000003 400000 000504 55 000040 000003 000505 aa 010 167 151 164 withdraw 000506 aa 150 144 162 141 000507 aa 167 000 000 000 000510 55 000002 000035 000511 6a 000000 400002 000512 55 000046 000003 000513 aa 014 163 171 155 symbol_table 000514 aa 142 157 154 137 000515 aa 164 141 142 154 000516 aa 145 000 000 000 DEFINITIONS HASH TABLE 000517 aa 000000 000015 000520 aa 000000 000000 000521 5a 000020 000000 000522 5a 000011 000000 000523 5a 000035 000000 000524 aa 000000 000000 000525 aa 000000 000000 000526 5a 000043 000000 000527 aa 000000 000000 000530 5a 000025 000000 000531 aa 000000 000000 000532 aa 000000 000000 000533 aa 000000 000000 000534 aa 000000 000000 EXTERNAL NAMES 000535 aa 003 163 163 164 sst 000536 aa 011 165 156 163 unsavex_2 000537 aa 141 166 145 170 000540 aa 137 062 000 000 000541 aa 020 163 143 141 scav_stacq_fails 000542 aa 166 137 163 164 000543 aa 141 143 161 137 000544 aa 146 141 151 154 000545 aa 163 000 000 000 000546 aa 016 163 143 141 scavenger_data 000547 aa 166 145 156 147 000550 aa 145 162 137 144 000551 aa 141 164 141 000 000552 aa 024 141 144 144 address_out_of_range 000553 aa 162 145 163 163 000554 aa 137 157 165 164 000555 aa 137 157 146 137 000556 aa 162 141 156 147 000557 aa 145 000 000 000 000560 aa 022 163 164 157 stock_out_of_synch 000561 aa 143 153 137 157 000562 aa 165 164 137 157 000563 aa 146 137 163 171 000564 aa 156 143 150 000 000565 aa 005 141 162 162 array 000566 aa 141 171 000 000 000567 aa 015 166 151 162 virtual_delta 000570 aa 164 165 141 154 000571 aa 137 144 145 154 000572 aa 164 141 000 000 000573 aa 010 143 160 165 cpu_time 000574 aa 137 164 151 155 000575 aa 145 000 000 000 000576 aa 006 143 154 157 clock_ 000577 aa 143 153 137 000 000600 aa 010 163 171 163 sys_info 000601 aa 137 151 156 146 000602 aa 157 000 000 000 000603 aa 011 165 156 163 unsavex_1 000604 aa 141 166 145 170 000605 aa 137 061 000 000 000606 aa 007 165 156 163 unsavex 000607 aa 141 166 145 170 000610 aa 027 144 145 160 deposit_invalid_addtype 000611 aa 157 163 151 164 000612 aa 137 151 156 166 000613 aa 141 154 151 144 000614 aa 137 141 144 144 000615 aa 164 171 160 145 000616 aa 031 151 156 166 invalid_deposit_list_args 000617 aa 141 154 151 144 000620 aa 137 144 145 160 000621 aa 157 163 151 164 000622 aa 137 154 151 163 000623 aa 164 137 141 162 000624 aa 147 163 000 000 000625 aa 014 154 157 147 log_vol_full 000626 aa 137 166 157 154 000627 aa 137 146 165 154 000630 aa 154 000 000 000 000631 aa 014 145 162 162 error_table_ 000632 aa 157 162 137 164 000633 aa 141 142 154 145 000634 aa 137 000 000 000 000635 aa 012 151 156 151 init_savex 000636 aa 164 137 163 141 000637 aa 166 145 170 000 000640 aa 007 141 160 164 apt_ptr 000641 aa 137 160 164 162 000642 aa 003 160 144 163 pds 000643 aa 031 166 157 154 volmap_idle_wait_constant 000644 aa 155 141 160 137 000645 aa 151 144 154 145 000646 aa 137 167 141 151 000647 aa 164 137 143 157 000650 aa 156 163 164 141 000651 aa 156 164 000 000 000652 aa 003 160 166 164 pvt 000653 aa 016 157 165 164 out_of_hc_part 000654 aa 137 157 146 137 000655 aa 150 143 137 160 000656 aa 141 162 164 000 000657 aa 017 154 157 143 lock_wired_wait 000660 aa 153 137 167 151 000661 aa 162 145 144 137 000662 aa 167 141 151 164 000663 aa 014 165 156 154 unlock_wired 000664 aa 157 143 153 137 000665 aa 167 151 162 145 000666 aa 144 000 000 000 000667 aa 022 166 157 154 volmap_async_error 000670 aa 155 141 160 137 000671 aa 141 163 171 156 000672 aa 143 137 145 162 000673 aa 162 157 162 000 000674 aa 012 160 141 147 page_error 000675 aa 145 137 145 162 000676 aa 162 157 162 000 000677 aa 021 163 164 141 start_async_write 000700 aa 162 164 137 141 000701 aa 163 171 156 143 000702 aa 137 167 162 151 000703 aa 164 145 000 000 000704 aa 024 167 151 164 withdraw_from_volmap 000705 aa 150 144 162 141 000706 aa 167 137 146 162 000707 aa 157 155 137 166 000710 aa 157 154 155 141 000711 aa 160 000 000 000 000712 aa 006 166 157 154 volmap 000713 aa 155 141 160 000 000714 aa 020 163 164 141 start_async_read 000715 aa 162 164 137 141 000716 aa 163 171 156 143 000717 aa 137 162 145 141 000720 aa 144 000 000 000 000721 aa 013 166 157 154 volmap_page 000722 aa 155 141 160 137 000723 aa 160 141 147 145 000724 aa 023 143 150 145 check_low_threshold 000725 aa 143 153 137 154 000726 aa 157 167 137 164 000727 aa 150 162 145 163 000730 aa 150 157 154 144 000731 aa 021 154 157 143 lock_wired_nowait 000732 aa 153 137 167 151 000733 aa 162 145 144 137 000734 aa 156 157 167 141 000735 aa 151 164 000 000 000736 aa 013 154 157 143 lock_volmap 000737 aa 153 137 166 157 000740 aa 154 155 141 160 000741 aa 005 163 164 157 stock 000742 aa 143 153 000 000 000743 aa 005 163 141 166 savex 000744 aa 145 170 000 000 000745 aa 012 160 141 147 page_fault 000746 aa 145 137 146 141 000747 aa 165 154 164 000 000750 aa 012 160 143 137 pc_deposit 000751 aa 144 145 160 157 000752 aa 163 151 164 000 NO TRAP POINTER WORDS TYPE PAIR BLOCKS 000753 aa 000003 000000 000754 5a 000070 000000 000755 aa 000004 000000 000756 55 000300 000071 000757 aa 000004 000000 000760 55 000227 000074 000761 aa 000003 000000 000762 5a 000101 000000 000763 aa 000004 000000 000764 55 000227 000105 000765 aa 000004 000000 000766 55 000227 000113 000767 aa 000004 000000 000770 55 000205 000120 000771 aa 000004 000000 000772 55 000175 000122 000773 aa 000004 000000 000774 55 000175 000126 000775 aa 000004 000000 000776 55 000133 000131 000777 aa 000004 000000 001000 55 000300 000136 001001 aa 000004 000000 001002 55 000300 000141 001003 aa 000004 000000 001004 55 000274 000023 001005 aa 000004 000000 001006 55 000227 000143 001007 aa 000004 000000 001010 55 000227 000151 001011 aa 000004 000000 001012 55 000164 000160 001013 aa 000004 000000 001014 55 000300 000170 001015 aa 000004 000000 001016 55 000175 000173 001017 aa 000004 000000 001020 55 000205 000176 001021 aa 000004 000000 001022 55 000227 000206 001023 aa 000004 000000 001024 55 000271 000212 001025 aa 000004 000000 001026 55 000271 000216 001027 aa 000004 000000 001030 55 000227 000222 001031 aa 000004 000000 001032 55 000254 000232 001033 aa 000004 000000 001034 55 000245 000237 001035 aa 000004 000000 001036 55 000254 000247 001037 aa 000004 000000 001040 55 000274 000257 001041 aa 000004 000000 001042 55 000271 000264 001043 aa 000004 000000 001044 55 000274 000040 001045 aa 000004 000000 001046 55 000300 000276 001047 aa 000004 000000 001050 55 000303 000014 001051 aa 000004 000000 001052 55 000303 000303 001053 aa 000001 000000 001054 aa 000000 000000 INTERNAL EXPRESSION WORDS 001055 5a 000306 000000 001056 5a 000310 000000 001057 5a 000312 000000 001060 5a 000314 000000 001061 5a 000316 000000 001062 5a 000320 000000 001063 5a 000322 000000 001064 5a 000324 000000 001065 5a 000326 000000 001066 5a 000330 000000 001067 5a 000332 000000 001070 5a 000334 000000 001071 5a 000336 000000 001072 5a 000340 000000 001073 5a 000342 000000 001074 5a 000344 000000 001075 5a 000346 000000 001076 5a 000350 000000 001077 5a 000352 000000 001100 5a 000354 000000 001101 5a 000356 000000 001102 5a 000360 000000 001103 5a 000362 000000 001104 5a 000364 000000 001105 5a 000366 000000 001106 5a 000370 000000 001107 5a 000372 000000 001110 5a 000374 000000 001111 5a 000376 000000 001112 5a 000400 000000 001113 5a 000402 000000 001114 5a 000404 000000 001115 aa 000000 000000 LINKAGE INFORMATION 000000 aa 000000 000000 000001 0a 000445 000000 000002 aa 000000 000000 000003 aa 000000 000000 000004 aa 000000 000000 000005 aa 000000 000000 000006 22 000010 000110 000007 a2 000000 000000 000010 9a 777770 0000 46 pc_deposit|pc_deposit 000011 5a 000447 0000 00 000012 9a 777766 0000 46 pc_deposit|deposit_list 000013 5a 000446 0000 00 000014 9a 777764 0000 46 page_fault|savex 000015 5a 000445 0000 00 000016 9a 777762 0000 46 stock|withdraw 000017 5a 000444 0000 00 000020 9a 777760 0000 46 lock_volmap|lock_wired_nowait 000021 5a 000443 0000 00 000022 9a 777756 0000 46 stock|check_low_threshold 000023 5a 000442 0000 00 000024 9a 777754 0000 46 volmap_page|start_async_read 000025 5a 000441 0000 00 000026 9a 777752 0000 46 volmap|withdraw_from_volmap 000027 5a 000440 0000 00 000030 9a 777750 0000 46 volmap_page|start_async_write 000031 5a 000437 0000 00 000032 9a 777746 0000 46 page_error|volmap_async_error 000033 5a 000436 0000 00 000034 9a 777744 0000 46 lock_volmap|unlock_wired 000035 5a 000435 0000 00 000036 9a 777742 0000 46 lock_volmap|lock_wired_wait 000037 5a 000434 0000 00 000040 9a 777740 0000 46 page_error|out_of_hc_part 000041 5a 000433 0000 00 000042 9a 777736 0000 46 pvt|volmap_idle_wait_constant 000043 5a 000432 0000 00 000044 9a 777734 0000 46 pds|apt_ptr 000045 5a 000431 0000 20 000046 9a 777732 0000 46 page_fault|init_savex 000047 5a 000430 0000 00 000050 9a 777730 0000 46 error_table_|log_vol_full 000051 5a 000427 0000 00 000052 9a 777726 0000 46 page_error|invalid_deposit_list_args 000053 5a 000426 0000 00 000054 9a 777724 0000 46 page_error|deposit_invalid_addtype 000055 5a 000425 0000 00 000056 9a 777722 0000 46 stock|deposit 000057 5a 000424 0000 00 000060 9a 777720 0000 46 page_fault|unsavex 000061 5a 000423 0000 00 000062 9a 777716 0000 46 page_fault|unsavex_1 000063 5a 000422 0000 00 000064 9a 777714 0000 46 sys_info|clock_ 000065 5a 000421 0000 20 000066 9a 777712 0000 46 pds|cpu_time 000067 5a 000420 0000 00 000070 9a 777710 0000 46 pds|virtual_delta 000071 5a 000417 0000 00 000072 9a 777706 0000 46 pvt|array 000073 5a 000416 0000 00 000074 9a 777704 0000 46 page_error|stock_out_of_synch 000075 5a 000415 0000 00 000076 9a 777702 0000 46 page_error|address_out_of_range 000077 5a 000414 0000 00 000100 9a 777700 0000 46 scavenger_data| 000101 5a 000413 0000 10 000102 9a 777676 0000 46 page_error|scav_stacq_fails 000103 5a 000412 0000 00 000104 9a 777674 0000 46 page_fault|unsavex_2 000105 5a 000411 0000 00 000106 9a 777672 0000 46 sst| 000107 5a 000410 0000 00 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 245131 120423 000010 aa 141154 155040 000011 aa 040040 040040 000012 aa 000024 000040 000013 aa 000034 000040 000014 aa 000044 000100 000015 aa 000002 000002 000016 aa 000064 000000 000017 aa 000000 000377 000020 aa 000000 000245 000021 aa 000322 000304 000022 aa 000363 000245 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 000011 000066 aa 000132 000041 000067 aa 175453 017634 000070 aa 000000 117547 000071 aa 176314 400000 000072 aa 000143 000036 000073 aa 043243 127123 000074 aa 000000 103437 000075 aa 275656 200000 000076 aa 000153 000032 000077 aa 147777 464062 000100 aa 000000 115000 000101 aa 507456 000000 000102 aa 000162 000037 000103 aa 112456 132235 000104 aa 000000 111250 000105 aa 530556 400000 000106 aa 000172 000032 000107 aa 164131 272662 000110 aa 000000 116416 000111 aa 727372 600000 000112 aa 000201 000045 000113 aa 133234 136230 000114 aa 000000 113324 000115 aa 322064 400000 000116 aa 000213 000044 000117 aa 124531 321224 000120 aa 000000 112453 000121 aa 201663 200000 000122 aa 000224 000041 000123 aa 052721 247134 000124 aa 000000 105272 000125 aa 317215 400000 000126 aa 000235 000037 000127 aa 113021 605126 000130 aa 000000 111303 000131 aa 067554 000000 000132 aa 076163 160145 >spec>install>1111>free_store.alm 000133 aa 143076 151156 000134 aa 163164 141154 000135 aa 154076 061061 000136 aa 061061 076146 000137 aa 162145 145137 000140 aa 163164 157162 000141 aa 145056 141154 000142 aa 155040 040040 000143 aa 076154 144144 >ldd>include>add_type.incl.alm 000144 aa 076151 156143 000145 aa 154165 144145 000146 aa 076141 144144 000147 aa 137164 171160 000150 aa 145056 151156 000151 aa 143154 056141 000152 aa 154155 040040 000153 aa 076154 144144 >ldd>include>apte.incl.alm 000154 aa 076151 156143 000155 aa 154165 144145 000156 aa 076141 160164 000157 aa 145056 151156 000160 aa 143154 056141 000161 aa 154155 040040 000162 aa 076154 144144 >ldd>include>page_info.incl.alm 000163 aa 076151 156143 000164 aa 154165 144145 000165 aa 076160 141147 000166 aa 145137 151156 000167 aa 146157 056151 000170 aa 156143 154056 000171 aa 141154 155040 000172 aa 076154 144144 >ldd>include>pvte.incl.alm 000173 aa 076151 156143 000174 aa 154165 144145 000175 aa 076160 166164 000176 aa 145056 151156 000177 aa 143154 056141 000200 aa 154155 040040 000201 aa 076154 144144 >ldd>include>pxss_page_stack.incl.alm 000202 aa 076151 156143 000203 aa 154165 144145 000204 aa 076160 170163 000205 aa 163137 160141 000206 aa 147145 137163 000207 aa 164141 143153 000210 aa 056151 156143 000211 aa 154056 141154 000212 aa 155040 040040 000213 aa 076154 144144 >ldd>include>scavenger_data.incl.alm 000214 aa 076151 156143 000215 aa 154165 144145 000216 aa 076163 143141 000217 aa 166145 156147 000220 aa 145162 137144 000221 aa 141164 141056 000222 aa 151156 143154 000223 aa 056141 154155 000224 aa 076154 144144 >ldd>include>stack_frame.incl.alm 000225 aa 076151 156143 000226 aa 154165 144145 000227 aa 076163 164141 000230 aa 143153 137146 000231 aa 162141 155145 000232 aa 056151 156143 000233 aa 154056 141154 000234 aa 155040 040040 000235 aa 076154 144144 >ldd>include>stock_seg.incl.alm 000236 aa 076151 156143 000237 aa 154165 144145 000240 aa 076163 164157 000241 aa 143153 137163 000242 aa 145147 056151 000243 aa 156143 154056 000244 aa 141154 155040 MULTICS ASSEMBLY CROSS REFERENCE LISTING Value Symbol Source file Line number 7 abs_wire_entry page_info: 36. 740000 address_mask page_info: 9. address_out_of_range free_store: 454, 458. 400000 add_type.core add_type: 8. 200000 add_type.disk free_store: 95, 373, add_type: 9. 740000 add_type.non_null add_type: 13. 100000 add_type.pd add_type: 10. 40000 add_type.reserved add_type: 11. 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 free_store: 171, 230, apte: 66. 200000 apte.wakeup_waiting apte: 18. 21 apte.wct_index apte: 68. 32 apte.ws_size apte: 86. 150 apt_ptr free_store: 170, 229, pxss_page_stack: 13. 106 arg free_store: 341, 343, 344, 345, pxss_page_stack: 11. array free_store: 414. 3 ast page_info: 20. 777000 aste.csl_mask_inner page_info: 26. 777000 aste.records_mask_inner page_info: 27. 204 before pxss_page_stack: 17. 161 call_pl1_deposit free_store: 266, 269, 273, 278. 223 call_pl1_deposit_list free_store: 316, 319, 330, 334. 303 check_address_range free_store: 97, 376, 448. check_low_threshold free_store: 107, 133. 10 cleanup_entry page_info: 37. clock_ free_store: 407, 618. 164 cmep pxss_page_stack: 15. 12 cmep_to_coreadd.rl page_info: 75. 2 cmep_to_ptw.ls page_info: 57. 2 cmep_to_sdw.ls page_info: 57. 777777 coreadd_mask page_info: 57. 12 coreadd_to_cmep.ls page_info: 76. 14 coreadd_to_ptw.ls page_info: 57. 14 coreadd_to_sdw.ls page_info: 57. 173 core_add pxss_page_stack: 16. 174 count pxss_page_stack: 16. cpu_time free_store: 408, 619. 150 DEFAULT_N_IN_RECORD_STOCK stock_seg: 120. 12 DEFAULT_N_IN_VTOCE_STOCK stock_seg: 121. 154 delta_t pxss_page_stack: 13. 141 deposit free_store: 36, 257, 379. 403 deposit_check_scav free_store: 268, 318, 568. deposit_invalid_addtype free_store: 374. 172 deposit_list free_store: 37, 303, 345. 70 deposit_list_argl_chars free_store: 40, 340, 341. 210 deposit_list_loop free_store: 321, 332. 6 deposit_list_no_args free_store: 39, 40, 337. 244 deposit_list_returns free_store: 325, 347. 246 deposit_try free_store: 272, 329, 370. 205 depth pxss_page_stack: 17. 200 devadd free_store: 96, 99, 216, 450, 453, 457, pxss_page_stack: 16. 203 dev_signal pxss_page_stack: 17. 1 df1 page_info: 7. 232 done_astep pxss_page_stack: 24. 175 entry_sw pxss_page_stack: 16. 201 errcode pxss_page_stack: 16. error_table_ free_store: 236. 6 evict_entry page_info: 35. 0 fault_entry page_info: 29. 226 free_store_start_time free_store: 410, 621, pxss_page_stack: 22. 221 free_store_temp free_store: 109, 116, 119, 135, 142, 145, 312, 323, 331, 342, 515, 519, 523, 526, 541, 543, 544, pxss_page_stack: 19. 160 free_store_temp_1 free_store: 310, 322, 335, 418, 423, pxss_page_stack: 14. 152 getwork_temp pxss_page_stack: 13. init_savex free_store: 200, 259, 305. 100000 int page_info: 14. 177 inter pxss_page_stack: 16. invalid_deposit_list_args free_store: 338. lock_volmap free_store: 104, 125, 130, 151, 159. 223 lock_volmap_temp pxss_page_stack: 20. 156 lock_volmap_temp_1 pxss_page_stack: 14. lock_wired_nowait free_store: 104. lock_wired_wait free_store: 130. log_vol_full free_store: 236. 423 meter free_store: 224, 608. 426 meter_common free_store: 610, 617. 425 meter_deposit free_store: 275, 280, 348, 612. 440 meter_deposit_exit free_store: 623, 629. 50 notify_regs pxss_page_stack: 8. 4 no_post page_info: 16. 3 N_OLD_VOLMAP_PAGES stock_seg: 119. out_of_hc_part free_store: 154. 250 pad pxss_page_stack: 33. 235 pageno free_store: 520, pxss_page_stack: 25. page_error free_store: 122, 148, 154, 338, 374, 425, 454, 458, 530, 547. page_fault free_store: 85, 200, 259, 305, 371, 380, 381, 585, 589, 593. 12 page_power page_info: 6. 242 page_synch_index pxss_page_stack: 28. 236 page_synch_temp pxss_page_stack: 27. 240 page_synch_time pxss_page_stack: 27. pc_deposit free_store: 279, 345. 245 pc_err_astep pxss_page_stack: 30. 244 pc_err_ptwp pxss_page_stack: 30. 243 pc_err_type pxss_page_stack: 30. 3 pdm page_info: 19. pds free_store: 170, 229, 408, 409, 619, 620. 5 pd_flush_entry page_info: 34. 246 pf_sdw pxss_page_stack: 31. 230 post_io_start_time pxss_page_stack: 22. 4 post_purge_entry page_info: 33. 3 pre_page_entry page_info: 32. 100 pre_temp pxss_page_stack: 10. 76 pre_time pxss_page_stack: 10. 20 pri page_info: 15. 176 ptp_astep pxss_page_stack: 16. 2 ptw page_info: 21. 400000 ptw.nulled page_info: 12. 777760 ptw_add_mask page_info: 57. 2 ptw_to_cmep.rl page_info: 57. 24 ptw_to_cmep_lower.rl page_info: 57. 14 ptw_to_coreadd.rl page_info: 57. pvt free_store: 169, 414. 20 pvte.baseadd free_store: 452, 456, 491, pvte: 119. 10000 pvte.being_demounted pvte: 74. 100 pvte.being_demounted2 pvte: 86. 4 pvte.being_demounted2_word pvte: 85. 4 pvte.being_demounted_word pvte: 73. 20000 pvte.being_mounted pvte: 72. 4 pvte.being_mounted_word pvte: 71. 777 pvte.brother_pvtx_mask pvte: 52. 22 pvte.brother_pvtx_shift pvte: 51. 2 pvte.brother_pvtx_word pvte: 50. 4000 pvte.check_read_incomplete pvte: 76. 4 pvte.check_read_incomplete_word pvte: 75. 16 pvte.curn_dmpr_vtocx pvte: 115. 6 pvte.dbmrp pvte: 103. 200 pvte.deposit_to_volmap free_store: 265, 315, pvte: 84. 4 pvte.deposit_to_volmap_word free_store: 264, 314, pvte: 83. 2000 pvte.device_inoperative pvte: 78. 4 pvte.device_inoperative_word pvte: 77. 777 pvte.device_type_mask pvte: 59. 33 pvte.device_type_shift pvte: 58. 4 pvte.device_type_word pvte: 57. 3 pvte.devname pvte: 55. 10 pvte.dim_info pvte: 108. 400000 pvte.dmpr_in_use pvte: 41. 2 pvte.dmpr_in_use_word pvte: 40. 10 pvte.hc_part_used pvte: 92. 4 pvte.hc_part_used_word pvte: 91. 4000 pvte.inconsistent_dbm pvte: 49. 2 pvte.inconsistent_dbm_word pvte: 48. 40000 pvte.is_sv pvte: 43. 2 pvte.is_sv_word pvte: 42. 777 pvte.logical_area_number_mask pvte: 62. 22 pvte.logical_area_number_shift pvte: 61. 4 pvte.logical_area_number_word pvte: 60. 1 pvte.lvid pvte: 38. 7 pvte.nleft pvte: 105. 12 pvte.num_of_svs pvte: 110. 5 pvte.n_free_vtoce pvte: 100. 17 pvte.n_vtoce pvte: 117. 40 pvte.pc_vacating free_store: 88, pvte: 88. 4 pvte.pc_vacating_word free_store: 87, pvte: 87. 100000 pvte.permanent pvte: 68. 4 pvte.permanent_word pvte: 67. 0 pvte.pvid pvte: 37. 13 pvte.records_per_cyl pvte: 111. 14 pvte.record_factor pvte: 112. 10000 pvte.removable_pack pvte: 47. 2 pvte.removable_pack_word pvte: 46. 20000 pvte.root_lv pvte: 45. 2 pvte.root_lv_word pvte: 44. 1000 pvte.rpv pvte: 80. 4 pvte.rpv_word pvte: 79. 33 pvte.scavenger_block_rel free_store: 482, 569, pvte: 136. 400 pvte.scav_check_address free_store: 485, 572, pvte: 82. 4 pvte.scav_check_address_word free_store: 484, 571, pvte: 81. 2 pvte.skip_queue_count pvte: 53. 200000 pvte.storage_system pvte: 66. 4 pvte.storage_system_word pvte: 65. 15 pvte.sv_name pvte: 113. 11 pvte.sv_num pvte: 109. 40000 pvte.testing pvte: 70. 4 pvte.testing_word pvte: 69. 7 pvte.totrec free_store: 455, pvte: 106. 400000 pvte.used free_store: 153, pvte: 64. 4 pvte.used_word free_store: 152, pvte: 63. 20 pvte.vacating pvte: 90. 4 pvte.vacating_word pvte: 89. 24 pvte.volmap_astep pvte: 122. 32 pvte.volmap_async_page pvte: 133. 32 pvte.volmap_async_state pvte: 132. 2 pvte.volmap_idle_notify free_store: 163, pvte: 96. 4 pvte.volmap_idle_notify_word free_store: 161, 162, 164, pvte: 95. 26 pvte.volmap_lock pvte: 127. 4 pvte.volmap_lock_notify pvte: 94. 4 pvte.volmap_lock_notify_word pvte: 93. 25 pvte.volmap_offset pvte: 124. 22 pvte.volmap_seg_sdw pvte: 121. 30 pvte.volmap_stock_ptr free_store: 420, pvte: 129. 33 pvte.vol_trouble_count pvte: 135. 27 pvte.vtoc_map_lock pvte: 128. 1 pvte.vtoc_map_lock_notify pvte: 98. 4 pvte.vtoc_map_lock_notify_word pvte: 97. 25 pvte.vtoc_map_offset pvte: 125. 31 pvte.vtoc_map_stock_ptr pvte: 130. 5 pvte.vtoc_size pvte: 101. 34 pvte_size free_store: 415, 417, pvte: 34. 172 pvtx free_store: 204, 261, 307, 416, pxss_page_stack: 16. 210 pxss_save_stack pxss_page_stack: 18. 216 pxss_stackp pxss_page_stack: 18. 6 pxss_stack_size pxss_page_stack: 5, 18. 1 read_entry page_info: 30. 2000 record_block.lock free_store: 497, 499, 539, scavenger_data: 89. 1777 record_block.ovflx_mask scavenger_data: 91. 0 record_block.ovflx_shift scavenger_data: 90. 377 record_block.pageno_mask free_store: 521, scavenger_data: 86. 15 record_block.pageno_shift free_store: 522, scavenger_data: 85. 3 record_block.state_mask free_store: 504, 536, scavenger_data: 88. 13 record_block.state_shift free_store: 503, 525, 537, 538, scavenger_data: 87. 77777 record_block.vtocx_mask free_store: 517, scavenger_data: 84. 25 record_block.vtocx_shift free_store: 518, scavenger_data: 83. 11 record_stock.baseadd stock_seg: 55. 3 record_stock.high_threshold stock_seg: 40. 6 record_stock.last stock_seg: 50. 3 record_stock.low_threshold stock_seg: 39. 11 record_stock.n_free stock_seg: 54. 2 record_stock.n_free_in_stock stock_seg: 36. 1 record_stock.n_in_stock stock_seg: 33. 2 record_stock.n_os_in_stock stock_seg: 37. 1 record_stock.n_volmap_pages stock_seg: 34. 5 record_stock.n_words_in_stock stock_seg: 45. 6 record_stock.old_volmap_page stock_seg: 48. 0 record_stock.pvtep free_store: 421, stock_seg: 31. 5 record_stock.search_index stock_seg: 46. 0 record_stock.stock stock_seg: 57. 4 record_stock.stock_offset stock_seg: 43. 4 record_stock.target stock_seg: 42. 11 record_stock.volmap_page stock_seg: 52. 417 restore_regs free_store: 584, 588, 592, 595. 1 rsmeters.async_page_reads stock_seg: 80. 2 rsmeters.async_post_io_calls stock_seg: 81. 4 rsmeters.async_post_io_time stock_seg: 83. 0 rsmeters.async_read_calls stock_seg: 79. 3 rsmeters.deposit_calls free_store: 632, stock_seg: 82. 24 rsmeters.deposit_stock_losses stock_seg: 97. 23 rsmeters.deposit_stock_steps stock_seg: 96. 6 rsmeters.deposit_time free_store: 630, 631, stock_seg: 84. 44 rsmeters.deposit_vstock_calls stock_seg: 111. 45 rsmeters.deposit_vstock_fails stock_seg: 112. 50 rsmeters.deposit_vtoc_map stock_seg: 115. 42 rsmeters.get_free_vtoce_calls stock_seg: 109. 11 rsmeters.high_thresh_detected stock_seg: 86. 10 rsmeters.low_thresh_detected stock_seg: 85. 12 rsmeters.low_thresh_fails stock_seg: 87. 25 rsmeters.n_deposit_attempt stock_seg: 98. 26 rsmeters.n_pages_deposit_stock stock_seg: 99. 27 rsmeters.n_pages_deposit_volmap stock_seg: 100. 20 rsmeters.n_pages_withdraw_async stock_seg: 93. 17 rsmeters.n_pages_withdraw_stock stock_seg: 92. 30 rsmeters.n_v_deposit_attempts stock_seg: 101. 21 rsmeters.n_v_withdraw_attempts stock_seg: 94. 15 rsmeters.n_withdraw_attempt stock_seg: 90. 16 rsmeters.n_withdraw_range stock_seg: 91. 40 rsmeters.pc_deposit_calls stock_seg: 107. 41 rsmeters.pc_deposit_pages stock_seg: 108. 36 rsmeters.pc_deposit_time stock_seg: 106. 31 rsmeters.reset_os_calls stock_seg: 102. 32 rsmeters.reset_os_losses stock_seg: 103. 43 rsmeters.return_free_vtoce_call stock_seg: 110. 33 rsmeters.withdraw_calls free_store: 626, stock_seg: 104. 51 rsmeters.withdraw_check_scav free_store: 488, stock_seg: 116. 52 rsmeters.withdraw_conflict free_store: 549, stock_seg: 117. 14 rsmeters.withdraw_stock_losses stock_seg: 89. 13 rsmeters.withdraw_stock_steps stock_seg: 88. 34 rsmeters.withdraw_time free_store: 624, 625, stock_seg: 105. 22 rsmeters.withdraw_volmap_steps stock_seg: 95. 46 rsmeters.withdraw_vstock_calls stock_seg: 113. 47 rsmeters.withdraw_vstock_fails stock_seg: 114. 66 rsmeters_size stock_seg: 76. savex free_store: 85, 371. 60 save_stack pxss_page_stack: 9. 222 savx2_3 free_store: 402, 403, 596, 597, pxss_page_stack: 19. 1 scavenger_block.n_ovfl scavenger_data: 73. 0 scavenger_block.n_records scavenger_data: 72. 0 scavenger_block.overflow scavenger_data: 77. 2 scavenger_block.ovfl_free_ix scavenger_data: 74. 3 scavenger_block.records free_store: 492, scavenger_data: 75. scavenger_data free_store: 489. 6 scavenger_data.error_severity scavenger_data: 27. 400000 scavenger_data.free scavenger_data: 32. 31 scavenger_data.free_word scavenger_data: 31. 0 scavenger_data.lock scavenger_data: 18. 0 scavenger_data.lock_word scavenger_data: 20. 10 scavenger_data.meters scavenger_data: 28. 400000 scavenger_data.notify_sw scavenger_data: 24. 2 scavenger_data.notify_sw_word scavenger_data: 23. 1 scavenger_data.wait_event scavenger_data: 21. 0 scavenger_data_pages.page scavenger_data: 99. 0 scavenger_data_pages.word scavenger_data: 101. 0 scavenger_data_pages_size scavenger_data: 96. 32 scavenger_data_size scavenger_data: 15. 200000 scavenger_options.debug scavenger_data: 107. 100000 scavenger_options.dump scavenger_data: 108. 20000 scavenger_options.no_optimize scavenger_data: 110. 400000 scavenger_options.print_meters scavenger_data: 106. 40000 scavenger_options.trap scavenger_data: 109. scav_stacq_fails free_store: 530, 547. 4 sc_meters.clock_time scavenger_data: 43. 15 sc_meters.n_conflicts scavenger_data: 51. 16 sc_meters.n_fmd_conflicts scavenger_data: 52. 20 sc_meters.n_lost_records scavenger_data: 54. 17 sc_meters.n_real_conflicts scavenger_data: 53. 14 sc_meters.n_records scavenger_data: 50. 0 sc_meters.n_scavenge scavenger_data: 40. 6 sc_meters.n_vtoces scavenger_data: 44. 7 sc_meters.n_vtoces_damaged scavenger_data: 45. 13 sc_meters.n_vtoces_fmd scavenger_data: 49. 12 sc_meters.n_vtoces_freed scavenger_data: 48. 11 sc_meters.n_vtoces_per_boot scavenger_data: 47. 10 sc_meters.n_vtoces_per_proc scavenger_data: 46. 1 sc_meters.pf scavenger_data: 41. 2 sc_meters.vcpu scavenger_data: 42. 21 sc_meters_size scavenger_data: 37. 4 sc_process_table.blockp scavenger_data: 65. 6 sc_process_table.n_block_pages scavenger_data: 67. 1 sc_process_table.n_processes scavenger_data: 60. 2 sc_process_table.process scavenger_data: 61. 2 sc_process_table.processid scavenger_data: 63. 3 sc_process_table.pvtep scavenger_data: 64. 777760 sdw_add_mask page_info: 57. 2 sdw_to_cmep.rl page_info: 57. 14 sdw_to_coreadd.rl page_info: 57. 0 segno_offset_mask free_store: 42, 424. 257 setup free_store: 86, 262, 308, 401. 100 size_of_apt_entry apte: 122. 3 sst free_store: 598, page_info: 18, 19, 20. 75 stackp pxss_page_stack: 9. 32 stack_frame.arg_ptr free_store: 212, 228, 235, 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. 15 stack_size pxss_page_stack: 6, 9. start_async_read free_store: 111, 137. start_async_write free_store: 120, 146. 3 STATE_CONFLICT free_store: 535, scavenger_data: 118. 1 STATE_FREE scavenger_data: 116. 2 STATE_IN_USE free_store: 524, scavenger_data: 117. 0 STATE_UNSEEN scavenger_data: 115. stock free_store: 92, 107, 133, 379. stock_out_of_synch free_store: 425. 0 stock_seg.meters free_store: 428, stock_seg: 18. 72 stock_seg.n_stock_entries stock_seg: 24. 74 stock_seg.record_stock_arrayp stock_seg: 25. 66 stock_seg.record_stock_entries stock_seg: 20. 70 stock_seg.record_stock_size stock_seg: 22. 76 stock_seg.vtoce_stock_arrayp stock_seg: 26. 67 stock_seg.vtoce_stock_entries stock_seg: 21. 71 stock_seg.vtoce_stock_size stock_seg: 23. 100 stock_seg_size stock_seg: 15. 136 stock_temp pxss_page_stack: 12. 217 stock_temp_1 pxss_page_stack: 19. 220 stock_temp_2 pxss_page_stack: 19. 2 strip_null_addr free_store: 45, 372. sys_info free_store: 407, 618. 134 temp pxss_page_stack: 11. 166 temp1 pxss_page_stack: 15. 167 temp2 pxss_page_stack: 15. 207 tmp_event pxss_page_stack: 18. 144 tmp_ev_channel pxss_page_stack: 13. 146 tmp_ev_message pxss_page_stack: 13. 202 tmp_ring pxss_page_stack: 17. 165 total_steps pxss_page_stack: 15. unlock_wired free_store: 125, 151, 159. 411 unsavex free_store: 156, 380, 583, 585. 413 unsavex_1 free_store: 131, 172, 381, 587, 589. 415 unsavex_2 free_store: 105, 126, 591, 593. virtual_delta free_store: 409, 620. volmap free_store: 117, 143. volmap_async_error free_store: 122, 148. 0 VOLMAP_ASYNC_IDLE pvte: 138. 1 VOLMAP_ASYNC_READ pvte: 139. 2 VOLMAP_ASYNC_WRITE pvte: 140. volmap_idle_wait_constant free_store: 169. volmap_page free_store: 111, 120, 137, 146. 224 volmap_page_temp pxss_page_stack: 21. 233 volmap_page_temp_1 pxss_page_stack: 24. 142 volmap_save_ptr pxss_page_stack: 12. 162 volmap_save_sdw pxss_page_stack: 14. 140 volmap_temp pxss_page_stack: 12. 170 volmap_temp_1 pxss_page_stack: 15. 171 volmap_temp_2 pxss_page_stack: 15. 1 vtoce_stock.n_free_in_stock stock_seg: 66. 1 vtoce_stock.n_in_stock stock_seg: 65. 0 vtoce_stock.pvtep stock_seg: 63. 2 vtoce_stock.search_index stock_seg: 69. 3 vtoce_stock.stock stock_seg: 71. 2 vtoce_stock.target stock_seg: 68. 234 vtocx free_store: 516, pxss_page_stack: 25. 3 withdraw free_store: 34, 84, 92, 209. 340 withdraw_check_state free_store: 505, 507. 401 withdraw_conflict free_store: 511, 548. 344 withdraw_free free_store: 509, 514. withdraw_from_volmap free_store: 117, 143. 31 withdraw_in_mem free_store: 112, 115. 364 withdraw_in_use free_store: 510, 533. 126 withdraw_list_end free_store: 206, 223, 232, 238. 100 withdraw_list_ext free_store: 35, 198. 111 withdraw_list_loop free_store: 208, 221. 135 withdraw_list_oopv free_store: 210, 234. 130 withdraw_list_waits free_store: 211, 227. 63 withdraw_oopv free_store: 89, 155. 51 withdraw_os_in_mem free_store: 138, 141. 41 withdraw_out_of_stock free_store: 93, 129. 10 withdraw_retry free_store: 91, 101. 314 withdraw_scav_check free_store: 100, 481. 326 withdraw_scav_lock free_store: 494, 498, 501. 37 withdraw_unlocks free_store: 108, 113, 121, 124. 57 withdraw_unlocks_oopv free_store: 134, 150. 65 withdraw_unlocks_retry free_store: 160, 165. 64 withdraw_unlocks_waits free_store: 139, 147, 158. 344 withdraw_unseen free_store: 508, 513. 2 write_entry page_info: 31. 206 x5 pxss_page_stack: 17. 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