summaryrefslogtreecommitdiff
path: root/kexec/arch/i386/kexec-x86.c
diff options
context:
space:
mode:
authorDave Young <dyoung@redhat.com>2014-05-27 13:52:08 +0800
committerSimon Horman <horms@verge.net.au>2014-05-28 08:44:30 +0900
commit6f333539533523add760b2512787b06c79e82c13 (patch)
tree9d093f8238c8240e5827cc4bed1cacd5da82970f /kexec/arch/i386/kexec-x86.c
parentc96b723e17eb4af689de494b636d8bded4b98c88 (diff)
kexec-tools: add noefi arch cmdline option
For kernel boot with efi=old_map or some quirked machines like SGI UV they use old ioremap instead of 1:1 mapping. But kexec efi support depends on the 1:1 mapping thus we need to switch to use the old way There's a kernel patch for exporting the efi flags so we can check the memory mapping method. But user may want to explictly disable efi boot for unknown reasons. So here add a new arch option '--noefi' for this case. Signed-off-by: Dave Young <dyoung@redhat.com> Signed-off-by: Simon Horman <horms@verge.net.au>
Diffstat (limited to 'kexec/arch/i386/kexec-x86.c')
-rw-r--r--kexec/arch/i386/kexec-x86.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/kexec/arch/i386/kexec-x86.c b/kexec/arch/i386/kexec-x86.c
index 0b58dff..0f23eb9 100644
--- a/kexec/arch/i386/kexec-x86.c
+++ b/kexec/arch/i386/kexec-x86.c
@@ -55,6 +55,7 @@ void arch_usage(void)
" --elf32-core-headers Prepare core headers in ELF32 format\n"
" --elf64-core-headers Prepare core headers in ELF64 format\n"
" --pass--memmap-cmdline Pass memory map via command line in kexec on panic case\n"
+ " --noefi Disable efi support\n"
);
}
@@ -66,6 +67,7 @@ struct arch_options_t arch_options = {
.console_serial = 0,
.core_header_type = CORE_TYPE_UNDEF,
.pass_memmap_cmdline = 0,
+ .noefi = 0,
};
int arch_process_options(int argc, char **argv)
@@ -137,6 +139,10 @@ int arch_process_options(int argc, char **argv)
break;
case OPT_PASS_MEMMAP_CMDLINE:
arch_options.pass_memmap_cmdline = 1;
+ break;
+ case OPT_NOEFI:
+ arch_options.noefi = 1;
+ break;
}
}
/* Reset getopt for the next pass; called in other source modules */