From: Julien Grall <julien.grall@linaro.org>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: xen-devel@lists.xenproject.org, tim@xen.org,
stefano.stabellini@citrix.com, patches@linaro.org
Subject: Re: [PATCH 6/8] xen/arm: Retrieve p2m type in get_page_from_gfn
Date: Mon, 09 Dec 2013 02:36:00 +0000 [thread overview]
Message-ID: <52A52C90.3070205@linaro.org> (raw)
In-Reply-To: <1386260639.20047.109.camel@kazak.uk.xensource.com>
On 12/05/2013 04:23 PM, Ian Campbell wrote:
> On Thu, 2013-12-05 at 15:42 +0000, Julien Grall wrote:
>> Signed-off-by: Julien Grall <julien.grall@linaro.org>
>> ---
>> xen/include/asm-arm/p2m.h | 5 ++---
>> 1 file changed, 2 insertions(+), 3 deletions(-)
>>
>> diff --git a/xen/include/asm-arm/p2m.h b/xen/include/asm-arm/p2m.h
>> index 3de69c4..54d1dab 100644
>> --- a/xen/include/asm-arm/p2m.h
>> +++ b/xen/include/asm-arm/p2m.h
>> @@ -105,9 +105,8 @@ static inline struct page_info *get_page_from_gfn(
>> struct domain *d, unsigned long gfn, p2m_type_t *t, p2m_query_t q)
>> {
>> struct page_info *page;
>> - unsigned long mfn = gmfn_to_mfn(d, gfn);
>> -
>> - ASSERT(t == NULL);
>> + paddr_t maddr = p2m_get_entry(d, pfn_to_paddr(gfn), t);
>> + unsigned long mfn = maddr >> PAGE_SHIFT;
>
> Do we need to eg. convert p2m_invalid into returning NULL instead of
> whatever maddr contains in that case?
In that case maddr will contain INVALID_PADDR, which will turn in
INVALID_MFN with the shift. So we don't need to check the p2m type.
>
> In the case of p2m_mmio_direct we need to be careful because there is no
> struct page. Ah.. here it is in the context:
>> if (!mfn_valid(mfn))
>> return NULL;
>
> Although I wonder if we should convert mmio_direct into NULL even if the
> MMIO region happens to have a struct page? (e.g. due to holes in the
> frametable)
Actually, I think it's fine. get_page will fail because the page won't
belong to the domain. So the function will return NULL.
--
Julien Grall
next prev parent reply other threads:[~2013-12-09 2:36 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-12-05 15:42 [PATCH 0/8] xen/arm: Handle correctly foreign mapping Julien Grall
2013-12-05 15:42 ` [PATCH 1/8] DO NOT APPLY: xen/arm: Correctly support foreign page removing on ARM Julien Grall
2013-12-05 15:42 ` [PATCH 2/8] xen/arm: move mfn_to_p2m_entry in arch/arm/p2m.c Julien Grall
2013-12-05 15:47 ` Ian Campbell
2013-12-05 15:50 ` Julien Grall
2013-12-05 15:42 ` [PATCH 3/8] xen/arm: Implement p2m_type_t as an enum Julien Grall
2013-12-05 15:51 ` Egger, Christoph
2013-12-05 15:56 ` Ian Campbell
2013-12-09 11:16 ` Egger, Christoph
2013-12-09 11:38 ` Ian Campbell
2013-12-05 15:52 ` Ian Campbell
2013-12-05 16:01 ` Julien Grall
2013-12-05 16:14 ` Ian Campbell
2013-12-05 16:28 ` Julien Grall
2013-12-05 16:38 ` Ian Campbell
2013-12-05 16:44 ` Julien Grall
2013-12-05 16:56 ` Ian Campbell
2013-12-05 21:26 ` Julien Grall
2013-12-05 16:07 ` Tim Deegan
2013-12-05 16:19 ` Ian Campbell
2013-12-05 16:31 ` Tim Deegan
2013-12-05 16:39 ` Ian Campbell
2013-12-05 17:24 ` Tim Deegan
2013-12-05 15:42 ` [PATCH 4/8] xen/arm: Store p2m type in each page of the guest Julien Grall
2013-12-05 15:55 ` Ian Campbell
2013-12-05 16:02 ` Ian Campbell
2013-12-05 16:07 ` Julien Grall
2013-12-05 15:42 ` [PATCH 5/8] xen/arm: p2m: Add p2m_get_entry Julien Grall
2013-12-05 16:07 ` Ian Campbell
2013-12-05 16:09 ` Tim Deegan
2013-12-05 15:42 ` [PATCH 6/8] xen/arm: Retrieve p2m type in get_page_from_gfn Julien Grall
2013-12-05 16:23 ` Ian Campbell
2013-12-05 16:45 ` Julien Grall
2013-12-09 2:36 ` Julien Grall [this message]
2013-12-09 9:57 ` Ian Campbell
2013-12-05 15:42 ` [PATCH 7/8] xen/arm: Set foreign page type to p2m_map_foreign Julien Grall
2013-12-05 16:34 ` Ian Campbell
2013-12-05 16:41 ` Julien Grall
2013-12-05 16:54 ` Ian Campbell
2013-12-05 17:39 ` Julien Grall
2013-12-05 17:49 ` Ian Campbell
2013-12-09 2:14 ` Julien Grall
2013-12-05 15:42 ` [PATCH 8/8] xen/arm: grant-table: Support read-only mapping Julien Grall
2013-12-05 16:36 ` Ian Campbell
2013-12-05 15:44 ` [PATCH 0/8] xen/arm: Handle correctly foreign mapping Julien Grall
2013-12-05 17:10 ` Julien Grall
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=52A52C90.3070205@linaro.org \
--to=julien.grall@linaro.org \
--cc=Ian.Campbell@citrix.com \
--cc=patches@linaro.org \
--cc=stefano.stabellini@citrix.com \
--cc=tim@xen.org \
--cc=xen-devel@lists.xenproject.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.