From: Julien Grall <julien.grall@linaro.org>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Cc: julien.grall@citrix.com, xen-devel@lists.xensource.com,
Ian.Campbell@citrix.com
Subject: Re: [PATCH v2 1/2] xen: introduce arch_iommu_grant_(un)map_page
Date: Thu, 24 Jul 2014 12:18:28 +0100 [thread overview]
Message-ID: <53D0EB84.9020303@linaro.org> (raw)
In-Reply-To: <alpine.DEB.2.02.1407241215050.2293@kaball.uk.xensource.com>
On 24/07/14 12:16, Stefano Stabellini wrote:
> On Thu, 24 Jul 2014, Julien Grall wrote:
>> On 24/07/14 12:07, Stefano Stabellini wrote:
>>> On Thu, 24 Jul 2014, Julien Grall wrote:
>>>> Hi Stefano,
>>>>
>>>> The Title of the commit message is now wrong.
>>>
>>> Thanks, I didn't notice.
>>>
>>>
>>>> On 23/07/14 18:19, Stefano Stabellini wrote:
>>>>> Introduce two arch specific functions to create a new p2m mapping of
>>>>> granted pages at pfn == mfn.
>>>>> The x86 implementation just returns ENOSYS.
>>>>>
>>>>> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
>>>>> ---
>>>>> xen/arch/arm/p2m.c | 19 +++++++++++++++++++
>>>>> xen/include/asm-arm/p2m.h | 4 ++++
>>>>> xen/include/asm-x86/p2m.h | 13 +++++++++++++
>>>>> 3 files changed, 36 insertions(+)
>>>>>
>>>>> diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c
>>>>> index 9960e17..c38af59 100644
>>>>> --- a/xen/arch/arm/p2m.c
>>>>> +++ b/xen/arch/arm/p2m.c
>>>>> @@ -555,6 +555,25 @@ void guest_physmap_remove_page(struct domain *d,
>>>>> pfn_to_paddr(mfn), MATTR_MEM, p2m_invalid);
>>>>> }
>>>>>
>>>>> +int arch_grant_map_page_identity(struct domain *d, unsigned long frame,
>>>>> + bool_t writeable)
>>>>> +{
>>>>> + p2m_type_t t;
>>>>> +
>>>>> + if ( writeable )
>>>>> + t = p2m_ram_rw;
>>>>> + else
>>>>> + t = p2m_ram_ro;
>>>>
>>>> This is not the right p2m type to use here. p2m_ram_{rw,ro} allow foreign
>>>> mapping. So another guest could access to the grant.
>>>>
>>>> I would use p2m_iommu_map_{rw,ro}.
>>>
>>>
>>> I see. I'll make the change and add a comment to explain why we are
>>> using p2m_iommu types for non-iommu related mappings.
>>
>> The code to add the 1:1 mapping for the SMMU is very ugly. I was wondering if
>> we could drop the iommu_map_page callback and
>> directly use arch_grant_map_page_identity in all the case.
>>
>> It would avoid the if/else in the grant code.
>
> Thing is arch_grant_map_page_identity has nothing to do with IOMMUs. It
> gets confusing, especially on x86 where people don't know why we need
> this. The if/else is ugly but clearer.
> See also the previous email exchange with Jan.
Ok. So could we call this function from iommu_map_page on the SMMU? It
would at least avoid duplicating the code?
Regards,
--
Julien Grall
next prev parent reply other threads:[~2014-07-24 11:18 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-07-23 17:18 [PATCH v2 0/2] map grant refs at pfn = mfn Stefano Stabellini
2014-07-23 17:19 ` [PATCH v2 1/2] xen: introduce arch_iommu_grant_(un)map_page Stefano Stabellini
2014-07-24 10:51 ` Julien Grall
2014-07-24 11:07 ` Stefano Stabellini
2014-07-24 11:14 ` Julien Grall
2014-07-24 11:16 ` Stefano Stabellini
2014-07-24 11:18 ` Julien Grall [this message]
2014-07-24 11:19 ` Stefano Stabellini
2014-07-23 17:19 ` [PATCH v2 2/2] xen/arm: introduce XENFEAT_grant_map_identity Stefano Stabellini
2014-07-24 6:48 ` Jan Beulich
2014-07-24 10:47 ` Stefano Stabellini
2014-07-24 11:58 ` Jan Beulich
2014-07-24 6:37 ` [PATCH v2 0/2] map grant refs at pfn = mfn Jan Beulich
2014-07-24 9:31 ` Tim Deegan
2014-07-24 10:28 ` Stefano Stabellini
2014-07-24 10:42 ` Tim Deegan
2014-07-24 10:55 ` 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=53D0EB84.9020303@linaro.org \
--to=julien.grall@linaro.org \
--cc=Ian.Campbell@citrix.com \
--cc=julien.grall@citrix.com \
--cc=stefano.stabellini@eu.citrix.com \
--cc=xen-devel@lists.xensource.com \
/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).