~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/admin-guide/kdump/vmcoreinfo.rst

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/admin-guide/kdump/vmcoreinfo.rst (Architecture i386) and /Documentation/admin-guide/kdump/vmcoreinfo.rst (Architecture m68k)


  1 ==========                                          1 ==========
  2 VMCOREINFO                                          2 VMCOREINFO
  3 ==========                                          3 ==========
  4                                                     4 
  5 What is it?                                         5 What is it?
  6 ===========                                         6 ===========
  7                                                     7 
  8 VMCOREINFO is a special ELF note section. It c      8 VMCOREINFO is a special ELF note section. It contains various
  9 information from the kernel like structure siz      9 information from the kernel like structure size, page size, symbol
 10 values, field offsets, etc. These data are pac     10 values, field offsets, etc. These data are packed into an ELF note
 11 section and used by user-space tools like cras     11 section and used by user-space tools like crash and makedumpfile to
 12 analyze a kernel's memory layout.                  12 analyze a kernel's memory layout.
 13                                                    13 
 14 Common variables                                   14 Common variables
 15 ================                                   15 ================
 16                                                    16 
 17 init_uts_ns.name.release                           17 init_uts_ns.name.release
 18 ------------------------                           18 ------------------------
 19                                                    19 
 20 The version of the Linux kernel. Used to find      20 The version of the Linux kernel. Used to find the corresponding source
 21 code from which the kernel has been built. For     21 code from which the kernel has been built. For example, crash uses it to
 22 find the corresponding vmlinux in order to pro     22 find the corresponding vmlinux in order to process vmcore.
 23                                                    23 
 24 PAGE_SIZE                                          24 PAGE_SIZE
 25 ---------                                          25 ---------
 26                                                    26 
 27 The size of a page. It is the smallest unit of     27 The size of a page. It is the smallest unit of data used by the memory
 28 management facilities. It is usually 4096 byte     28 management facilities. It is usually 4096 bytes of size and a page is
 29 aligned on 4096 bytes. Used for computing page     29 aligned on 4096 bytes. Used for computing page addresses.
 30                                                    30 
 31 init_uts_ns                                        31 init_uts_ns
 32 -----------                                        32 -----------
 33                                                    33 
 34 The UTS namespace which is used to isolate two     34 The UTS namespace which is used to isolate two specific elements of the
 35 system that relate to the uname(2) system call     35 system that relate to the uname(2) system call. It is named after the
 36 data structure used to store information retur     36 data structure used to store information returned by the uname(2) system
 37 call.                                              37 call.
 38                                                    38 
 39 User-space tools can get the kernel name, host     39 User-space tools can get the kernel name, host name, kernel release
 40 number, kernel version, architecture name and      40 number, kernel version, architecture name and OS type from it.
 41                                                    41 
 42 (uts_namespace, name)                              42 (uts_namespace, name)
 43 ---------------------                              43 ---------------------
 44                                                    44 
 45 Offset of the name's member. Crash Utility and     45 Offset of the name's member. Crash Utility and Makedumpfile get
 46 the start address of the init_uts_ns.name from     46 the start address of the init_uts_ns.name from this.
 47                                                    47 
 48 node_online_map                                    48 node_online_map
 49 ---------------                                    49 ---------------
 50                                                    50 
 51 An array node_states[N_ONLINE] which represent     51 An array node_states[N_ONLINE] which represents the set of online nodes
 52 in a system, one bit position per node number.     52 in a system, one bit position per node number. Used to keep track of
 53 which nodes are in the system and online.          53 which nodes are in the system and online.
 54                                                    54 
 55 swapper_pg_dir                                     55 swapper_pg_dir
 56 --------------                                     56 --------------
 57                                                    57 
 58 The global page directory pointer of the kerne     58 The global page directory pointer of the kernel. Used to translate
 59 virtual to physical addresses.                     59 virtual to physical addresses.
 60                                                    60 
 61 _stext                                             61 _stext
 62 ------                                             62 ------
 63                                                    63 
 64 Defines the beginning of the text section. In      64 Defines the beginning of the text section. In general, _stext indicates
 65 the kernel start address. Used to convert a vi     65 the kernel start address. Used to convert a virtual address from the
 66 direct kernel map to a physical address.           66 direct kernel map to a physical address.
 67                                                    67 
 68 VMALLOC_START                                      68 VMALLOC_START
 69 -------------                                      69 -------------
 70                                                    70 
 71 Stores the base address of vmalloc area. maked     71 Stores the base address of vmalloc area. makedumpfile gets this value
 72 since is necessary for vmalloc translation.        72 since is necessary for vmalloc translation.
 73                                                    73 
 74 mem_map                                            74 mem_map
 75 -------                                            75 -------
 76                                                    76 
 77 Physical addresses are translated to struct pa     77 Physical addresses are translated to struct pages by treating them as
 78 an index into the mem_map array. Right-shiftin     78 an index into the mem_map array. Right-shifting a physical address
 79 PAGE_SHIFT bits converts it into a page frame      79 PAGE_SHIFT bits converts it into a page frame number which is an index
 80 into that mem_map array.                           80 into that mem_map array.
 81                                                    81 
 82 Used to map an address to the corresponding st     82 Used to map an address to the corresponding struct page.
 83                                                    83 
 84 contig_page_data                                   84 contig_page_data
 85 ----------------                                   85 ----------------
 86                                                    86 
 87 Makedumpfile gets the pglist_data structure fr     87 Makedumpfile gets the pglist_data structure from this symbol, which is
 88 used to describe the memory layout.                88 used to describe the memory layout.
 89                                                    89 
 90 User-space tools use this to exclude free page     90 User-space tools use this to exclude free pages when dumping memory.
 91                                                    91 
 92 mem_section|(mem_section, NR_SECTION_ROOTS)|(m     92 mem_section|(mem_section, NR_SECTION_ROOTS)|(mem_section, section_mem_map)
 93 ----------------------------------------------     93 --------------------------------------------------------------------------
 94                                                    94 
 95 The address of the mem_section array, its leng     95 The address of the mem_section array, its length, structure size, and
 96 the section_mem_map offset.                        96 the section_mem_map offset.
 97                                                    97 
 98 It exists in the sparse memory mapping model,      98 It exists in the sparse memory mapping model, and it is also somewhat
 99 similar to the mem_map variable, both of them      99 similar to the mem_map variable, both of them are used to translate an
100 address.                                          100 address.
101                                                   101 
102 MAX_PHYSMEM_BITS                                  102 MAX_PHYSMEM_BITS
103 ----------------                                  103 ----------------
104                                                   104 
105 Defines the maximum supported physical address    105 Defines the maximum supported physical address space memory.
106                                                   106 
107 page                                              107 page
108 ----                                              108 ----
109                                                   109 
110 The size of a page structure. struct page is a    110 The size of a page structure. struct page is an important data structure
111 and it is widely used to compute contiguous me    111 and it is widely used to compute contiguous memory.
112                                                   112 
113 pglist_data                                       113 pglist_data
114 -----------                                       114 -----------
115                                                   115 
116 The size of a pglist_data structure. This valu    116 The size of a pglist_data structure. This value is used to check if the
117 pglist_data structure is valid. It is also use    117 pglist_data structure is valid. It is also used for checking the memory
118 type.                                             118 type.
119                                                   119 
120 zone                                              120 zone
121 ----                                              121 ----
122                                                   122 
123 The size of a zone structure. This value is us    123 The size of a zone structure. This value is used to check if the zone
124 structure has been found. It is also used for     124 structure has been found. It is also used for excluding free pages.
125                                                   125 
126 free_area                                         126 free_area
127 ---------                                         127 ---------
128                                                   128 
129 The size of a free_area structure. It indicate    129 The size of a free_area structure. It indicates whether the free_area
130 structure is valid or not. Useful when excludi    130 structure is valid or not. Useful when excluding free pages.
131                                                   131 
132 list_head                                         132 list_head
133 ---------                                         133 ---------
134                                                   134 
135 The size of a list_head structure. Used when i    135 The size of a list_head structure. Used when iterating lists in a
136 post-mortem analysis session.                     136 post-mortem analysis session.
137                                                   137 
138 nodemask_t                                        138 nodemask_t
139 ----------                                        139 ----------
140                                                   140 
141 The size of a nodemask_t type. Used to compute    141 The size of a nodemask_t type. Used to compute the number of online
142 nodes.                                            142 nodes.
143                                                   143 
144 (page, flags|_refcount|mapping|lru|_mapcount|p    144 (page, flags|_refcount|mapping|lru|_mapcount|private|compound_order|compound_head)
145 ----------------------------------------------    145 ----------------------------------------------------------------------------------
146                                                   146 
147 User-space tools compute their values based on    147 User-space tools compute their values based on the offset of these
148 variables. The variables are used when excludi    148 variables. The variables are used when excluding unnecessary pages.
149                                                   149 
150 (pglist_data, node_zones|nr_zones|node_mem_map    150 (pglist_data, node_zones|nr_zones|node_mem_map|node_start_pfn|node_spanned_pages|node_id)
151 ----------------------------------------------    151 -----------------------------------------------------------------------------------------
152                                                   152 
153 On NUMA machines, each NUMA node has a pg_data    153 On NUMA machines, each NUMA node has a pg_data_t to describe its memory
154 layout. On UMA machines there is a single pgli    154 layout. On UMA machines there is a single pglist_data which describes the
155 whole memory.                                     155 whole memory.
156                                                   156 
157 These values are used to check the memory type    157 These values are used to check the memory type and to compute the
158 virtual address for memory map.                   158 virtual address for memory map.
159                                                   159 
160 (zone, free_area|vm_stat|spanned_pages)           160 (zone, free_area|vm_stat|spanned_pages)
161 ---------------------------------------           161 ---------------------------------------
162                                                   162 
163 Each node is divided into a number of blocks c    163 Each node is divided into a number of blocks called zones which
164 represent ranges within memory. A zone is desc    164 represent ranges within memory. A zone is described by a structure zone.
165                                                   165 
166 User-space tools compute required values based    166 User-space tools compute required values based on the offset of these
167 variables.                                        167 variables.
168                                                   168 
169 (free_area, free_list)                            169 (free_area, free_list)
170 ----------------------                            170 ----------------------
171                                                   171 
172 Offset of the free_list's member. This value i    172 Offset of the free_list's member. This value is used to compute the number
173 of free pages.                                    173 of free pages.
174                                                   174 
175 Each zone has a free_area structure array call    175 Each zone has a free_area structure array called free_area[NR_PAGE_ORDERS].
176 The free_list represents a linked list of free    176 The free_list represents a linked list of free page blocks.
177                                                   177 
178 (list_head, next|prev)                            178 (list_head, next|prev)
179 ----------------------                            179 ----------------------
180                                                   180 
181 Offsets of the list_head's members. list_head     181 Offsets of the list_head's members. list_head is used to define a
182 circular linked list. User-space tools need th    182 circular linked list. User-space tools need these in order to traverse
183 lists.                                            183 lists.
184                                                   184 
185 (vmap_area, va_start|list)                        185 (vmap_area, va_start|list)
186 --------------------------                        186 --------------------------
187                                                   187 
188 Offsets of the vmap_area's members. They carry    188 Offsets of the vmap_area's members. They carry vmalloc-specific
189 information. Makedumpfile gets the start addre    189 information. Makedumpfile gets the start address of the vmalloc region
190 from this.                                        190 from this.
191                                                   191 
192 (zone.free_area, NR_PAGE_ORDERS)                  192 (zone.free_area, NR_PAGE_ORDERS)
193 --------------------------------                  193 --------------------------------
194                                                   194 
195 Free areas descriptor. User-space tools use th    195 Free areas descriptor. User-space tools use this value to iterate the
196 free_area ranges. NR_PAGE_ORDERS is used by th    196 free_area ranges. NR_PAGE_ORDERS is used by the zone buddy allocator.
197                                                   197 
198 prb                                               198 prb
199 ---                                               199 ---
200                                                   200 
201 A pointer to the printk ringbuffer (struct pri    201 A pointer to the printk ringbuffer (struct printk_ringbuffer). This
202 may be pointing to the static boot ringbuffer     202 may be pointing to the static boot ringbuffer or the dynamically
203 allocated ringbuffer, depending on when the co    203 allocated ringbuffer, depending on when the core dump occurred.
204 Used by user-space tools to read the active ke    204 Used by user-space tools to read the active kernel log buffer.
205                                                   205 
206 printk_rb_static                                  206 printk_rb_static
207 ----------------                                  207 ----------------
208                                                   208 
209 A pointer to the static boot printk ringbuffer    209 A pointer to the static boot printk ringbuffer. If @prb has a
210 different value, this is useful for viewing th    210 different value, this is useful for viewing the initial boot messages,
211 which may have been overwritten in the dynamic    211 which may have been overwritten in the dynamically allocated
212 ringbuffer.                                       212 ringbuffer.
213                                                   213 
214 clear_seq                                         214 clear_seq
215 ---------                                         215 ---------
216                                                   216 
217 The sequence number of the printk() record aft    217 The sequence number of the printk() record after the last clear
218 command. It indicates the first record after t    218 command. It indicates the first record after the last
219 SYSLOG_ACTION_CLEAR, like issued by 'dmesg -c'    219 SYSLOG_ACTION_CLEAR, like issued by 'dmesg -c'. Used by user-space
220 tools to dump a subset of the dmesg log.          220 tools to dump a subset of the dmesg log.
221                                                   221 
222 printk_ringbuffer                                 222 printk_ringbuffer
223 -----------------                                 223 -----------------
224                                                   224 
225 The size of a printk_ringbuffer structure. Thi    225 The size of a printk_ringbuffer structure. This structure contains all
226 information required for accessing the various    226 information required for accessing the various components of the
227 kernel log buffer.                                227 kernel log buffer.
228                                                   228 
229 (printk_ringbuffer, desc_ring|text_data_ring|d    229 (printk_ringbuffer, desc_ring|text_data_ring|dict_data_ring|fail)
230 ----------------------------------------------    230 -----------------------------------------------------------------
231                                                   231 
232 Offsets for the various components of the prin    232 Offsets for the various components of the printk ringbuffer. Used by
233 user-space tools to view the kernel log buffer    233 user-space tools to view the kernel log buffer without requiring the
234 declaration of the structure.                     234 declaration of the structure.
235                                                   235 
236 prb_desc_ring                                     236 prb_desc_ring
237 -------------                                     237 -------------
238                                                   238 
239 The size of the prb_desc_ring structure. This     239 The size of the prb_desc_ring structure. This structure contains
240 information about the set of record descriptor    240 information about the set of record descriptors.
241                                                   241 
242 (prb_desc_ring, count_bits|descs|head_id|tail_    242 (prb_desc_ring, count_bits|descs|head_id|tail_id)
243 ----------------------------------------------    243 -------------------------------------------------
244                                                   244 
245 Offsets for the fields describing the set of r    245 Offsets for the fields describing the set of record descriptors. Used
246 by user-space tools to be able to traverse the    246 by user-space tools to be able to traverse the descriptors without
247 requiring the declaration of the structure.       247 requiring the declaration of the structure.
248                                                   248 
249 prb_desc                                          249 prb_desc
250 --------                                          250 --------
251                                                   251 
252 The size of the prb_desc structure. This struc    252 The size of the prb_desc structure. This structure contains
253 information about a single record descriptor.     253 information about a single record descriptor.
254                                                   254 
255 (prb_desc, info|state_var|text_blk_lpos|dict_b    255 (prb_desc, info|state_var|text_blk_lpos|dict_blk_lpos)
256 ----------------------------------------------    256 ------------------------------------------------------
257                                                   257 
258 Offsets for the fields describing a record des    258 Offsets for the fields describing a record descriptors. Used by
259 user-space tools to be able to read descriptor    259 user-space tools to be able to read descriptors without requiring
260 the declaration of the structure.                 260 the declaration of the structure.
261                                                   261 
262 prb_data_blk_lpos                                 262 prb_data_blk_lpos
263 -----------------                                 263 -----------------
264                                                   264 
265 The size of the prb_data_blk_lpos structure. T    265 The size of the prb_data_blk_lpos structure. This structure contains
266 information about where the text or dictionary    266 information about where the text or dictionary data (data block) is
267 located within the respective data ring.          267 located within the respective data ring.
268                                                   268 
269 (prb_data_blk_lpos, begin|next)                   269 (prb_data_blk_lpos, begin|next)
270 -------------------------------                   270 -------------------------------
271                                                   271 
272 Offsets for the fields describing the location    272 Offsets for the fields describing the location of a data block. Used
273 by user-space tools to be able to locate data     273 by user-space tools to be able to locate data blocks without
274 requiring the declaration of the structure.       274 requiring the declaration of the structure.
275                                                   275 
276 printk_info                                       276 printk_info
277 -----------                                       277 -----------
278                                                   278 
279 The size of the printk_info structure. This st    279 The size of the printk_info structure. This structure contains all
280 the meta-data for a record.                       280 the meta-data for a record.
281                                                   281 
282 (printk_info, seq|ts_nsec|text_len|dict_len|ca    282 (printk_info, seq|ts_nsec|text_len|dict_len|caller_id)
283 ----------------------------------------------    283 ------------------------------------------------------
284                                                   284 
285 Offsets for the fields providing the meta-data    285 Offsets for the fields providing the meta-data for a record. Used by
286 user-space tools to be able to read the inform    286 user-space tools to be able to read the information without requiring
287 the declaration of the structure.                 287 the declaration of the structure.
288                                                   288 
289 prb_data_ring                                     289 prb_data_ring
290 -------------                                     290 -------------
291                                                   291 
292 The size of the prb_data_ring structure. This     292 The size of the prb_data_ring structure. This structure contains
293 information about a set of data blocks.           293 information about a set of data blocks.
294                                                   294 
295 (prb_data_ring, size_bits|data|head_lpos|tail_    295 (prb_data_ring, size_bits|data|head_lpos|tail_lpos)
296 ----------------------------------------------    296 ---------------------------------------------------
297                                                   297 
298 Offsets for the fields describing a set of dat    298 Offsets for the fields describing a set of data blocks. Used by
299 user-space tools to be able to access the data    299 user-space tools to be able to access the data blocks without
300 requiring the declaration of the structure.       300 requiring the declaration of the structure.
301                                                   301 
302 atomic_long_t                                     302 atomic_long_t
303 -------------                                     303 -------------
304                                                   304 
305 The size of the atomic_long_t structure. Used     305 The size of the atomic_long_t structure. Used by user-space tools to
306 be able to copy the full structure, regardless    306 be able to copy the full structure, regardless of its
307 architecture-specific implementation.             307 architecture-specific implementation.
308                                                   308 
309 (atomic_long_t, counter)                          309 (atomic_long_t, counter)
310 ------------------------                          310 ------------------------
311                                                   311 
312 Offset for the long value of an atomic_long_t     312 Offset for the long value of an atomic_long_t variable. Used by
313 user-space tools to access the long value with    313 user-space tools to access the long value without requiring the
314 architecture-specific declaration.                314 architecture-specific declaration.
315                                                   315 
316 (free_area.free_list, MIGRATE_TYPES)              316 (free_area.free_list, MIGRATE_TYPES)
317 ------------------------------------              317 ------------------------------------
318                                                   318 
319 The number of migrate types for pages. The fre    319 The number of migrate types for pages. The free_list is described by the
320 array. Used by tools to compute the number of     320 array. Used by tools to compute the number of free pages.
321                                                   321 
322 NR_FREE_PAGES                                     322 NR_FREE_PAGES
323 -------------                                     323 -------------
324                                                   324 
325 On linux-2.6.21 or later, the number of free p    325 On linux-2.6.21 or later, the number of free pages is in
326 vm_stat[NR_FREE_PAGES]. Used to get the number    326 vm_stat[NR_FREE_PAGES]. Used to get the number of free pages.
327                                                   327 
328 PG_lru|PG_private|PG_swapcache|PG_swapbacked|P    328 PG_lru|PG_private|PG_swapcache|PG_swapbacked|PG_slab|PG_hwpoision|PG_head_mask|PG_hugetlb
329 ----------------------------------------------    329 -----------------------------------------------------------------------------------------
330                                                   330 
331 Page attributes. These flags are used to filte    331 Page attributes. These flags are used to filter various unnecessary for
332 dumping pages.                                    332 dumping pages.
333                                                   333 
334 PAGE_BUDDY_MAPCOUNT_VALUE(~PG_buddy)|PAGE_OFFL    334 PAGE_BUDDY_MAPCOUNT_VALUE(~PG_buddy)|PAGE_OFFLINE_MAPCOUNT_VALUE(~PG_offline)
335 ----------------------------------------------    335 -----------------------------------------------------------------------------
336                                                   336 
337 More page attributes. These flags are used to     337 More page attributes. These flags are used to filter various unnecessary for
338 dumping pages.                                    338 dumping pages.
339                                                   339 
340                                                   340 
341 x86_64                                            341 x86_64
342 ======                                            342 ======
343                                                   343 
344 phys_base                                         344 phys_base
345 ---------                                         345 ---------
346                                                   346 
347 Used to convert the virtual address of an expo    347 Used to convert the virtual address of an exported kernel symbol to its
348 corresponding physical address.                   348 corresponding physical address.
349                                                   349 
350 init_top_pgt                                      350 init_top_pgt
351 ------------                                      351 ------------
352                                                   352 
353 Used to walk through the whole page table and     353 Used to walk through the whole page table and convert virtual addresses
354 to physical addresses. The init_top_pgt is som    354 to physical addresses. The init_top_pgt is somewhat similar to
355 swapper_pg_dir, but it is only used in x86_64.    355 swapper_pg_dir, but it is only used in x86_64.
356                                                   356 
357 pgtable_l5_enabled                                357 pgtable_l5_enabled
358 ------------------                                358 ------------------
359                                                   359 
360 User-space tools need to know whether the cras    360 User-space tools need to know whether the crash kernel was in 5-level
361 paging mode.                                      361 paging mode.
362                                                   362 
363 node_data                                         363 node_data
364 ---------                                         364 ---------
365                                                   365 
366 This is a struct pglist_data array and stores     366 This is a struct pglist_data array and stores all NUMA nodes
367 information. Makedumpfile gets the pglist_data    367 information. Makedumpfile gets the pglist_data structure from it.
368                                                   368 
369 (node_data, MAX_NUMNODES)                         369 (node_data, MAX_NUMNODES)
370 -------------------------                         370 -------------------------
371                                                   371 
372 The maximum number of nodes in system.            372 The maximum number of nodes in system.
373                                                   373 
374 KERNELOFFSET                                      374 KERNELOFFSET
375 ------------                                      375 ------------
376                                                   376 
377 The kernel randomization offset. Used to compu    377 The kernel randomization offset. Used to compute the page offset. If
378 KASLR is disabled, this value is zero.            378 KASLR is disabled, this value is zero.
379                                                   379 
380 KERNEL_IMAGE_SIZE                                 380 KERNEL_IMAGE_SIZE
381 -----------------                                 381 -----------------
382                                                   382 
383 Currently unused by Makedumpfile. Used to comp    383 Currently unused by Makedumpfile. Used to compute the module virtual
384 address by Crash.                                 384 address by Crash.
385                                                   385 
386 sme_mask                                          386 sme_mask
387 --------                                          387 --------
388                                                   388 
389 AMD-specific with SME support: it indicates th    389 AMD-specific with SME support: it indicates the secure memory encryption
390 mask. Makedumpfile tools need to know whether     390 mask. Makedumpfile tools need to know whether the crash kernel was
391 encrypted. If SME is enabled in the first kern    391 encrypted. If SME is enabled in the first kernel, the crash kernel's
392 page table entries (pgd/pud/pmd/pte) contain t    392 page table entries (pgd/pud/pmd/pte) contain the memory encryption
393 mask. This is used to remove the SME mask and     393 mask. This is used to remove the SME mask and obtain the true physical
394 address.                                          394 address.
395                                                   395 
396 Currently, sme_mask stores the value of the C-    396 Currently, sme_mask stores the value of the C-bit position. If needed,
397 additional SME-relevant info can be placed in     397 additional SME-relevant info can be placed in that variable.
398                                                   398 
399 For example::                                     399 For example::
400                                                   400 
401   [ misc                ][ enc bit  ][ other m    401   [ misc                ][ enc bit  ][ other misc SME info       ]
402   0000_0000_0000_0000_1000_0000_0000_0000_0000    402   0000_0000_0000_0000_1000_0000_0000_0000_0000_0000_..._0000
403   63   59   55   51   47   43   39   35   31      403   63   59   55   51   47   43   39   35   31   27   ... 3
404                                                   404 
405 x86_32                                            405 x86_32
406 ======                                            406 ======
407                                                   407 
408 X86_PAE                                           408 X86_PAE
409 -------                                           409 -------
410                                                   410 
411 Denotes whether physical address extensions ar    411 Denotes whether physical address extensions are enabled. It has the cost
412 of a higher page table lookup overhead, and al    412 of a higher page table lookup overhead, and also consumes more page
413 table space per process. Used to check whether    413 table space per process. Used to check whether PAE was enabled in the
414 crash kernel when converting virtual addresses    414 crash kernel when converting virtual addresses to physical addresses.
415                                                   415 
416 ARM64                                             416 ARM64
417 =====                                             417 =====
418                                                   418 
419 VA_BITS                                           419 VA_BITS
420 -------                                           420 -------
421                                                   421 
422 The maximum number of bits for virtual address    422 The maximum number of bits for virtual addresses. Used to compute the
423 virtual memory ranges.                            423 virtual memory ranges.
424                                                   424 
425 kimage_voffset                                    425 kimage_voffset
426 --------------                                    426 --------------
427                                                   427 
428 The offset between the kernel virtual and phys    428 The offset between the kernel virtual and physical mappings. Used to
429 translate virtual to physical addresses.          429 translate virtual to physical addresses.
430                                                   430 
431 PHYS_OFFSET                                       431 PHYS_OFFSET
432 -----------                                       432 -----------
433                                                   433 
434 Indicates the physical address of the start of    434 Indicates the physical address of the start of memory. Similar to
435 kimage_voffset, which is used to translate vir    435 kimage_voffset, which is used to translate virtual to physical
436 addresses.                                        436 addresses.
437                                                   437 
438 KERNELOFFSET                                      438 KERNELOFFSET
439 ------------                                      439 ------------
440                                                   440 
441 The kernel randomization offset. Used to compu    441 The kernel randomization offset. Used to compute the page offset. If
442 KASLR is disabled, this value is zero.            442 KASLR is disabled, this value is zero.
443                                                   443 
444 KERNELPACMASK                                     444 KERNELPACMASK
445 -------------                                     445 -------------
446                                                   446 
447 The mask to extract the Pointer Authentication    447 The mask to extract the Pointer Authentication Code from a kernel virtual
448 address.                                          448 address.
449                                                   449 
450 TCR_EL1.T1SZ                                      450 TCR_EL1.T1SZ
451 ------------                                      451 ------------
452                                                   452 
453 Indicates the size offset of the memory region    453 Indicates the size offset of the memory region addressed by TTBR1_EL1.
454 The region size is 2^(64-T1SZ) bytes.             454 The region size is 2^(64-T1SZ) bytes.
455                                                   455 
456 TTBR1_EL1 is the table base address register s    456 TTBR1_EL1 is the table base address register specified by ARMv8-A
457 architecture which is used to lookup the page-    457 architecture which is used to lookup the page-tables for the Virtual
458 addresses in the higher VA range (refer to ARM    458 addresses in the higher VA range (refer to ARMv8 ARM document for
459 more details).                                    459 more details).
460                                                   460 
461 MODULES_VADDR|MODULES_END|VMALLOC_START|VMALLO    461 MODULES_VADDR|MODULES_END|VMALLOC_START|VMALLOC_END|VMEMMAP_START|VMEMMAP_END
462 ----------------------------------------------    462 -----------------------------------------------------------------------------
463                                                   463 
464 Used to get the correct ranges:                   464 Used to get the correct ranges:
465         MODULES_VADDR ~ MODULES_END-1 : Kernel    465         MODULES_VADDR ~ MODULES_END-1 : Kernel module space.
466         VMALLOC_START ~ VMALLOC_END-1 : vmallo    466         VMALLOC_START ~ VMALLOC_END-1 : vmalloc() / ioremap() space.
467         VMEMMAP_START ~ VMEMMAP_END-1 : vmemma    467         VMEMMAP_START ~ VMEMMAP_END-1 : vmemmap region, used for struct page array.
468                                                   468 
469 arm                                               469 arm
470 ===                                               470 ===
471                                                   471 
472 ARM_LPAE                                          472 ARM_LPAE
473 --------                                          473 --------
474                                                   474 
475 It indicates whether the crash kernel supports    475 It indicates whether the crash kernel supports large physical address
476 extensions. Used to translate virtual to physi    476 extensions. Used to translate virtual to physical addresses.
477                                                   477 
478 s390                                              478 s390
479 ====                                              479 ====
480                                                   480 
481 lowcore_ptr                                       481 lowcore_ptr
482 -----------                                       482 -----------
483                                                   483 
484 An array with a pointer to the lowcore of ever    484 An array with a pointer to the lowcore of every CPU. Used to print the
485 psw and all registers information.                485 psw and all registers information.
486                                                   486 
487 high_memory                                       487 high_memory
488 -----------                                       488 -----------
489                                                   489 
490 Used to get the vmalloc_start address from the    490 Used to get the vmalloc_start address from the high_memory symbol.
491                                                   491 
492 (lowcore_ptr, NR_CPUS)                            492 (lowcore_ptr, NR_CPUS)
493 ----------------------                            493 ----------------------
494                                                   494 
495 The maximum number of CPUs.                       495 The maximum number of CPUs.
496                                                   496 
497 powerpc                                           497 powerpc
498 =======                                           498 =======
499                                                   499 
500                                                   500 
501 node_data|(node_data, MAX_NUMNODES)               501 node_data|(node_data, MAX_NUMNODES)
502 -----------------------------------               502 -----------------------------------
503                                                   503 
504 See above.                                        504 See above.
505                                                   505 
506 contig_page_data                                  506 contig_page_data
507 ----------------                                  507 ----------------
508                                                   508 
509 See above.                                        509 See above.
510                                                   510 
511 vmemmap_list                                      511 vmemmap_list
512 ------------                                      512 ------------
513                                                   513 
514 The vmemmap_list maintains the entire vmemmap     514 The vmemmap_list maintains the entire vmemmap physical mapping. Used
515 to get vmemmap list count and populated vmemma    515 to get vmemmap list count and populated vmemmap regions info. If the
516 vmemmap address translation information is sto    516 vmemmap address translation information is stored in the crash kernel,
517 it is used to translate vmemmap kernel virtual    517 it is used to translate vmemmap kernel virtual addresses.
518                                                   518 
519 mmu_vmemmap_psize                                 519 mmu_vmemmap_psize
520 -----------------                                 520 -----------------
521                                                   521 
522 The size of a page. Used to translate virtual     522 The size of a page. Used to translate virtual to physical addresses.
523                                                   523 
524 mmu_psize_defs                                    524 mmu_psize_defs
525 --------------                                    525 --------------
526                                                   526 
527 Page size definitions, i.e. 4k, 64k, or 16M.      527 Page size definitions, i.e. 4k, 64k, or 16M.
528                                                   528 
529 Used to make vtop translations.                   529 Used to make vtop translations.
530                                                   530 
531 vmemmap_backing|(vmemmap_backing, list)|(vmemm    531 vmemmap_backing|(vmemmap_backing, list)|(vmemmap_backing, phys)|(vmemmap_backing, virt_addr)
532 ----------------------------------------------    532 --------------------------------------------------------------------------------------------
533                                                   533 
534 The vmemmap virtual address space management d    534 The vmemmap virtual address space management does not have a traditional
535 page table to track which virtual struct pages    535 page table to track which virtual struct pages are backed by a physical
536 mapping. The virtual to physical mappings are     536 mapping. The virtual to physical mappings are tracked in a simple linked
537 list format.                                      537 list format.
538                                                   538 
539 User-space tools need to know the offset of li    539 User-space tools need to know the offset of list, phys and virt_addr
540 when computing the count of vmemmap regions.      540 when computing the count of vmemmap regions.
541                                                   541 
542 mmu_psize_def|(mmu_psize_def, shift)              542 mmu_psize_def|(mmu_psize_def, shift)
543 ------------------------------------              543 ------------------------------------
544                                                   544 
545 The size of a struct mmu_psize_def and the off    545 The size of a struct mmu_psize_def and the offset of mmu_psize_def's
546 member.                                           546 member.
547                                                   547 
548 Used in vtop translations.                        548 Used in vtop translations.
549                                                   549 
550 sh                                                550 sh
551 ==                                                551 ==
552                                                   552 
553 node_data|(node_data, MAX_NUMNODES)               553 node_data|(node_data, MAX_NUMNODES)
554 -----------------------------------               554 -----------------------------------
555                                                   555 
556 See above.                                        556 See above.
557                                                   557 
558 X2TLB                                             558 X2TLB
559 -----                                             559 -----
560                                                   560 
561 Indicates whether the crashed kernel enabled S    561 Indicates whether the crashed kernel enabled SH extended mode.
562                                                   562 
563 RISCV64                                           563 RISCV64
564 =======                                           564 =======
565                                                   565 
566 VA_BITS                                           566 VA_BITS
567 -------                                           567 -------
568                                                   568 
569 The maximum number of bits for virtual address    569 The maximum number of bits for virtual addresses. Used to compute the
570 virtual memory ranges.                            570 virtual memory ranges.
571                                                   571 
572 PAGE_OFFSET                                       572 PAGE_OFFSET
573 -----------                                       573 -----------
574                                                   574 
575 Indicates the virtual kernel start address of     575 Indicates the virtual kernel start address of the direct-mapped RAM region.
576                                                   576 
577 phys_ram_base                                     577 phys_ram_base
578 -------------                                     578 -------------
579                                                   579 
580 Indicates the start physical RAM address.         580 Indicates the start physical RAM address.
581                                                   581 
582 MODULES_VADDR|MODULES_END|VMALLOC_START|VMALLO    582 MODULES_VADDR|MODULES_END|VMALLOC_START|VMALLOC_END|VMEMMAP_START|VMEMMAP_END|KERNEL_LINK_ADDR
583 ----------------------------------------------    583 ----------------------------------------------------------------------------------------------
584                                                   584 
585 Used to get the correct ranges:                   585 Used to get the correct ranges:
586                                                   586 
587   * MODULES_VADDR ~ MODULES_END : Kernel modul    587   * MODULES_VADDR ~ MODULES_END : Kernel module space.
588   * VMALLOC_START ~ VMALLOC_END : vmalloc() /     588   * VMALLOC_START ~ VMALLOC_END : vmalloc() / ioremap() space.
589   * VMEMMAP_START ~ VMEMMAP_END : vmemmap spac    589   * VMEMMAP_START ~ VMEMMAP_END : vmemmap space, used for struct page array.
590   * KERNEL_LINK_ADDR : start address of Kernel    590   * KERNEL_LINK_ADDR : start address of Kernel link and BPF
591                                                   591 
592 va_kernel_pa_offset                               592 va_kernel_pa_offset
593 -------------------                               593 -------------------
594                                                   594 
595 Indicates the offset between the kernel virtua    595 Indicates the offset between the kernel virtual and physical mappings.
596 Used to translate virtual to physical addresse    596 Used to translate virtual to physical addresses.
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php