在 2019年05月13日 14:40, Kairui Song 写道: > On Fri, Mar 15, 2019 at 5:36 PM Lianbo Jiang <lijiang@xxxxxxxxxx> wrote: >> >> 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@xxxxxxxxxx> >> Signed-off-by: Brijesh Singh <brijesh.singh@xxxxxxx> >> --- >> 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 >> >> >> _______________________________________________ >> kexec mailing list >> kexec@xxxxxxxxxxxxxxxxxxx >> http://lists.infradead.org/mailman/listinfo/kexec > > Hi Lianbo, > > I've sent another patch similiar to yours: > [PATCH] x86: Always try to fill acpi_rsdp_addr in boot params > > I'll update V2 and your use case should also be covered in that patch, > as we have talked in IRC previously, thanks! OK. I noticed that the RSDP parsing was disabled in upsream kernel. Please refer to the following heading: "x86/boot: Disable RSDP parsing temporarily" So, for this case, no longer need it. Please ignore it. Thanks. Lianbo > > -- > Best Regards, > Kairui Song > _______________________________________________ kexec mailing list kexec@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/kexec