On Wed, Jan 16, 2019 at 7:10 AM Borislav Petkov <bp@xxxxxxxxx> wrote: > > +#ifdef CONFIG_ACPI > > + /* Setup ACPI RSDP pointer in case EFI is not available in second kernel */ > > + if (!acpi_disabled && (!efi_enabled(EFI_RUNTIME_SERVICES) || efi_enabled(EFI_OLD_MEMMAP))) { > > + /* Copied from acpi_os_get_root_pointer accordingly */ > > + params->acpi_rsdp_addr = boot_params.acpi_rsdp_addr; > > + if (!params->acpi_rsdp_addr) { > > + if (efi_enabled(EFI_CONFIG_TABLES)) { > > + if (efi.acpi20 != EFI_INVALID_TABLE_ADDR) > > + params->acpi_rsdp_addr = efi.acpi20; > > + else if (efi.acpi != EFI_INVALID_TABLE_ADDR) > > + params->acpi_rsdp_addr = efi.acpi; > > + } else if (IS_ENABLED(CONFIG_ACPI_LEGACY_TABLES_LOOKUP)) { > > + acpi_find_root_pointer(¶ms->acpi_rsdp_addr); > > + } > > + } > > + if (!params->acpi_rsdp_addr) > > + pr_warn("RSDP is not available for second kernel\n"); > > + } > > #endif > > Amazing the amount of ACPI RDSP parsing and fiddling patches flying > around these days... > > In any case, this needs to be synchronized with: > > https://lkml.kernel.org/r/20190107032243.25324-1-fanc.fnst@xxxxxxxxxxxxxx > > and checked whether the above can be used instead of sprinkling of ACPI > parsing code left and right. > > Thx. Hi thanks for the suggestion. I didn't see a way to reuse things in that patch series, situation is different, in that patch it needs to get RSDP in very early boot stage so it did everything from scratch, in this patch kexec_file_load need to get RSDP too, but everything is well setup so things are a lot easier, just read from current boot_prams, efi and fallback to acpi_find_root_pointer should be good. And that patch series also need to consider boot_params.acpi_rsdp_addr value, or it won't work if the system is rebooted with kexec, efi is disabled and acpi_rsdp is provided by boot_params (Xen PVH guests also need to get acpi_rsdp from boot_params according to commit message of ae7e1238e68f2a472a125673ab506d49158c1889). Will add some comment and discuss. > > -- > Regards/Gruss, > Boris. > > Good mailing practices for 400: avoid top-posting and trim the reply. -- Best Regards, Kairui Song _______________________________________________ kexec mailing list kexec@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/kexec