|
@@ -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)
|