Commit d3758f87 authored by Jay Lan's avatar Jay Lan Committed by Tony Luck

[IA64] kexec fails on systems with blocks of uncached memory

Currently a memory segment in memory map with attribute of EFI_MEMORY_UC
is denoted as "System RAM" in /proc/iomem, while memory of attribute
(EFI_MEMORY_WB|EFI_MEMORY_UC) is also labeled the same.

The kexec utility then includes uncached memory as part of vmcore. The
kdump kernel MCA'ed when it tries to save the vmcore to a disk. A normal
"cached" access may cause MCAs.

This patch would label memory with attribute of EFI_MEMORY_UC only as
"Uncached RAM" so that kexec would know not to include it in the vmcore.
I will submit a separate kexec-tools patch to the kexec list.
Signed-off-by: default avatarJay Lan <jlan@sgi.com>
Acked-by: default avatarSimon Horman <horms@verge.net.au>
Signed-off-by: default avatarTony Luck <tony.luck@intel.com>
parent 06f95ea8
...@@ -1232,9 +1232,10 @@ efi_initialize_iomem_resources(struct resource *code_resource, ...@@ -1232,9 +1232,10 @@ efi_initialize_iomem_resources(struct resource *code_resource,
if (md->attribute & EFI_MEMORY_WP) { if (md->attribute & EFI_MEMORY_WP) {
name = "System ROM"; name = "System ROM";
flags |= IORESOURCE_READONLY; flags |= IORESOURCE_READONLY;
} else { } else if (md->attribute == EFI_MEMORY_UC)
name = "Uncached RAM";
else
name = "System RAM"; name = "System RAM";
}
break; break;
case EFI_ACPI_MEMORY_NVS: case EFI_ACPI_MEMORY_NVS:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment