Once again, what is "wrong" about this... the semantics are consistent, and 
breaking them when long established makes no sense.

Thomas Renninger <[email protected]> wrote:

>From: Yinghai Lu <[email protected]>
>
>memmap=exactmap will throw away all original, but also until then
>user defined (through other provided memmap= parameters) areas.
>That means all memmap= boot parameters passed before a memmap=exactmap
>parameter are not recognized.
>Without this fix:
>memmap=x@y memmap=exactmap memmap=i#k
>only i#k would get recognized.
>
>This is wrong, this fix will only throw away all original e820 areas
>once
>when memmap=exactmap is found in the whole boot command line and before
>any other memmap= option is parsed.
>
>Signed-off-by: Yinghai Lu <[email protected]>
>Reviewed-by: Thomas Renninger <[email protected]>
>---
> arch/x86/kernel/e820.c |   12 ++++++++++++
> 1 file changed, 12 insertions(+)
>
>Index: linux-2.6/arch/x86/kernel/e820.c
>===================================================================
>--- linux-2.6.orig/arch/x86/kernel/e820.c
>+++ linux-2.6/arch/x86/kernel/e820.c
>@@ -835,6 +835,8 @@ static int __init parse_memopt(char *p)
> }
> early_param("mem", parse_memopt);
> 
>+static bool __initdata exactmap_parsed;
>+
> static int __init parse_memmap_one(char *p)
> {
>       char *oldp;
>@@ -844,6 +846,10 @@ static int __init parse_memmap_one(char
>               return -EINVAL;
> 
>       if (!strncmp(p, "exactmap", 8)) {
>+              if (exactmap_parsed)
>+                      return 0;
>+
>+              exactmap_parsed = true;
> #ifdef CONFIG_CRASH_DUMP
>               /*
>                * If we are doing a crash dump, we still need to know
>@@ -879,6 +885,12 @@ static int __init parse_memmap_one(char
> }
> static int __init parse_memmap_opt(char *str)
> {
>+      char *p = boot_command_line;
>+
>+      p = strstr(p, "exactmap");
>+      if (p)
>+              parse_memmap_one("exactmap");
>+
>       while (str) {
>               char *k = strchr(str, ',');
> 

-- 
Sent from my mobile phone. Please excuse brevity and lack of formatting.

_______________________________________________
kexec mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/kexec

Reply via email to