[PATCH kexec-tools 28/32] arm: add support for boot-time crash kernel resource
Pratyush Anand
panand at redhat.com
Fri May 27 04:37:46 PDT 2016
On Tue, May 3, 2016 at 3:53 PM, Russell King <rmk at arm.linux.org.uk> wrote:
> Add support for detecting and using the boot-time crash kernel
> resource, which is needed for systems which have special boot-time
> memory views, such as Keystone 2.
>
> Signed-off-by: Russell King <rmk at arm.linux.org.uk>
Reviewed-by: Pratyush Anand <panand at redhat.com>
> ---
> kexec/arch/arm/crashdump-arm.c | 13 +++++++++++--
> 1 file changed, 11 insertions(+), 2 deletions(-)
>
> diff --git a/kexec/arch/arm/crashdump-arm.c b/kexec/arch/arm/crashdump-arm.c
> index 9113f5e..25fdbe9 100644
> --- a/kexec/arch/arm/crashdump-arm.c
> +++ b/kexec/arch/arm/crashdump-arm.c
> @@ -52,7 +52,7 @@ struct memory_ranges usablemem_rgns = {
> .ranges = crash_memory_ranges,
> };
>
> -/* memory range reserved for crashkernel */
> +/* The boot-time physical memory range reserved for crashkernel region */
> static struct memory_range crash_kernel_mem;
>
> /* reserved regions */
> @@ -366,13 +366,22 @@ static int iomem_range_callback(void *UNUSED(data), int UNUSED(nr),
> char *str, unsigned long long base,
> unsigned long long length)
> {
> - if (strncmp(str, CRASH_KERNEL, strlen(CRASH_KERNEL)) == 0) {
> + if (strncmp(str, CRASH_KERNEL_BOOT, strlen(CRASH_KERNEL_BOOT)) == 0) {
> crash_kernel_mem.start = base;
> crash_kernel_mem.end = base + length - 1;
> crash_kernel_mem.type = RANGE_RAM;
> return mem_regions_add(&crash_reserved_rgns,
> base, length, RANGE_RAM);
> }
> + else if (strncmp(str, CRASH_KERNEL, strlen(CRASH_KERNEL)) == 0) {
> + if (crash_kernel_mem.start == crash_kernel_mem.end) {
> + crash_kernel_mem.start = base;
> + crash_kernel_mem.end = base + length - 1;
> + crash_kernel_mem.type = RANGE_RAM;
> + }
> + return mem_regions_add(&crash_reserved_rgns,
> + base, length, RANGE_RAM);
> + }
> else if (strncmp(str, SYSTEM_RAM, strlen(SYSTEM_RAM)) == 0) {
> return mem_regions_add(&usablemem_rgns,
> base, length, RANGE_RAM);
> --
> 1.9.1
>
More information about the kexec
mailing list