Discussion:
[PATCH] Handle additional e820 memmap type strings
Eric DeVolder
2017-05-10 16:03:37 UTC
Permalink
Keep pace with changes to linux arch/x86/kernel/e820.c to
function e820_type_to_string(). With this change, the following
messages from kexec are eliminated (and allows kexec to load):

Unknown type (Reserved) while parsing /sys/firmware/memmap/8/type.
Please report this as bug. Using RANGE_RESERVED now.

Unknown type (Unknown E820 type) while parsing /sys/firmware/memmap/4/type.
Please report this as bug. Using RANGE_RESERVED now.

Signed-off-by: Eric DeVolder <***@oracle.com>
---
kexec/firmware_memmap.c | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/kexec/firmware_memmap.c b/kexec/firmware_memmap.c
index 4d84f00..1ee214a 100644
--- a/kexec/firmware_memmap.c
+++ b/kexec/firmware_memmap.c
@@ -164,6 +164,10 @@ static int parse_memmap_entry(const char *entry, struct memory_range *range)
range->type = RANGE_RESERVED;
else if (strcmp(type, "reserved") == 0)
range->type = RANGE_RESERVED;
+ else if (strcmp(type, "Reserved") == 0)
+ range->type = RANGE_RESERVED;
+ else if (strcmp(type, "Unknown E820 type") == 0)
+ range->type = RANGE_RESERVED;
else if (strcmp(type, "ACPI Non-volatile Storage") == 0)
range->type = RANGE_ACPI_NVS;
else if (strcmp(type, "Uncached RAM") == 0)
--
2.7.4
Eric DeVolder
2017-05-14 23:28:15 UTC
Permalink
There have been no reviews of this patch yet; just bubbling it up to the
top to gain some attention.

Regards,
eric
Post by Eric DeVolder
Keep pace with changes to linux arch/x86/kernel/e820.c to
function e820_type_to_string(). With this change, the following
Unknown type (Reserved) while parsing /sys/firmware/memmap/8/type.
Please report this as bug. Using RANGE_RESERVED now.
Unknown type (Unknown E820 type) while parsing /sys/firmware/memmap/4/type.
Please report this as bug. Using RANGE_RESERVED now.
---
kexec/firmware_memmap.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/kexec/firmware_memmap.c b/kexec/firmware_memmap.c
index 4d84f00..1ee214a 100644
--- a/kexec/firmware_memmap.c
+++ b/kexec/firmware_memmap.c
@@ -164,6 +164,10 @@ static int parse_memmap_entry(const char *entry, struct memory_range *range)
range->type = RANGE_RESERVED;
else if (strcmp(type, "reserved") == 0)
range->type = RANGE_RESERVED;
+ else if (strcmp(type, "Reserved") == 0)
+ range->type = RANGE_RESERVED;
+ else if (strcmp(type, "Unknown E820 type") == 0)
+ range->type = RANGE_RESERVED;
else if (strcmp(type, "ACPI Non-volatile Storage") == 0)
range->type = RANGE_ACPI_NVS;
else if (strcmp(type, "Uncached RAM") == 0)
Baoquan He
2017-05-15 14:07:11 UTC
Permalink
Post by Eric DeVolder
Keep pace with changes to linux arch/x86/kernel/e820.c to
function e820_type_to_string(). With this change, the following
Unknown type (Reserved) while parsing /sys/firmware/memmap/8/type.
Please report this as bug. Using RANGE_RESERVED now.
Unknown type (Unknown E820 type) while parsing /sys/firmware/memmap/4/type.
Please report this as bug. Using RANGE_RESERVED now.
---
kexec/firmware_memmap.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/kexec/firmware_memmap.c b/kexec/firmware_memmap.c
index 4d84f00..1ee214a 100644
--- a/kexec/firmware_memmap.c
+++ b/kexec/firmware_memmap.c
@@ -164,6 +164,10 @@ static int parse_memmap_entry(const char *entry, struct memory_range *range)
range->type = RANGE_RESERVED;
else if (strcmp(type, "reserved") == 0)
range->type = RANGE_RESERVED;
+ else if (strcmp(type, "Reserved") == 0)
+ range->type = RANGE_RESERVED;
+ else if (strcmp(type, "Unknown E820 type") == 0)
+ range->type = RANGE_RESERVED;
Should we change the "reserved" one to "Reserved" so that we don't need
to have "reserved" and "Reserved" at the same time?
Post by Eric DeVolder
else if (strcmp(type, "ACPI Non-volatile Storage") == 0)
range->type = RANGE_ACPI_NVS;
else if (strcmp(type, "Uncached RAM") == 0)
--
2.7.4
_______________________________________________
kexec mailing list
http://lists.infradead.org/mailman/listinfo/kexec
Eric DeVolder
2017-05-17 12:51:06 UTC
Permalink
Post by Baoquan He
Post by Eric DeVolder
Keep pace with changes to linux arch/x86/kernel/e820.c to
function e820_type_to_string(). With this change, the following
Unknown type (Reserved) while parsing /sys/firmware/memmap/8/type.
Please report this as bug. Using RANGE_RESERVED now.
Unknown type (Unknown E820 type) while parsing /sys/firmware/memmap/4/type.
Please report this as bug. Using RANGE_RESERVED now.
---
kexec/firmware_memmap.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/kexec/firmware_memmap.c b/kexec/firmware_memmap.c
index 4d84f00..1ee214a 100644
--- a/kexec/firmware_memmap.c
+++ b/kexec/firmware_memmap.c
@@ -164,6 +164,10 @@ static int parse_memmap_entry(const char *entry, struct memory_range *range)
range->type = RANGE_RESERVED;
else if (strcmp(type, "reserved") == 0)
range->type = RANGE_RESERVED;
+ else if (strcmp(type, "Reserved") == 0)
+ range->type = RANGE_RESERVED;
+ else if (strcmp(type, "Unknown E820 type") == 0)
+ range->type = RANGE_RESERVED;
Should we change the "reserved" one to "Reserved" so that we don't need
to have "reserved" and "Reserved" at the same time?
The lower-case "reserved" has been in use by the kernel for quite a long
while, and upper-case "Reserved" has been recently introduced. I think
removing lower-case "reserved" would result in problems with existing,
older, kernels that still would be using "reserved".
Post by Baoquan He
Post by Eric DeVolder
else if (strcmp(type, "ACPI Non-volatile Storage") == 0)
range->type = RANGE_ACPI_NVS;
else if (strcmp(type, "Uncached RAM") == 0)
--
2.7.4
_______________________________________________
kexec mailing list
http://lists.infradead.org/mailman/listinfo/kexec
Baoquan He
2017-05-19 09:15:38 UTC
Permalink
Post by Eric DeVolder
Post by Baoquan He
Post by Eric DeVolder
diff --git a/kexec/firmware_memmap.c b/kexec/firmware_memmap.c
index 4d84f00..1ee214a 100644
--- a/kexec/firmware_memmap.c
+++ b/kexec/firmware_memmap.c
@@ -164,6 +164,10 @@ static int parse_memmap_entry(const char *entry, struct memory_range *range)
range->type = RANGE_RESERVED;
else if (strcmp(type, "reserved") == 0)
range->type = RANGE_RESERVED;
+ else if (strcmp(type, "Reserved") == 0)
+ range->type = RANGE_RESERVED;
+ else if (strcmp(type, "Unknown E820 type") == 0)
+ range->type = RANGE_RESERVED;
Should we change the "reserved" one to "Reserved" so that we don't need
to have "reserved" and "Reserved" at the same time?
The lower-case "reserved" has been in use by the kernel for quite a long
while, and upper-case "Reserved" has been recently introduced. I think
removing lower-case "reserved" would result in problems with existing,
older, kernels that still would be using "reserved".
Thanks. Then it looks good to me. Ack.

Simon might pick several patches one time every several days. Please
wait.
Post by Eric DeVolder
Post by Baoquan He
Post by Eric DeVolder
else if (strcmp(type, "ACPI Non-volatile Storage") == 0)
range->type = RANGE_ACPI_NVS;
else if (strcmp(type, "Uncached RAM") == 0)
--
2.7.4
_______________________________________________
kexec mailing list
http://lists.infradead.org/mailman/listinfo/kexec
_______________________________________________
kexec mailing list
http://lists.infradead.org/mailman/listinfo/kexec
Simon Horman
2017-05-22 11:43:51 UTC
Permalink
Post by Baoquan He
Post by Eric DeVolder
Post by Baoquan He
Post by Eric DeVolder
diff --git a/kexec/firmware_memmap.c b/kexec/firmware_memmap.c
index 4d84f00..1ee214a 100644
--- a/kexec/firmware_memmap.c
+++ b/kexec/firmware_memmap.c
@@ -164,6 +164,10 @@ static int parse_memmap_entry(const char *entry, struct memory_range *range)
range->type = RANGE_RESERVED;
else if (strcmp(type, "reserved") == 0)
range->type = RANGE_RESERVED;
+ else if (strcmp(type, "Reserved") == 0)
+ range->type = RANGE_RESERVED;
+ else if (strcmp(type, "Unknown E820 type") == 0)
+ range->type = RANGE_RESERVED;
Should we change the "reserved" one to "Reserved" so that we don't need
to have "reserved" and "Reserved" at the same time?
The lower-case "reserved" has been in use by the kernel for quite a long
while, and upper-case "Reserved" has been recently introduced. I think
removing lower-case "reserved" would result in problems with existing,
older, kernels that still would be using "reserved".
Thanks. Then it looks good to me. Ack.
Simon might pick several patches one time every several days. Please
wait.
Yes, I try to pick up new patches within a few working days.
I have applied this one.
Baoquan He
2017-05-23 14:08:25 UTC
Permalink
Post by Simon Horman
Post by Baoquan He
Post by Eric DeVolder
Post by Baoquan He
Post by Eric DeVolder
diff --git a/kexec/firmware_memmap.c b/kexec/firmware_memmap.c
index 4d84f00..1ee214a 100644
--- a/kexec/firmware_memmap.c
+++ b/kexec/firmware_memmap.c
@@ -164,6 +164,10 @@ static int parse_memmap_entry(const char *entry, struct memory_range *range)
range->type = RANGE_RESERVED;
else if (strcmp(type, "reserved") == 0)
range->type = RANGE_RESERVED;
+ else if (strcmp(type, "Reserved") == 0)
+ range->type = RANGE_RESERVED;
+ else if (strcmp(type, "Unknown E820 type") == 0)
+ range->type = RANGE_RESERVED;
Should we change the "reserved" one to "Reserved" so that we don't need
to have "reserved" and "Reserved" at the same time?
The lower-case "reserved" has been in use by the kernel for quite a long
while, and upper-case "Reserved" has been recently introduced. I think
removing lower-case "reserved" would result in problems with existing,
older, kernels that still would be using "reserved".
Thanks. Then it looks good to me. Ack.
Simon might pick several patches one time every several days. Please
wait.
Yes, I try to pick up new patches within a few working days.
I have applied this one.
Thanks, Simon!

Loading...