summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--kexec/arch/ia64/crashdump-ia64.c5
-rw-r--r--kexec/arch/ia64/kexec-ia64.c5
-rw-r--r--kexec/firmware_memmap.c2
-rw-r--r--kexec/kexec.h1
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 {