Re: [PATCH v2] x86/boot: Use EFI setup data if provided

From: Junichi Nomura
Date: Mon Mar 25 2019 - 06:38:06 EST


On 3/25/19 7:15 PM, Dave Young wrote:
> On 03/25/19 at 09:54am, Boris Petkov wrote:
>> On March 25, 2019 9:27:21 AM GMT+01:00, Junichi Nomura <j-nomura@xxxxxxxxxxxxx> wrote:
>>> On 3/25/19 3:59 PM, Dave Young wrote:
>>>> On 03/25/19 at 06:47am, Junichi Nomura wrote:
>>>>> On 3/25/19 3:19 PM, Dave Young wrote:
>>>>>> On 03/25/19 at 02:01pm, Dave Young wrote:
>>>>>> I think normally people do not see this bug, because kernel will
>>> set the
>>>>>> rsdp in boot_params->acpi_rsdp_addr. Maybe you are testing with
>>>>>
>>>>> I think it's only done for file-based kexec interface.
>>>>
>>>> Saw Kairui's another reply, yes, kexec-tools need a patch to fill the
>>>> value as well then.
>>>>
>>>> I would vote for a repost of your old patch with some #ifdef
>>>
>>> Thanks for comments, Dave, Kairui and Baoquan.
>>>
>>> The problem for me is it's a regression in v5.1-rc1, that breaks
>>> existing setup. If early parsing of RSDP is required only for newly
>>> supported configuration, I'm fine such configuration requires
>>> new tools or new options.
>>>
>>> This is the 1st version plus #ifdef around the EFI code.
>>
>> I'm going to repeat that again until you get it:
>>
>> If the kexec kernel should continue to use efi_systab_init() then you
>> should make efi_get_rsdp_addr() exit early in the kexec-ed kernel.
>
> In that way, early parsing will fail in kexeced kernel, am I missing
> something? The early code become complicated but since we have already
> the early acpi parsing why not to make it consistent in kexeced kernel?

AFAIU, early parsing is new code in v5.1-rc1 to support kexec on systems
with hotpluggable memory with KASLR enabled. For systems that requires the
new feature, it may be ok to say "you need to use another kexec interface"
and/or "you need new kexec-tools".

--
Jun'ichi Nomura, NEC Corporation / NEC Solution Innovators, Ltd.