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