1 "         BEGIN INCLUDE FILE page_info.incl.alm  --  6/72
  2 "
  3 " Modified 02/22/81, W. Olin Sibert, for ADP conversion
  4 " Modified 06/23/82, E. N. Kittlitz, to move core map.
  5 "
  6           equ       page_power,10                 " 2**10 = size of page
  7           bool      df1,000001                    " directed fault 1 on page fault
  8 
  9           bool      address_mask,777777740000     " Mask for PTW add, add_type compares
 10                                                   " Use as =v36/address_mask
 11 
 12           bool      ptw.nulled,400000             " flag for testing addresses
 13 
 14           bool      int,100000                    " Disk dim flags
 15           bool      pri,000020
 16           bool      no_post,000004
 17 
 18           equ       sst,3                         " Standard pointer and index
 19           equ       pdm,sst                       " register usage
 20           equ       ast,sst
 21           equ       ptw,2
 22 
 23 "         Various AST masks which are not
 24 "         expressible in standard notation
 25 "
 26           bool      aste.csl_mask_inner,777000
 27           bool      aste.records_mask_inner,777000
 28 
 29           equ       fault_entry,0                 " Flags indicating how we
 30           equ       read_entry,1                  " were entered
 31           equ       write_entry,2
 32           equ       pre_page_entry,3
 33           equ       post_purge_entry,4
 34           equ       pd_flush_entry,5
 35           equ       evict_entry,6
 36           equ       abs_wire_entry,7
 37           equ       cleanup_entry,8
 38 
 39 " Constants for manipulating core addresses and PTWs. The core address
 40 " is a fixed bin (35) aligned, and must be moved to/from the appropriate
 41 " field in the SDW or PTW.
 42 "
 43           iftarget  l68
 44              bool   ptw_add_mask,777760 " Page number
 45              bool   sdw_add_mask,777760 " Page number
 46              bool   coreadd_mask,000077777777 " Mask for coreadd in AL
 47 
 48              equ    coreadd_to_ptw.ls,12
 49              equ    coreadd_to_sdw.ls,12
 50              equ    ptw_to_coreadd.rl,12
 51              equ    sdw_to_coreadd.rl,12
 52              equ    cmep_to_ptw.ls,2
 53              equ    cmep_to_sdw.ls,2
 54              equ    ptw_to_cmep.rl,2
 55              equ    ptw_to_cmep_lower.rl,20
 56              equ    sdw_to_cmep.rl,2
 57           ifend
 58 
 59           iftarget  adp
 60              bool   ptw_add_mask,177777 " Page number
 61              bool   sdw_add_mask,777774 " Page number
 62              bool   coreadd_mask,000377777777 " Mask for coreadd in AL
 63 
 64              equ    coreadd_to_ptw.ls,8
 65              equ    coreadd_to_sdw.ls,10
 66              equ    ptw_to_coreadd.rl,8
 67              equ    sdw_to_coreadd.rl,10
 68              equ    cmep_to_ptw.rl,2    " Must shift backwards
 69              equ    cmep_to_sdw.ls,0
 70              equ    ptw_to_cmep.ls,2    " Must shift backwards
 71              equ    ptw_to_cmep_lower.rl,16
 72              equ    sdw_to_cmep.rl,0
 73           ifend
 74 
 75           equ       cmep_to_coreadd.rl,10         .cmep to coreadd
 76           equ       coreadd_to_cmep.ls,10         coreadd to .cmep
 77 
 78 " ^L
 79 "
 80 " Assorted general purpose macros used in PC. These will be changed
 81 " when address types are changed for 20 bit addresses. Additionally,
 82 " for more accurate metering on the ADP, the metering macros should
 83 " modified to update the metering cells uninterruptably.
 84 "
 85 
 86           macro     missing
 87           ife       &2,()
 88             warn    (&1: Argument missing.)
 89           ifend
 90           &end
 91 "
 92 " staddra and staddrq store the address portion (upper 22 bits) of the A or Q
 93 " into the specified location.
 94 "
 95           macro     staddra
 96           missing   staddra,&1
 97           era       &F1
 98           ana       =v36/address_mask
 99           ersa      &F1
100           &end
101 
102           macro     staddrq
103           missing   staddrq,&1
104           erq       &F1
105           anq       =v36/address_mask
106           ersq      &F1
107           &end
108 
109 "         Macros for metering 6/23/80
110 
111           macro     read_clock
112           iftarget  l68
113             rccl    sys_info$clock_,*
114           ifend
115           iftarget adp
116             rccl    0
117           ifend
118           &end
119 
120           macro     increment
121           missing   increment,&1
122           aos       &1
123           &end
124 
125           macro     store_clock
126           missing   store_clock,&1
127           read_clock
128           staq      &1
129           &end
130 
131           macro     meter_time
132           missing   meter_time,&3
133           increment &3
134           read_clock
135           sbaq      &1
136           adaq      &2
137           staq      &2
138           &end
139 
140 "         END INCLUDE FILE  page_info.incl.alm