public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Chao Fan <fanc.fnst@cn.fujitsu.com>
To: Borislav Petkov <bp@alien8.de>
Cc: <linux-kernel@vger.kernel.org>, <x86@kernel.org>,
	<tglx@linutronix.de>, <mingo@redhat.com>, <hpa@zytor.com>,
	<keescook@chromium.org>, <bhe@redhat.com>,
	<msys.mizuma@gmail.com>, <indou.takao@jp.fujitsu.com>,
	<caoj.fnst@cn.fujitsu.com>
Subject: Re: [PATCH v15 5/6] x86/boot: Parse SRAT address from RSDP and store immovable memory
Date: Mon, 21 Jan 2019 17:42:14 +0800	[thread overview]
Message-ID: <20190121094214.GC15754@localhost.localdomain> (raw)
In-Reply-To: <20190121093348.GB15754@localhost.localdomain>

On Mon, Jan 21, 2019 at 05:33:48PM +0800, Chao Fan wrote:
>On Wed, Jan 16, 2019 at 12:01:58PM +0100, Borislav Petkov wrote:
>>On Mon, Jan 07, 2019 at 11:22:42AM +0800, Chao Fan wrote:
>[...]
>>> +
>>> +/* Determine RSDP, based on acpi_os_get_root_pointer(). */
>>> +static acpi_physical_address get_rsdp_addr(void)
>>> +{
>>> +	acpi_physical_address pa;
>>> +
>>> +	pa = get_acpi_rsdp();
>>> +
>>> +	if (!pa)
>>> +		pa = efi_get_rsdp_addr();
>>> +
>>> +	if (!pa)
>>> +		pa = bios_get_rsdp_addr();
>>> +
>>> +	return pa;
>>> +}
>
>Hi Boris,
>
>Talking in Kairui's thread may mislead you, let me clarify:
>I mean I am going to change get_rsdp_addr(). Since I see ACPI code:
>
>>acpi_physical_address __init acpi_os_get_root_pointer(void)
>>{
>>        acpi_physical_address pa;
>>
>>#ifdef CONFIG_KEXEC
>>        if (acpi_rsdp)
>>                return acpi_rsdp;
>>#endif
>>        pa = acpi_arch_get_root_pointer();
>>        if (pa)
>>                return pa;
>
>So we need to parse boot_params->acpi_rsdp_addr also between KEXEC and
>EFI:
>
>static acpi_physical_address get_rsdp_addr(void)
>{
>        acpi_physical_address pa;
>
>        pa = get_acpi_rsdp();
>
>        if (!pa)
>/* This line will be added in next version.*/
>                pa = boot_params->acpi_rsdp_addr;
>
>        if (!pa)
>                pa = efi_get_rsdp_addr();
>
>        if (!pa)
>                pa = bios_get_rsdp_addr();
>
>/* If no acpi_rsdp_addr found in boot_params, fill in it here. */
>
>        return pa;
>}

Or I clear this function as:
static acpi_physical_address get_rsdp_addr(void)
{
        acpi_physical_address pa;

        pa = get_acpi_rsdp();

        if (!pa)
                pa = boot_params->acpi_rsdp_addr;

        if (!pa)
                pa = efi_get_rsdp_addr();

        if (!pa)
                pa = bios_get_rsdp_addr();

        if (pa && !boot_params->acpi_rsdp_addr)
                boot_params->acpi_rsdp_addr = pa;

        return pa;
}

This version may look better, it does not need a bool.

Thanks,
Chao Fan

>
>Then you said I shall fill the boot_params->acpi_rsdp_addr, so in my
>understanding, if there is no acpi_rsdp_addr found in boot_params,
>we can parse RSDP by EFI/BIOS then fill it, other wise if it's found
>int boot_params, we need't to fill it.
>
>Thanks,
>Chao Fan



  reply	other threads:[~2019-01-21  9:43 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-07  3:22 [PATCH v15 0/6] x86/boot/KASLR: Parse ACPI table and limit KASLR to choosing immovable memory Chao Fan
2019-01-07  3:22 ` [PATCH v15 1/6] x86/boot: Copy kstrtoull() to boot/string.c instead of using simple_strtoull() Chao Fan
2019-01-09 12:48   ` Borislav Petkov
2019-01-10  1:15     ` Chao Fan
2019-01-07  3:22 ` [PATCH v15 2/6] x86/boot: Introduce get_acpi_rsdp() to parse RSDP in cmdline from KEXEC Chao Fan
2019-01-10 17:01   ` Borislav Petkov
2019-01-11  1:17     ` Chao Fan
2019-01-07  3:22 ` [PATCH v15 3/6] x86/boot: Introduce efi_get_rsdp_addr() to find RSDP from EFI table Chao Fan
2019-01-10 21:15   ` Borislav Petkov
2019-01-11  1:23     ` Chao Fan
2019-01-11 10:32       ` Borislav Petkov
2019-01-13  9:47         ` Chao Fan
2019-01-13 11:05           ` Borislav Petkov
2019-01-14  1:26             ` Chao Fan
2019-01-14  9:07               ` Borislav Petkov
2019-01-15  7:21                 ` Chao Fan
2019-01-15  9:55                   ` Borislav Petkov
2019-01-16  3:26                     ` Chao Fan
2019-01-07  3:22 ` [PATCH v15 4/6] x86/boot: Introduce bios_get_rsdp_addr() to search RSDP in memory Chao Fan
2019-01-10 21:27   ` Borislav Petkov
2019-01-11  1:27     ` Chao Fan
2019-01-07  3:22 ` [PATCH v15 5/6] x86/boot: Parse SRAT address from RSDP and store immovable memory Chao Fan
2019-01-16  7:28   ` Kairui Song
2019-01-17  1:42     ` Chao Fan
     [not found]     ` <20190117062451.GA588@localhost.localdomain>
2019-01-17  7:57       ` Chao Fan
2019-01-17  8:22         ` Kairui Song
2019-01-17  9:06           ` Juergen Gross
2019-01-16 11:01   ` Borislav Petkov
2019-01-17  1:16     ` Chao Fan
2019-01-17  3:20     ` Chao Fan
2019-01-17 15:27       ` Borislav Petkov
2019-01-18  1:14         ` Chao Fan
2019-01-21  9:33     ` Chao Fan
2019-01-21  9:42       ` Chao Fan [this message]
2019-01-21  9:45         ` Borislav Petkov
2019-01-21  9:51           ` Chao Fan
2019-01-07  3:22 ` [PATCH v15 6/6] x86/boot/KASLR: Limit KASLR to extracting kernel in " Chao Fan
2019-01-16 11:15   ` Borislav Petkov
2019-01-17  1:25     ` Chao Fan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190121094214.GC15754@localhost.localdomain \
    --to=fanc.fnst@cn.fujitsu.com \
    --cc=bhe@redhat.com \
    --cc=bp@alien8.de \
    --cc=caoj.fnst@cn.fujitsu.com \
    --cc=hpa@zytor.com \
    --cc=indou.takao@jp.fujitsu.com \
    --cc=keescook@chromium.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=msys.mizuma@gmail.com \
    --cc=tglx@linutronix.de \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox