From: Shannon Zhao <zhaoshenglong@huawei.com>
To: Jan Beulich <JBeulich@suse.com>
Cc: Hangaohuai <hangaohuai@huawei.com>,
Ian Campbell <ian.campbell@citrix.com>,
Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
andrew@fubar.geek.nz,
"Huangpeng (Peter)" <peter.huangpeng@huawei.com>,
Julien Grall <julien.grall@citrix.com>,
Stefano Stabellini <stefano.stabellini@citrix.com>,
David Vrabel <david.vrabel@citrix.com>,
Boris Ostrovsky <boris.ostrovsky@oracle.com>,
xen-devel <xen-devel@lists.xen.org>,
Parth Dixit <parth.dixit@linaro.org>,
Christoffer Dall <christoffer.dall@linaro.org>,
Shannon Zhao <shannon.zhao@linaro.org>
Subject: Re: Design doc of adding ACPI support for arm64 on Xen - version 4
Date: Thu, 20 Aug 2015 11:41:40 +0800 [thread overview]
Message-ID: <55D54C74.4060506@huawei.com> (raw)
In-Reply-To: <55D4A95C020000780009BF99@prv-mh.provo.novell.com>
Hi Jan,
On 2015/8/19 22:05, Jan Beulich wrote:
>>>> On 19.08.15 at 14:13, <zhaoshenglong@huawei.com> wrote:
>> 1. Create minimal DT to pass required information to Dom0
>> ----------------------------------------------------------
>> Since there are no legacy interfaces like x86 for Dom0 to get the
>> booting required information on ARM, here we use the minimal DT which is
>> used by UEFI stub communicating with Linux kernel as well.
>>
>> The UEFI stub is a feature that extends the Image/zImage into a valid
>> UEFI PE/COFF executable, including a loader application that makes it
>> possible to load the kernel directly from the UEFI shell, boot menu, or
>> one of the lightweight bootloaders like Gummiboot or rEFInd.
>>
>> The kernel image built with stub support remains a valid kernel image
>> for booting in non-UEFI environments and the UEFI stub will be jumped
>> for non-UEFI environments.
>
> Isn't this backwards? I.e. ...
>
Sorry, what do you mean here?
It's used for backwards compatibility. The reason I mention it here is
to explain that Xen acts as a EFI stub which creates a minimal DT and
load kernel image. Even though the kernel image built with EFI stub
which will be jumped, the kernel could boot well as before.
>> When booting in UEFI mode, the UEFI stub will create a minimal DT in
>> order to pass the command line and other informations (such as the EFI
>> memory table) to the kernel. And when booting with ACPI, kernel will get
>> command line, ACPI root table address and memory map information from
>> the minimal DT. Also, it will check if the DT contains only the /chosen
>> node to know whether it boots with DT or ACPI.
>>
>> In addition, the current names of these properties with a "linux,"
>> prefix in the minimal DT are Linux specified. It needs to standardize
>> them so that other OS(such as FreeBSD) could reuse them in the future.
>> So we drop the "linux," prefix of UEFI parameters and change the names
>> in Linux kernel as well.
>
> ... wouldn't it make more sense to leave the generation of these
> Linux-specific tags to Linux (and allow them to continue to be Linux
> specific), by the same or a second, parallel (Xen) stub? This would
> then also move at least some of the awkward table creation (and
> ideally also copying) to that stub.
>
>> All these tables will be copied to Dom0 memory except that the reused
>> tables(DSDT, SPCR, GTDT, etc) will be mapped to Dom0.
>
> I continue to be puzzled by this - all of the tables should be in identical
> kinds of memory, no matter whether they get mapped or copied. Yet
> copying to Dom0 memory to me implies memory owned by Dom0 (and
> how the kernel knows to not use it as "normal" RAM is left unsaid),
> while mapping to me implies memory _not_ owned by Dom0 (much
> like x86's E820 reserved type or UEFI's EfiReservedMemoryType).
>
These will be described in EFI_MEMORY_DESCRIPTOR table. For Dom0 memory
range, the Type is EfiConventionalMemory. For ACPI tables whether it's
new created or reused, the Type is EfiACPIReclaimMemory. For EFI System
table and Memory Descriptor table, the Type is EfiReservedMemoryType.
--
Shannon
next prev parent reply other threads:[~2015-08-20 3:41 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-19 12:13 Design doc of adding ACPI support for arm64 on Xen - version 4 Shannon Zhao
2015-08-19 14:05 ` Jan Beulich
2015-08-19 18:37 ` Julien Grall
2015-08-20 9:22 ` Jan Beulich
2015-08-20 3:41 ` Shannon Zhao [this message]
2015-08-20 9:30 ` Jan Beulich
2015-08-20 12:56 ` Shannon Zhao
2015-08-20 14:06 ` Jan Beulich
2015-08-21 2:25 ` Shannon Zhao
2015-08-21 10:01 ` Jan Beulich
2015-08-27 0:37 ` Julien Grall
2015-08-27 7:52 ` Jan Beulich
2015-08-27 13:50 ` Shannon Zhao
2015-08-27 14:13 ` Jan Beulich
2015-08-27 14:21 ` Shannon Zhao
2015-08-19 15:02 ` Roger Pau Monné
2015-08-20 3:07 ` Shannon Zhao
2015-08-20 4:58 ` Julien Grall
2015-08-20 8:20 ` Roger Pau Monné
2015-08-20 11:22 ` Shannon Zhao
2015-08-20 11:28 ` Roger Pau Monné
2015-08-20 12:13 ` Jan Beulich
2015-08-20 12:29 ` Shannon Zhao
2015-08-20 13:46 ` Roger Pau Monné
2015-08-20 14:09 ` Jan Beulich
2015-08-21 3:04 ` Shannon Zhao
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=55D54C74.4060506@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.