[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] question on iommu _map_page
On May 27, 2010, at 3:46 PM, Keir Fraser wrote: > It looks like the person who implemented that never needed the read-only > case. We need a function to map pages into the iommu read-only and to call > that from the grant code. > > A patch to just call iommu_map_page() for any kind of grant mapping would be > acceptable for now, if you want to submit a patch. OK. Attached. Signed-off-by: Kaushik Kumar Ram <kaushik@xxxxxxxx> diff -r 26c2922da53c xen/common/grant_table.c --- a/xen/common/grant_table.c Thu May 27 09:39:47 2010 +0100 +++ b/xen/common/grant_table.c Thu May 27 15:56:37 2010 -0500 @@ -596,9 +596,7 @@ __gnttab_map_grant_ref( goto undo_out; } - if ( (!is_hvm_domain(ld) && need_iommu(ld)) && - !(old_pin & (GNTPIN_hstw_mask|GNTPIN_devw_mask)) && - (act_pin & (GNTPIN_hstw_mask|GNTPIN_devw_mask)) ) + if ( !is_hvm_domain(ld) && need_iommu(ld)) { /* Shouldn't happen, because you can't use iommu in a HVM * domain. */ @@ -779,9 +777,7 @@ __gnttab_unmap_common( act->pin -= GNTPIN_hstw_inc; } - if ( (!is_hvm_domain(ld) && need_iommu(ld)) && - (old_pin & (GNTPIN_hstw_mask|GNTPIN_devw_mask)) && - !(act->pin & (GNTPIN_hstw_mask|GNTPIN_devw_mask)) ) + if ( !is_hvm_domain(ld) && need_iommu(ld)) { BUG_ON(paging_mode_translate(ld)); if ( iommu_unmap_page(ld, op->frame) ) -Kaushik > On 27/05/2010 21:37, "Kaushik Kumar Ram" <kaushik@xxxxxxxx> wrote: > >> Hi all, >> >> I am trying to use the VT-d support with a PV driver domain which performs >> network I/O on behalf of guest domains. >> When I initiate any network I/O it results in I/O page faults. On taking a >> closer look I find that iommu_map_page() is called only for writable pages >> from __gnttab_map_grant_ref(). This results in page faults during packet >> transmission since pages are mapped read-only in this case. >> When I remove this restriction, I can get it working without any page faults. >> >> Is this a bug? or am I missing something here? I am using the latest unstable >> version of Xen. This part of the source code hasn't changed in a long time. >> >> Thanks! >> -Kaushik >> _______________________________________________ >> Xen-devel mailing list >> Xen-devel@xxxxxxxxxxxxxxxxxxx >> http://lists.xensource.com/xen-devel > > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@xxxxxxxxxxxxxxxxxxx > http://lists.xensource.com/xen-devel > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |