diff options
author | WANG Chao <chaowang@redhat.com> | 2014-04-22 10:56:47 +0800 |
---|---|---|
committer | Simon Horman <horms@verge.net.au> | 2014-04-23 09:11:03 +0900 |
commit | 39643abaedc3a45a89207c4c19b7c4d1a60e8252 (patch) | |
tree | dadd6a1852d2731f75dfb802c169138bef3dd37d /kexec/arch/i386/x86-linux-setup.h | |
parent | b60e9630c8529a660cd24755cf5fe76f346e1dae (diff) |
x86: Pass memory range via E820 for kdump
command line size is restricted by kernel, sometimes memmap=exactmap has
too many memory ranges to pass to cmdline. And also memmap=exactmap and
kASLR doesn't work together.
A better approach, to pass the memory ranges for crash kernel to boot
into, is filling the memory ranges into E820.
boot_params only got 128 slots for E820 map to fit in, when the number of
memory map exceeds 128, use setup_data to pass the rest as extended E820
memory map.
kexec boot could also benefit from setup_data in case E820 memory map
exceeds 128.
Now this new approach becomes default instead of memmap=exactmap.
saved_max_pfn users can specify --pass-memmap-cmdline to use the
exactmap approach.
Signed-off-by: WANG Chao <chaowang@redhat.com>
Tested-by: Linn Crosetto <linn@hp.com>
Reviewed-by: Linn Crosetto <linn@hp.com>
Acked-by: Dave Young <dyoung@redhat.com>
Signed-off-by: Simon Horman <horms@verge.net.au>
Diffstat (limited to 'kexec/arch/i386/x86-linux-setup.h')
-rw-r--r-- | kexec/arch/i386/x86-linux-setup.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/kexec/arch/i386/x86-linux-setup.h b/kexec/arch/i386/x86-linux-setup.h index 6fb84b4..f5d23d3 100644 --- a/kexec/arch/i386/x86-linux-setup.h +++ b/kexec/arch/i386/x86-linux-setup.h @@ -30,5 +30,6 @@ void setup_linux_system_parameters(struct kexec_info *info, /* command line parameter may be appended by purgatory */ #define PURGATORY_CMDLINE_SIZE 64 extern int bzImage_support_efi_boot; +extern struct arch_options_t arch_options; #endif /* X86_LINUX_SETUP_H */ |