Re: [PATCH v5 3/4] x86, kdump: Change crashkernel_high/low= to crashkernel=,high/low

From: HATAYAMA Daisuke
Date: Sun Apr 14 2013 - 20:22:23 EST


(2013/04/12 15:54), Yinghai Lu wrote:
<cut>
> Index: linux-2.6/kernel/kexec.c
> ===================================================================
> --- linux-2.6.orig/kernel/kexec.c
> +++ linux-2.6/kernel/kexec.c
> @@ -1368,35 +1368,114 @@ static int __init parse_crashkernel_simp
> return 0;
> }
>
> +#define SUFFIX_HIGH 0
> +#define SUFFIX_LOW 1
> +#define SUFFIX_NULL 2
> +static __initdata char *suffix_tbl[] = {
> + [SUFFIX_HIGH] = ",high",
> + [SUFFIX_LOW] = ",low",
> + [SUFFIX_NULL] = NULL,
> +};
> +
> /*
> - * That function is the entry point for command line parsing and should be
> - * called from the arch-specific code.
> + * That function parses "suffix" crashkernel command lines like
> + *
> + * crashkernel=size,[high|low]
> + *
> + * It returns 0 on success and -EINVAL on failure.
> */
> +static int __init parse_crashkernel_suffix(char *cmdline,
> + unsigned long long *crash_size,
> + unsigned long long *crash_base,
> + const char *suffix)
> +{
> + char *cur = cmdline;
> +
> + *crash_size = memparse(cmdline, &cur);
> + if (cmdline == cur) {
> + pr_warn("crashkernel: memory value expected\n");
> + return -EINVAL;
> + }
> +
> + /* check with suffix */
> + if (strncmp(cur, suffix, strlen(suffix))) {
> + pr_warn("crashkernel: unrecognized char\n");
> + return -EINVAL;
> + }
> + cur += strlen(suffix);
> + if (*cur != ' ' && *cur != '\0') {
> + pr_warn("crashkernel: unrecognized char\n");
> + return -EINVAL;
> + }
> +
> + return 0;
> +}

Thanks, looks good to me.

--
Thanks.
HATAYAMA, Daisuke

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/