From: Shannon Zhao <zhaoshenglong@huawei.com>
To: Julien Grall <julien.grall@citrix.com>,
Shannon Zhao <shannon.zhao@linaro.org>,
xen-devel <xen-devel@lists.xen.org>,
Christoffer Dall <christoffer.dall@linaro.org>,
Ian Campbell <ian.campbell@citrix.com>,
Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
Stefano Stabellini <stefano.stabellini@citrix.com>,
Jan Beulich <jbeulich@suse.com>,
Parth Dixit <parth.dixit@linaro.org>,
andrew@fubar.geek.nz,
Boris Ostrovsky <boris.ostrovsky@oracle.com>,
David Vrabel <david.vrabel@citrix.com>,
Roger Pau Monne <roger.pau@citrix.com>
Cc: Hangaohuai <hangaohuai@huawei.com>,
"Huangpeng (Peter)" <peter.huangpeng@huawei.com>
Subject: Re: Design doc of adding ACPI support for arm64 on Xen - version 5
Date: Tue, 1 Sep 2015 12:12:24 +0800 [thread overview]
Message-ID: <55E525A8.3010302@huawei.com> (raw)
In-Reply-To: <55E449DA.6080309@citrix.com>
On 2015/8/31 20:34, Julien Grall wrote:
>
>
> On 31/08/2015 13:03, Shannon Zhao wrote:
>>>> Currently I use the last RAM bank(kinfo->mem.bank[nr_banks - 1]) to
>>>> calculate the start address of non-RAM place. I'm not sure there
>>>> will be
>>>> no MMIO at that place. Do you have any good idea to find such sure and
>>>> safe non-ram place?
>>>
>>> It's not a safe place because with the direct mapping for the RAM, DOM0
>>> RAM could live in the last bank.
>>
>> I put the tables after the last bank currently.
>
> I misread your suggestion and though you were planning to use the last
> host memory bank region for the UEFI tables.
>
> So what you are suggesting is not safe at all, what does ensure you that
> there is no MMIO right after the last DOM0 bank? The DOM0 RAM region may
> lives at the edge of a host RAM bank.
>
Yes, you're right.
>>
>>> Furthermore, for the grant table
>>> region, we are re-using the RAM region used by Xen (find_gnttab_region),
>>> so it may clash with it too because Xen is relocated as high as
>>> possible.
>>>
>>
>> Oh, I didn't realize this.
>>
>>> Although, given that the grant table region will be found by Linux when
>>> ACPI is used (see your section 3.), we could be able to re-use the Xen
>>> region to store the new tables/structures.
>>>
>>
>> So you mean it's fine to put the tables after last bank of Dom0 RAM?
>
> No, see my answer above. I'm suggesting to re-use the same trick as we
> do for the grant table region. We know that this region will never be
> allocated in the DOM0 address space either because of the direct mapping
> or because it's very unlikely in the case of the non-direct mapping (Xen
> RAM region is very high).
>
I tried this. Directly use the "kinfo->gnttab_start = __pa(_stext)" as
the address where these tables are mapped to Dom0. But the value of
gnttab_start is lower than the start of RAM, so Dom0 ingore these
regions and boot failed. see early_init_dt_add_memory_arch()
>>
>> In addition, how does UEFI find the space to place the tables? Could we
>> use the same way?
>
> I think that those tables are living in the RAM and region used are
> marked as reserved.
>
So can we use the same way for Dom0? I think the Linux will reserve the
regions for EFI in reserve_regions(). Therefore, Dom0 will not use these
reserved regions for other use.
--
Shannon
next prev parent reply other threads:[~2015-09-01 4:12 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-28 9:45 Design doc of adding ACPI support for arm64 on Xen - version 5 Shannon Zhao
2015-08-28 12:55 ` Julien Grall
2015-08-29 1:00 ` Shannon Zhao
2015-08-31 7:33 ` Jan Beulich
2015-08-31 11:44 ` Julien Grall
2015-08-31 12:03 ` Shannon Zhao
2015-08-31 12:34 ` Julien Grall
2015-09-01 4:12 ` Shannon Zhao [this message]
2015-09-01 11:28 ` Julien Grall
2015-09-01 12:35 ` Shannon Zhao
2015-09-01 13:40 ` Julien Grall
2015-09-01 14:03 ` Jan Beulich
2015-09-01 14:20 ` Julien Grall
2015-09-02 6:02 ` Shannon Zhao
2015-09-02 8:41 ` Jan Beulich
2015-09-02 9:18 ` Christoffer Dall
2015-09-02 11:15 ` Julien Grall
2015-09-02 9:25 ` Shannon Zhao
2015-09-02 12:30 ` Jan Beulich
2015-09-02 11:09 ` Julien Grall
2015-09-02 12:02 ` Shannon Zhao
2015-09-02 12:52 ` Julien Grall
2015-09-02 13:26 ` Ian Campbell
2015-09-02 13:48 ` Julien Grall
2015-09-02 13:54 ` Ian Campbell
2015-09-02 13:57 ` Christoffer Dall
2015-09-02 15:27 ` Leif Lindholm
2015-09-02 15:37 ` Ard Biesheuvel
2015-09-02 14:00 ` Jan Beulich
2015-09-02 12:58 ` Ian Campbell
2015-08-28 15:06 ` Jan Beulich
2015-08-29 1:29 ` Shannon Zhao
2015-08-31 7:39 ` Jan Beulich
2015-08-31 8:51 ` Shannon Zhao
2015-08-31 9:40 ` Jan Beulich
2015-08-31 11:31 ` Shannon Zhao
2015-08-31 11:46 ` Jan Beulich
2015-09-02 12:54 ` Ian Campbell
2015-09-02 13:59 ` Shannon Zhao
2015-09-02 14:24 ` Ian Campbell
2015-09-02 12:18 ` Ian Campbell
2015-09-07 3:37 ` Shannon Zhao
2015-09-07 10:47 ` Stefano Stabellini
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=55E525A8.3010302@huawei.com \
--to=zhaoshenglong@huawei.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=jbeulich@suse.com \
--cc=julien.grall@citrix.com \
--cc=parth.dixit@linaro.org \
--cc=peter.huangpeng@huawei.com \
--cc=roger.pau@citrix.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.