All of lore.kernel.org
 help / color / mirror / Atom feed
From: Shannon Zhao <zhaoshenglong@huawei.com>
To: Jan Beulich <JBeulich@suse.com>, shannon.zhao@linaro.org
Cc: hangaohuai@huawei.com, ian.campbell@citrix.com,
	stefano.stabellini@eu.citrix.com, andrew@fubar.geek.nz,
	peter.huangpeng@huawei.com, julien.grall@citrix.com,
	stefano.stabellini@citrix.com, david.vrabel@citrix.com,
	boris.ostrovsky@oracle.com, xen-devel@lists.xen.org,
	parth.dixit@linaro.org, christoffer.dall@linaro.org
Subject: Re: Design doc of adding ACPI support for arm64 on Xen - version 3
Date: Tue, 18 Aug 2015 17:34:47 +0800	[thread overview]
Message-ID: <55D2FC37.4000303@huawei.com> (raw)
In-Reply-To: <55D312FE020000780009B9A1@prv-mh.provo.novell.com>



On 2015/8/18 17:11, Jan Beulich wrote:
>>>> On 18.08.15 at 10:21, <zhaoshenglong@huawei.com> wrote:
> 
>>
>> On 2015/8/18 16:15, Jan Beulich wrote:
>>>>>> On 18.08.15 at 09:35, <zhaoshenglong@huawei.com> wrote:
>>>> Hi Jan,
>>>>
>>>> On 2015/8/18 13:14, Jan Beulich wrote:
>>>>>>>> Shannon Zhao <zhaoshenglong@huawei.com> 08/18/15 5:46 AM >>>
>>>>>> On 2015/8/17 23:33, Jan Beulich wrote:
>>>>>>>>>> On 14.08.15 at 16:59, <shannon.zhao@linaro.org> wrote:
>>>>>>>> 1. Copy and change some EFI and ACPI tables
>>>>>>>> -------------------------------------------
>>>>>>>
>>>>>>> While some explanation on the reasons for this was given in the past
>>>>>>> discussion, I'm still missing a word on the "why" for each of these here.
>>>>>>>
>>>>>>>> a) Copy EFI_SYSTEM_TABLE and change the value of FirmwareVendor,
>>>>>>>> VendorGuid, VendorTable, ConfigurationTable. These changes are not very
>>>>>>>> special and it just assign values to these members.
>>>>>>>
>>>>>>> I continue to question the need for fiddling with this table, not the
>>>>>>> least because I don't see how you intend to hand it to the Dom0
>>>>>>> kernel: Are you expecting to call the kernel's ordinary EFI entry
>>>>>>> point, despite it not itself running on EFI firmware?
>>>>>>>
>>>>>> Dom0 gets UEFI info from the minimal DT when booting with UEFI.
>>>>>> And the main purpose to create a EFI_SYSTEM_TABLE is to provide the ACPI
>>>>>> table root (RSDP) address to Dom0, so it could find the ACPI table.
>>>>>
>>>>> For that passing the configuration table would suffice. The more that Julien
>>>>> in his reply said you're not even intending to use the kernel's EFI stub. 
>>>> I.e.
>>>>> the question remains: How would you expect to hand the System Table
>>>>> pointer to Dom0?
>>>>>
>>
>> The System Table pointer will be passed to Dom0 through the minimal DT
>> property "linux,uefi-system-table".
> 
> And this is a requirement for Linux? I.e. it can't do with just the
> Configuration Table (which architecturally would be more clean imo)?
> 

IIUC, this is a requirement for Linux. Because when Linux parses the
minimal DT, it uses below dt_params to match the DT properties. If it
doesn't match any of them, it will fial.
See efi_get_fdt_params in drivers/firmware/efi/efi.c.

static __initdata struct {
	const char name[32];
	const char propname[32];
	int offset;
	int size;
} dt_params[] = {
	UEFI_PARAM("System Table", "linux,uefi-system-table", system_table),
	UEFI_PARAM("MemMap Address", "linux,uefi-mmap-start", mmap),
	UEFI_PARAM("MemMap Size", "linux,uefi-mmap-size", mmap_size),
	UEFI_PARAM("MemMap Desc. Size", "linux,uefi-mmap-desc-size", desc_size),
	UEFI_PARAM("MemMap Desc. Version", "linux,uefi-mmap-desc-ver", desc_ver)
};

Another choice to pass ACPI root table address is to use the kernel
parameter "acpi_rsdp". But it still needs to supply the property
"linux,uefi-system-table" in DT to make the EFI driver works. While the
value of the "linux,uefi-system-table" could be something invalid, so
Dom0 would not use the EFI System table.

-- 
Shannon

  reply	other threads:[~2015-08-18  9:34 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-14 14:59 Design doc of adding ACPI support for arm64 on Xen - version 3 Shannon Zhao
2015-08-14 15:17 ` Julien Grall
2015-08-17 13:01   ` Shannon Zhao
2015-08-17 16:10     ` Julien Grall
2015-08-18  3:19       ` Shannon Zhao
2015-08-18  6:36         ` Julien Grall
2015-08-18  7:23           ` Shannon Zhao
2015-08-18 16:13             ` Julien Grall
2015-08-14 15:59 ` Konrad Rzeszutek Wilk
2015-08-17 15:33 ` Jan Beulich
2015-08-17 16:19   ` Julien Grall
2015-08-18  5:10     ` Jan Beulich
2015-08-18  6:43       ` Julien Grall
2015-08-18  7:01         ` Jan Beulich
2015-08-18  7:46           ` Shannon Zhao
2015-08-18 19:01           ` Julien Grall
2015-08-18  3:41   ` Shannon Zhao
2015-08-18  5:14     ` Jan Beulich
2015-08-18  7:35       ` Shannon Zhao
2015-08-18  8:15         ` Jan Beulich
2015-08-18  8:21           ` Shannon Zhao
2015-08-18  9:11             ` Jan Beulich
2015-08-18  9:34               ` Shannon Zhao [this message]
2015-08-18 19:00                 ` Julien Grall
2015-09-02 11:43                   ` Ian Campbell

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=55D2FC37.4000303@huawei.com \
    --to=zhaoshenglong@huawei.com \
    --cc=JBeulich@suse.com \
    --cc=andrew@fubar.geek.nz \
    --cc=boris.ostrovsky@oracle.com \
    --cc=christoffer.dall@linaro.org \
    --cc=david.vrabel@citrix.com \
    --cc=hangaohuai@huawei.com \
    --cc=ian.campbell@citrix.com \
    --cc=julien.grall@citrix.com \
    --cc=parth.dixit@linaro.org \
    --cc=peter.huangpeng@huawei.com \
    --cc=shannon.zhao@linaro.org \
    --cc=stefano.stabellini@citrix.com \
    --cc=stefano.stabellini@eu.citrix.com \
    --cc=xen-devel@lists.xen.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.