|
@@ -987,6 +987,9 @@ static void __init reserve_crashkernel(void)
|
|
|
|
|
|
if (crash_base <= 0) {
|
|
if (crash_base <= 0) {
|
|
unsigned long long crash_max = idmap_to_phys((u32)~0);
|
|
unsigned long long crash_max = idmap_to_phys((u32)~0);
|
|
|
|
+ unsigned long long lowmem_max = __pa(high_memory - 1) + 1;
|
|
|
|
+ if (crash_max > lowmem_max)
|
|
|
|
+ crash_max = lowmem_max;
|
|
crash_base = memblock_find_in_range(CRASH_ALIGN, crash_max,
|
|
crash_base = memblock_find_in_range(CRASH_ALIGN, crash_max,
|
|
crash_size, CRASH_ALIGN);
|
|
crash_size, CRASH_ALIGN);
|
|
if (!crash_base) {
|
|
if (!crash_base) {
|