[lkml]   [2019]   [Jan]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH v2 2/2] x86, kexec_file_load: make it work with efi=noruntime or efi=old_map
On Fri, Jan 18, 2019 at 11:26:36AM +0100, Borislav Petkov wrote:
>On Thu, Jan 17, 2019 at 03:41:13PM +0800, Kairui Song wrote:
>> How about we refill the boot_params.acpi_rsdp_addr if it is not valid
>> in early code, so it could be used as a reliable RSDP address source?
>> That should make things easier.
>> But if early code should parse it and store it should be done in
>> Chao's patch, or I can post another patch to do it if Chao's patch is
>> merged.
>Chao's stuff does the as early as possible parsing of RDSP. Then, it
>should be saved into boot_params and everything else should read it from
>there. Simple.

Hi Boris,

So I have changed as this method and put in my mail thread, you may not
notice, so I put here for my function if I need to fill the

static inline acpi_physical_address get_boot_params_rsdp(void)
return boot_params->acpi_rsdp_addr;

static acpi_physical_address get_rsdp_addr(void)
bool boot_params_rsdp_exist;
acpi_physical_address pa;

pa = get_acpi_rsdp();

if (!pa)
pa = get_boot_params_rsdp();

if (!pa) {
pa = efi_get_rsdp_addr();
boot_params_rsdp_exist = false;
boot_params_rsdp_exist = true;

if (!pa)
pa = bios_get_rsdp_addr();

if (pa && !boot_params_rsdp_exist)
boot_params.acpi_rsdp_addr = pa;

return pa;

At the same time, I notice kernel only parses it when
"#ifdef CONFIG_ACPI", we should keep sync with kernel, but I think
we are parsing SRAT, CONFIG_ACPI is needed sure, so I am going to
update the define of EARLY_SRAT_PARSE:

bool "EARLY SRAT parsing"
def_bool y

If I miss something, please let me know.
Or in my PATCHSET, I don't need to fill boot_parameters, just
leave the job another PATCH?

Chao Fan

> Boris.
>Good mailing practices for 400: avoid top-posting and trim the reply.

 \ /
  Last update: 2019-01-21 08:42    [W:0.087 / U:1.276 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site