Re: [PATCH v8 46/46] x86, mm: Let "memmap=" take more entries onetime

From: Konrad Rzeszutek Wilk
Date: Wed Nov 28 2012 - 14:13:33 EST


On Fri, Nov 16, 2012 at 07:39:23PM -0800, Yinghai Lu wrote:
> Current "memmap=" only can take one entry every time.
> when we have more entries, we have to use memmap= for each of them.
>
> For pxe booting, we have command line length limitation, those extra
> "memmap=" would waste too much space.
>
> This patch make memmap= could take several entries one time,
> and those entries will be split with ','

You should also document that in Documentation/kernel-parameters.txt?

>
> Signed-off-by: Yinghai Lu <yinghai@xxxxxxxxxx>
> ---
> arch/x86/kernel/e820.c | 16 +++++++++++++++-
> 1 files changed, 15 insertions(+), 1 deletions(-)
>
> diff --git a/arch/x86/kernel/e820.c b/arch/x86/kernel/e820.c
> index df06ade..d32abea 100644
> --- a/arch/x86/kernel/e820.c
> +++ b/arch/x86/kernel/e820.c
> @@ -835,7 +835,7 @@ static int __init parse_memopt(char *p)
> }
> early_param("mem", parse_memopt);
>
> -static int __init parse_memmap_opt(char *p)
> +static int __init parse_memmap_one(char *p)
> {
> char *oldp;
> u64 start_at, mem_size;
> @@ -877,6 +877,20 @@ static int __init parse_memmap_opt(char *p)
>
> return *p == '\0' ? 0 : -EINVAL;
> }
> +static int __init parse_memmap_opt(char *str)
> +{
> + while (str) {
> + char *k = strchr(str, ',');
> +
> + if (k)
> + *k++ = 0;
> +
> + parse_memmap_one(str);
> + str = k;
> + }
> +
> + return 0;
> +}
> early_param("memmap", parse_memmap_opt);
>
> void __init finish_e820_parsing(void)
> --
> 1.7.7
--
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/