[PATCH] kexec/x86: Unconditionally add the acpi_rsdp command line

Lianbo Jiang lijiang at redhat.com
Fri Mar 15 02:35:47 PDT 2019


The Linux kernel commit 3a63f70bf4c3 introduces the early parsing
of the RSDP. This means that boot loader must either set the
boot_params.acpi_rsdp_addr or pass a command line 'acpi_rsdp=xxx'
to tell the RDSP physical address.

Currently, kexec neither sets the boot_params.acpi_rsdp or passes
acpi_rsdp command line if it sees the first kernel support efi
runtime. This is causing the second kernel boot failure.
The EFI runtime is not available so early in the boot process so
unconditionally pass the 'acpi_rsdp=xxx' to the second kernel.

Signed-off-by: Lianbo Jiang <lijiang at redhat.com>
Signed-off-by: Brijesh Singh <brijesh.singh at amd.com>
---
 kexec/arch/i386/crashdump-x86.c | 17 +----------------
 1 file changed, 1 insertion(+), 16 deletions(-)

diff --git a/kexec/arch/i386/crashdump-x86.c b/kexec/arch/i386/crashdump-x86.c
index 140f45b..a29b15b 100644
--- a/kexec/arch/i386/crashdump-x86.c
+++ b/kexec/arch/i386/crashdump-x86.c
@@ -35,7 +35,6 @@
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <unistd.h>
-#include <dirent.h>
 #include "../../kexec.h"
 #include "../../kexec-elf.h"
 #include "../../kexec-syscall.h"
@@ -772,18 +771,6 @@ static enum coretype get_core_type(struct crash_elf_info *elf_info,
 	}
 }
 
-static int sysfs_efi_runtime_map_exist(void)
-{
-	DIR *dir;
-
-	dir = opendir("/sys/firmware/efi/runtime-map");
-	if (!dir)
-		return 0;
-
-	closedir(dir);
-	return 1;
-}
-
 /* Appends 'acpi_rsdp=' commandline for efi boot crash dump */
 static void cmdline_add_efi(char *cmdline)
 {
@@ -978,9 +965,7 @@ int load_crashdump_segments(struct kexec_info *info, char* mod_cmdline,
 	dbgprintf("Created elf header segment at 0x%lx\n", elfcorehdr);
 	if (delete_memmap(memmap_p, &nr_memmap, elfcorehdr, memsz) < 0)
 		return -1;
-	if (!bzImage_support_efi_boot || arch_options.noefi ||
-	    !sysfs_efi_runtime_map_exist())
-		cmdline_add_efi(mod_cmdline);
+	cmdline_add_efi(mod_cmdline);
 	cmdline_add_elfcorehdr(mod_cmdline, elfcorehdr);
 
 	/* Inform second kernel about the presence of ACPI tables. */
-- 
2.17.1




More information about the kexec mailing list