diff options
-rw-r--r-- | kexec/arch/ia64/crashdump-ia64.c | 5 | ||||
-rw-r--r-- | kexec/arch/ia64/kexec-ia64.c | 5 | ||||
-rw-r--r-- | kexec/firmware_memmap.c | 2 | ||||
-rw-r--r-- | kexec/kexec.h | 1 |
4 files changed, 11 insertions, 2 deletions
diff --git a/kexec/arch/ia64/crashdump-ia64.c b/kexec/arch/ia64/crashdump-ia64.c index 338a6af..9a9053a 100644 --- a/kexec/arch/ia64/crashdump-ia64.c +++ b/kexec/arch/ia64/crashdump-ia64.c @@ -192,8 +192,11 @@ static int get_crash_memory_ranges(struct memory_range **range, int *ranges) kernel_code_start = start; kernel_code_end = end; continue; - }else + } else if (memcmp(str, "Uncached RAM\n", 13) == 0) { + type = RANGE_UNCACHED; + } else { continue; + } crash_memory_range[memory_ranges].start = start; crash_memory_range[memory_ranges].end = end; crash_memory_range[memory_ranges].type = type; diff --git a/kexec/arch/ia64/kexec-ia64.c b/kexec/arch/ia64/kexec-ia64.c index 0aefea1..e6e944a 100644 --- a/kexec/arch/ia64/kexec-ia64.c +++ b/kexec/arch/ia64/kexec-ia64.c @@ -139,8 +139,11 @@ int get_memory_ranges(struct memory_range **range, int *ranges, memory_ranges = split_range(memory_ranges, start, end); saved_efi_memmap_size = end - start; continue; - } else + } else if (memcmp(str, "Uncached RAM\n", 13) == 0) { + type = RANGE_UNCACHED; + } else { continue; + } /* * Check if this memory range can be coalesced with * the previous range diff --git a/kexec/firmware_memmap.c b/kexec/firmware_memmap.c index 7a63613..13969d0 100644 --- a/kexec/firmware_memmap.c +++ b/kexec/firmware_memmap.c @@ -158,6 +158,8 @@ static int parse_memmap_entry(const char *entry, struct memory_range *range) 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) + range->type = RANGE_UNCACHED; else { fprintf(stderr, "Unknown type (%s) while parsing %s. Please " "report this as bug. Using RANGE_RESERVED now.\n", diff --git a/kexec/kexec.h b/kexec/kexec.h index 8421c29..1149e76 100644 --- a/kexec/kexec.h +++ b/kexec/kexec.h @@ -109,6 +109,7 @@ struct memory_range { #define RANGE_RESERVED 1 #define RANGE_ACPI 2 #define RANGE_ACPI_NVS 3 +#define RANGE_UNCACHED 4 }; struct kexec_info { |