1 :Info: core_map_entry: cme: 2022-07-11 core_map_entry, cme
2
3
4 Syntax: cme ABS_ADDRs
5 cme -control_arg
6
7
8 Function: Displays information from a core map entry CME. Each
9 describes how a given page of real memory is currently used.
10
11
12 Arguments:
13 ABS_ADDRs
14 absolute octal address of a location in real memory. One or more
15 addresses may be given. The request displays the CME for the page
16 containing each of those real memory addresses, and tries to
17 identify which segment contains that page.
18
19
20 Control arguments:
21 One of the following control arguments may be given instead of the
22 ABS_ADDRs argument described above.
23 -index CME_INDEX ...,
24 -ix CME_INDEX ...
25 zero-based decimal index in the core map array of one or more CMEs
26 to be displayed. This is also the zero-based memory-frame number
27 page number in real memory. Index values range from 0 to 16383
28 in a system with 4 SCUs configured with largest memory blocks.
29 -offset CME_OFFSET ...,
30 -ofs CME_OFFSET ...
31 octal offset in the core_map segment of one or more CMEs to be
32 displayed. Offsets range from 10o through 200010o in a system with
33 4 SCUs configured with largest memory blocks. Given the size of a
34 CME 4 words, offsets must end with a 0 or 4 octal digit.
35
36
37 -ptw PTW_OFFSET
38 octal offset of a Page Table Word PTW within the System Segment
39 Table SST, unpaged_page_tables or int_unpaged_page_tables. If
40 the PTW is active not faulted, the request displays the CME
41 describing the memory frame at the ptw.add absolute address
42 location.
43 -aste ASTE_OFFSET
44 octal offset of an Active Segment Table entry ASTE within the
45 System Segment Table SST, or of a PTW within a page table in
46 unpaged_page_tables or int_unpaged_page_tables. The request
47 displays the CME for each in-memory PTW containing a page of the
48 segment.
49
50
51 -segment SEGNO | SEGNAME,
52 -seg SEGNO | SEGNAME
53 octal segment number or name of a segment known to the selected
54 dump process and listed in an Active Segment Table entry ASTE
55 within the System Segment Table SST, or with a page table in
56 the unpaged_page_tables segment. The request displays every
57 CME for each PTW that is in-memory not faulted.
58 -search CME_OFFSET,
59 -srh CME_OFFSET
60 octal offset in the core_map segment of one CME of interest.
61 Searches all in-memory PTWs in page tables in the SST,
62 unpaged_page_tables and int_unpaged_page_tables. Any PTWs which
63 reference the memory frame described by the CME of interest are
64 displayed as a CME reference.
65
66
67 List of core map entry fields:
68 Each CME is displayed on a single line containing several fields.
69 One of the first four entries below is given to identify the CME.
70 CME_IDX
71 The CME is the Nth entry in the core_map array of CMEs, where N
72 ranges from 0 to 16383. That CME describes the Nth memory frame
73 in real hardware memory.
74 CME_OFS
75 The CME is located at octal offset CME_OFS within the core_map
76 segment. The core_map begins with an 8-word heading followed by an
77 array of 4-word CMEs. Thus, CME_OFS can range from 10o through
78 200010o.
79
80
81 ABS_ADDR
82 Given an octal absolute address in real hardware memory, the CME
83 describing the memory frame covering that address is displayed.
84 PTW_OFS
85 The CME describes the memory frame referenced by the PTW at octal
86 offset PTW_OFS in the SST, unpaged_page_tables, or
87 int_unpage_page_tables segments holding page tables.
88
89
90 FWD, BACK
91 Octal CME offset within the core_map of the next CME in a threaded
92 list of CMEs, or the prior CME in such threaded list. The main
93 threaded list locates CMEs describing memory frames whose contents
94 are managed by page_control. Tracing such threads is simplified
95 when displayed CMEs are identified by their CME_OFS value.
96 Frames not managed by page_control usually contain segment pages
97 permanently wired in real memory, or contiguous wired pages
98 referenced by an unpaged SDW). Such CMEs usually have 0 FWD and
99 BACK offsets.
100
101
102 ASTEP
103 Octal offset within the SST segment of an ASTE Active Segment
104 Table Entry whose associated page table references the memory
105 frame described by this CME.
106 PTWP
107 Octal offset within the SST segment of the specific PTW Page Table
108 Word that references the memory frame described by this CME.
109
110
111 DFWU
112 Three switches describing the page currently stored in the memory
113 frame.
114 DF is displayed if the SDW used to locate the CME is inactive
115 has its sdw.df field set to cause a fault.
116 W is displayed if the cme.abs_w bit is "1"b: the page content
117 is abs-wired and its absolute address must not be changed.
118 U is displayed if sdw.unpaged = "1"b: the segment is defined
119 as a set of contiguous pages in real memory without using a
120 page table. An example is the fault_vector segment.
121
122
123 FRAME CONTENT
124 A field summarizing content of the frame. It usually provides an
125 octal segment number|offset w/in that segment, followed by the
126 reference name or pathname of that segment. Some memory frames
127 contain disk records that are not defined by the storage system as
128 a segment: for example, a physical volume bit map. Other frames
129 may be vacant contain no data. A frame may contain a active
130 page whose content cannot be identified by data included in the
131 crash image files.
132
133
134 FLAGS
135 Describes other elements of the cme data structure, if they have
136 non-zero value. These include:
137 io=output
138 Content of the memory frame is being written to disk. If not
139 present, content of disk might be queued to be read from disk,
140 or no I/O operation may be queued.
141 io_error
142 The most recent input/output operation encountered an error.
143 removing
144 Memory frame is being removed by a reconfiguration operation.
145 abs_wired
146 Contents of memory frame must not be relocated to a different
147 memory frame different absolute address.
148
149
150 abs_usable
151 Memory frame eligible to hold a active page which must be
152 abs_wired in memory is not relocatable.
153 notify_requested
154 An I/O operation is pending. When it completes, a waiting
155 process needs to be notified of that completion event.
156 phm_hedge
157 pc$flush_core needs to write content of this memory frame to
158 disk.
159
160
161 scuX
162 ID letter A B C or D of the System Control Unit
163 containing the real memory page described by this CME.
164 pin_counter=N
165 number of times to skip eviction of content from this memory
166 frame.
167 synch_entryp=PC_OFFSET
168 Memory frame holds a page of a Data Management synchronized
169 segment. PC_OFFSET is a relative pointer within page_fault
170 of entry point transferred to when synchronizing content of
171 memory frame with its disk record.
172
173
174 Examples:
175 List contents of the first 256 pages of real memory, using the
176 index_set active request to generate the index values so only a single
177 heading line is displayed.
178
179 azm: cme -ix index_set 0 255
180
181 CME_INDX FWD BACK ASTEP PTWP DFWU --- FRAME CONTENT --------------------- --- FLAGS ---
182 0 777777 777777 0 0 U Seg 4|0 fault_vector scuA
183 1 777777 777777 0 0 U Seg 11|600 iom_mailbox scuA
184 ...
185 222 777777 777777 0 0 Seg 57|0 idle_dsegs scuA
186 223 777777 777777 0 0 Seg 60|0 idle_pdses scuA
187 224 175620 1614 0 0 Vacant memory frame. abs_usable scuA
188 series of 32 vacant frames
189 255 2000 2010 0 0 Vacant memory frame. abs_usable scuA
190
191
192 List contents of the first 256 pages of real memory, with CMEs
193 identified by their octal offset within the core_map segment. Since
194 the FWD and BACK values in CME output lines are octal offsets,
195 identifying each line by its CME offset can aid in tracing threads of
196 CME entries.
197
198 The core_map begins with an 8-word header, and CMEs are 4 words in
199 length. index_set normally expects decimal input values, but will
200 accept values with an octal radix indicator; and will generate octal
201 output when -oct or -octal is given. The calc active request
202 generates only decimal outputs.
203
204 azm: cme -ofs ixs 10o calc 255*4 4 -oct
205
206 CME_OFS FWD BACK ASTEP PTWP DFWU --- FRAME CONTENT --------------------- --- FLAGS ---
207 10 777777 777777 0 0 U Seg 4|0 fault_vector scuA
208 14 777777 777777 0 0 U Seg 11|600 iom_mailbox scuA
209 ...
210 1600 777777 777777 0 0 Seg 57|0 idle_dsegs scuA
211 1604 777777 777777 0 0 Seg 60|0 idle_pdses scuA
212 1610 175620 1614 0 0 Vacant memory frame. abs_usable scuA
213 series of 30 vacant frames
214 1774 1770 2000 0 0 Vacant memory frame. abs_usable scuA
215
216
217 Search for all PTWs that reference the memory frame at core_map offset
218 1604.
219
220 azm: cme -search 1604
221
222 CME_OFS FWD BACK ASTEP PTWP DFWU --- FRAME CONTENT --------------------- --- FLAGS ---
223 1604 0 0 0 0 W Seg 60|0 idle_pdses abs_wired scuA
224 1604 0 0 0 0 W Seg 436|0 free_area_1 abs_wired scuA
225
226
227 Search for all segments which include the breakpoint_page.
228
229 azm: cme -seg breakpoint_page
230
231 CMEs for Segment without ASTE: breakpoint_page Seg 14 in Proc 0, with Page Table at unpaged_page_tables|36.
232
233 CME_OFS FWD BACK ASTEP PTWP DFWU --- FRAME CONTENT --------------------- --- FLAGS ---
234 144 0 0 0 0 W Seg 14|0 breakpoint_page abs_wired scuA
235 CA-MAX 1777
236
237 azm: cme -srh 144
238
239 19 PTWs reference memory frame described by core_map|144:
240
241 CME_OFS FWD BACK ASTEP PTWP DFWU --- FRAME CONTENT --------------------- --- FLAGS ---
242 144 0 0 0 0 W Seg 14|0 breakpoint_page abs_wired scuA
243 144 0 0 0 0 W Seg 17|6000 ws_linkage abs_wired scuA
244 144 0 0 0 0 W Seg 34|6000 bound_interceptors abs_wired scuA
245 144 0 0 0 0 W Seg 35|12000 bound_io_wired abs_wired scuA
246 144 0 0 0 0 W Seg 37|4000 bound_iom_support abs_wired scuA
247 144 0 0 0 0 W Seg 42|50000 bound_page_control abs_wired scuA
248 144 0 0 0 0 W Seg 43|6000 bound_priv_1 abs_wired scuA
249 144 0 0 0 0 W Seg 44|10000 bound_tc_priv abs_wired scuA
250 144 0 0 0 0 W Seg 45|2000 bound_unencacheable abs_wired scuA
251 144 0 0 0 0 W Seg 46|30000 bound_wired_1 abs_wired scuA
252 144 0 0 0 0 W Seg 55|2000 emergency_shutdown abs_wired scuA
253 144 0 0 0 0 W Seg 61|2000 init_processor abs_wired scuA
254 144 0 0 0 0 W Seg 75|2000 restart_fault abs_wired scuA
255 144 0 0 0 0 W Seg 76|2000 return_to_ring_0_ abs_wired scuA
256 144 0 0 0 0 W Seg 100|2000 signaller abs_wired scuA
257 144 0 0 0 0 W Seg 406|2000 wi_linkage abs_wired scuA
258 144 0 0 0 0 W Seg 72|22000 prds abs_wired scuA
259 144 0 0 0 0 W Seg 41|114000 bound_library_wired_ abs_wired scuA
260 144 0 0 0 0 W Seg 56|42000 error_table_ abs_wired scuA
261
262
263 The first 3 pages of real memory holds contents of 3 special segments.
264 Each is a contiguous region within part of a page, or within several
265 adjacent pages of real memory. Each is defined by an SDW whose
266 sdw.add references the starting point of the contiguous region, and
267 whose sdw.bound gives its length in 16-word blocks, and
268 sdw.unpaged = "1"b meaning no page table is used to define these
269 special segments.
270
271 The following example shows starting point and bounds of these three
272 segments by displaying CME information for the first 4 pages of real
273 memory, giving absolute addresses separated by 128 words. Because
274 the first two page of real memory hold contents of two different
275 segments, this region cannot be managed by page control. Therefore,
276 the segments must be wired in memory. The cme request must search for
277 an SDW claiming ownership of each absolute address given as input.
278
279 azm: cme ixs 0 10000o 200o -oct
280
281 ABS_ADDR FWD BACK ASTEP PTWP DFWU --- FRAME CONTENT --------------------- --- FLAGS ---
282 0 0 0 0 0 WU Seg 4|0 fault_vector abs_wired scuA
283 200 0 0 0 0 WU Seg 4|200 fault_vector abs_wired scuA
284 400 0 0 0 0 WU Seg 4|400 fault_vector abs_wired scuA
285 600 0 0 0 0 W Vacant memory. abs_wired scuA
286 1000 0 0 0 0 W Vacant memory. abs_wired scuA
287 1200 0 0 0 0 WU Seg 11|0 iom_mailbox abs_wired scuA
288 1400 0 0 0 0 WU Seg 11|200 iom_mailbox abs_wired scuA
289 1600 0 0 0 0 WU Seg 11|400 iom_mailbox abs_wired scuA
290 2000 0 0 0 0 WU Seg 11|600 iom_mailbox abs_wired scuA
291 2200 0 0 0 0 WU Seg 11|1000 iom_mailbox abs_wired scuA
292 2400 0 0 0 0 WU Seg 11|1200 iom_mailbox abs_wired scuA
293 2600 0 0 0 0 WU Seg 11|1400 iom_mailbox abs_wired scuA
294 3000 0 0 0 0 WU Seg 11|1600 iom_mailbox abs_wired scuA
295 3200 0 0 0 0 WU Seg 11|2000 iom_mailbox abs_wired scuA
296 3400 0 0 0 0 WU Seg 3|0 dn355_mailbox abs_wired scuA
297 3600 0 0 0 0 WU Seg 3|200 dn355_mailbox abs_wired scuA
298 4000 0 0 0 0 WU Seg 3|400 dn355_mailbox abs_wired scuA
299 4200 0 0 0 0 WU Seg 3|600 dn355_mailbox abs_wired scuA
300 4400 0 0 0 0 WU Seg 3|1000 dn355_mailbox abs_wired scuA
301 4600 0 0 0 0 WU Seg 3|1200 dn355_mailbox abs_wired scuA
302 5000 0 0 0 0 WU Seg 3|1400 dn355_mailbox abs_wired scuA
303 5200 0 0 0 0 WU Seg 3|1600 dn355_mailbox abs_wired scuA
304 5400 0 0 0 0 WU Seg 3|2000 dn355_mailbox abs_wired scuA
305 5600 0 0 0 0 WU Seg 3|2200 dn355_mailbox abs_wired scuA
306 6000 0 0 0 0 WU Seg 3|2400 dn355_mailbox abs_wired scuA
307 6200 0 0 0 0 WU Seg 3|2600 dn355_mailbox abs_wired scuA
308 6400 0 0 0 0 W Vacant memory. abs_wired scuA
309 6600 0 0 0 0 W Vacant memory. abs_wired scuA
310 7000 0 0 0 0 W Vacant memory. abs_wired scuA
311 7200 0 0 0 0 W Vacant memory. abs_wired scuA
312 7400 0 0 0 0 W Vacant memory. abs_wired scuA
313 7600 0 0 0 0 W Vacant memory. abs_wired scuA
314 10000 0 0 0 0 W Seg 1|0 bos_toehold abs_wired scuA
315
316
317 :hcom:
318 /****^ HISTORY COMMENTS:
319 1) change2022-12-24GDixon, approve2023-01-16MCR10129,
320 audit2023-02-28Swenson, install2023-02-28MR12.8-1054:
321 A) Initial version of this info segment.
322 END HISTORY COMMENTS */
323