x86/kdump/64: Restrict kdump kernel reservation to <64TB
authorBaoquan He <bhe@redhat.com>
Fri, 24 May 2019 07:38:10 +0000 (15:38 +0800)
committerThomas Gleixner <tglx@linutronix.de>
Fri, 28 Jun 2019 05:14:59 +0000 (07:14 +0200)
commit8ff80fbe7e9870078b1cc3c2cdd8f3f223b333a9
treeee44f3418b39e544da7b06dcbf90e6c09f07ad68
parentee338b9ee2822e65a85750da6129946c14962410
x86/kdump/64: Restrict kdump kernel reservation to <64TB

Restrict kdump to only reserve crashkernel below 64TB.

The reaons is that the kdump may jump from a 5-level paging mode to a
4-level paging mode kernel. If a 4-level paging mode kdump kernel is put
above 64TB, then the kdump kernel cannot start.

The 1st kernel reserves the kdump kernel region during bootup. At that
point it is not known whether the kdump kernel has 5-level or 4-level
paging support.

To support both restrict the kdump kernel reservation to the lower 64TB
address space to ensure that a 4-level paging mode kdump kernel can be
loaded and successfully started.

[ tglx: Massaged changelog ]

Signed-off-by: Baoquan He <bhe@redhat.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Acked-by: Dave Young <dyoung@redhat.com>
Cc: bp@alien8.de
Cc: hpa@zytor.com
Link: https://lkml.kernel.org/r/20190524073810.24298-4-bhe@redhat.com
arch/x86/kernel/setup.c
include/linux/sizes.h