diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2016-03-14 15:34:37 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2016-05-03 06:13:45 -0400 |
commit | 61603016e2122bf95328321b2f1a64277202b6e3 (patch) | |
tree | 02a04c1043bca3f4872ef8b2374f8516e7cba64e /Documentation/kdump | |
parent | f55532a0c0b8bb6148f4e07853b876ef73bc69ca (diff) |
ARM: kexec: fix crashkernel= handling
When the kernel crashkernel parameter is specified with just a size, we
are supposed to allocate a region from RAM to store the crashkernel.
However, ARM merely reserves physical address zero with no checking that
there is even RAM there.
Fix this by lifting similar code from x86, importing it to ARM with the
ARM specific parameters added. In the absence of any platform specific
information, we allocate the crashkernel region from the first 512MB of
physical memory.
Update the kdump documentation to reflect this change.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Reviewed-by: Pratyush Anand <panand@redhat.com>
Diffstat (limited to 'Documentation/kdump')
-rw-r--r-- | Documentation/kdump/kdump.txt | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/Documentation/kdump/kdump.txt b/Documentation/kdump/kdump.txt index bc4bd5a44b88..88ff63d5fde3 100644 --- a/Documentation/kdump/kdump.txt +++ b/Documentation/kdump/kdump.txt | |||
@@ -263,12 +263,6 @@ The syntax is: | |||
263 | crashkernel=<range1>:<size1>[,<range2>:<size2>,...][@offset] | 263 | crashkernel=<range1>:<size1>[,<range2>:<size2>,...][@offset] |
264 | range=start-[end] | 264 | range=start-[end] |
265 | 265 | ||
266 | Please note, on arm, the offset is required. | ||
267 | crashkernel=<range1>:<size1>[,<range2>:<size2>,...]@offset | ||
268 | range=start-[end] | ||
269 | |||
270 | 'start' is inclusive and 'end' is exclusive. | ||
271 | |||
272 | For example: | 266 | For example: |
273 | 267 | ||
274 | crashkernel=512M-2G:64M,2G-:128M | 268 | crashkernel=512M-2G:64M,2G-:128M |
@@ -307,10 +301,9 @@ Boot into System Kernel | |||
307 | on the memory consumption of the kdump system. In general this is not | 301 | on the memory consumption of the kdump system. In general this is not |
308 | dependent on the memory size of the production system. | 302 | dependent on the memory size of the production system. |
309 | 303 | ||
310 | On arm, use "crashkernel=Y@X". Note that the start address of the kernel | 304 | On arm, the use of "crashkernel=Y@X" is no longer necessary; the |
311 | will be aligned to 128MiB (0x08000000), so if the start address is not then | 305 | kernel will automatically locate the crash kernel image within the |
312 | any space below the alignment point may be overwritten by the dump-capture kernel, | 306 | first 512MB of RAM if X is not given. |
313 | which means it is possible that the vmcore is not that precise as expected. | ||
314 | 307 | ||
315 | 308 | ||
316 | Load the Dump-capture Kernel | 309 | Load the Dump-capture Kernel |