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 v5 07/10] xen/arm: Handle remove foreign mapping
Date: Tue, 17 Dec 2013 15:06:28 +0000 [thread overview]
Message-ID: <52B06874.5020608@linaro.org> (raw)
In-Reply-To: <1387279118.27441.40.camel@kazak.uk.xensource.com>
On 12/17/2013 11:18 AM, Ian Campbell wrote:
> On Mon, 2013-12-16 at 17:37 +0000, Julien Grall wrote:
>> Modify get_page_from_gfn to take reference on foreign mapping. This will avoid
>> specific handling in the common code.
>>
>> Signed-off-by: Julien Grall <julien.grall@linaro.org>
>>
>> ---
>> Changes in v4.2:
>> - get_page_from_gfn: move foreign checking before get_page
>> - add assert fdom != dom
>> Changes in v4.1:
>> - Remove specific p2m handling in common code
>> - Handle foreign mapping in get_page_from_gfn
>> Changes in v4:
>> - Split patch #6 from dom0 pvh series v6.2 to retrieve only common
>> code.
>> - Rework commit title
>> - Rename xen_rem_foreign_from_p2m in p2m_remove_foreign
>> - Get the mfn from the pte. We are not sure that maddr given in
>> parameters is valid
>> Changes in v3:
>> - Move put_page in create_p2m_entries
>> - Move xenmem_rem_foreign_from_p2m in arch/arm/p2m.c
>> Changes in v2:
>> - Introduce the patch
>> ---
>> xen/arch/arm/p2m.c | 15 +++++++++++++--
>> xen/include/asm-arm/p2m.h | 12 ++++++++++++
>> 2 files changed, 25 insertions(+), 2 deletions(-)
>>
>> diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c
>> index 9bdcacd..d05fdff 100644
>> --- a/xen/arch/arm/p2m.c
>> +++ b/xen/arch/arm/p2m.c
>> @@ -317,10 +317,21 @@ static int create_p2m_entries(struct domain *d,
>> break;
>> case REMOVE:
>> {
>> - lpae_t pte;
>> + lpae_t pte = third[third_table_offset(addr)];
>> + unsigned long mfn;
>> +
>> + maddr = (pte.bits & PADDR_MASK & PAGE_MASK);
>> + mfn = paddr_to_pfn(maddr);
>
> FWIW mfn = pte.p2m.base, I think. I'm not sure we use this everywhere we
> could.
The patch #8 which relinquish memory doesn't give the right mfn in
parameters.
It's because, you will need to look for each gfn the translated mfn (you
can't assumed the mfn are contiguous). So the loop will go back to the
version 3.
>
>> +
>> + /* TODO: Handle other p2m type */
>> + if ( pte.p2m.valid && p2m_is_foreign(pte.p2m.type) )
>
> How useful is p2m_is_foreign now that this stuff doesn't need to be in
> common code?
I'm not sure to understand. Do you mean the macro? If so it's only for
convenience.
> Both of the above are really just observations rather than requests for
> change, so:
> Acked-by: Ian Campbell <ian.campbell@citrix.com>
Thanks,
--
Julien Grall
next prev parent reply other threads:[~2013-12-17 15:06 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-12-16 17:37 [PATCH v5 00/10] xen/arm: Handle correctly foreign mapping Julien Grall
2013-12-16 17:37 ` [PATCH v5 01/10] xen/arm: Introduce steps in domain_relinquish_resource Julien Grall
2013-12-16 17:37 ` [PATCH v5 02/10] xen/arm: move mfn_to_p2m_entry in arch/arm/p2m.c Julien Grall
2013-12-16 17:37 ` [PATCH v5 03/10] xen/arm: Implement p2m_type_t as an enum Julien Grall
2013-12-16 17:37 ` [PATCH v5 04/10] xen/arm: Store p2m type in each page of the guest Julien Grall
2013-12-16 17:49 ` Ian Campbell
2013-12-16 22:54 ` Julien Grall
2013-12-16 17:37 ` [PATCH v5 05/10] xen/arm: p2m: Extend p2m_lookup parameters to retrieve the p2m type Julien Grall
2013-12-17 11:12 ` Ian Campbell
2013-12-16 17:37 ` [PATCH v5 06/10] xen/arm: Retrieve p2m type in get_page_from_gfn Julien Grall
2013-12-17 11:13 ` Ian Campbell
2013-12-16 17:37 ` [PATCH v5 07/10] xen/arm: Handle remove foreign mapping Julien Grall
2013-12-17 11:18 ` Ian Campbell
2013-12-17 15:06 ` Julien Grall [this message]
2013-12-17 15:21 ` Ian Campbell
2013-12-17 15:44 ` Julien Grall
2013-12-17 15:45 ` Ian Campbell
2013-12-16 17:37 ` [PATCH v5 08/10] xen/arm: Add relinquish_p2m_mapping to remove reference on every mapped page Julien Grall
2013-12-17 9:26 ` Ian Campbell
2013-12-17 10:03 ` Jan Beulich
2013-12-17 10:12 ` Ian Campbell
2013-12-17 14:08 ` Julien Grall
2013-12-17 14:13 ` Ian Campbell
2013-12-17 14:40 ` Julien Grall
2013-12-17 14:42 ` Ian Campbell
2013-12-17 14:45 ` Julien Grall
2013-12-17 14:52 ` Ian Campbell
2013-12-17 14:57 ` Julien Grall
2013-12-17 11:31 ` Ian Campbell
2013-12-16 17:37 ` [PATCH v5 09/10] xen/arm: Set foreign page type to p2m_map_foreign Julien Grall
2013-12-17 11:34 ` Ian Campbell
2013-12-16 17:37 ` [PATCH v5 10/10] xen/arm: grant-table: Support read-only mapping 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=52B06874.5020608@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).