[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [RFC for-4.5 01/12] xen/common: grant-table: only call IOMMU if paging mode translate is disabled
>>> On 07.02.14 at 18:43, Julien Grall <julien.grall@xxxxxxxxxx> wrote: > From Xen point of view, ARM guests are PV guest with paging auto translate > enabled. > > When IOMMU support will be added for ARM, mapping grant ref will always > crash > Xen due to the BUG_ON in __gnttab_map_grant_ref. > > On x86: > - PV guests always have paging mode translate disabled > - PVH and HVM guests have always paging mode translate enabled > > It means that we can safely replace the check that the domain is a PV guests > by checking if the guest has paging mode translate enabled. > > Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx> > Cc: Keir Fraser <keir@xxxxxxx> > --- > xen/common/grant_table.c | 7 ++----- > 1 file changed, 2 insertions(+), 5 deletions(-) > > diff --git a/xen/common/grant_table.c b/xen/common/grant_table.c > index 107b000..778bdb7 100644 > --- a/xen/common/grant_table.c > +++ b/xen/common/grant_table.c > @@ -721,12 +721,10 @@ __gnttab_map_grant_ref( > > double_gt_lock(lgt, rgt); > > - if ( is_pv_domain(ld) && need_iommu(ld) ) > + if ( !paging_mode_translate(ld) && need_iommu(ld) ) > { > unsigned int wrc, rdc; > int err = 0; > - /* Shouldn't happen, because you can't use iommu in a HVM domain. */ > - BUG_ON(paging_mode_translate(ld)); > /* We're not translated, so we know that gmfns and mfns are > the same things, so the IOMMU entry is always 1-to-1. */ > mapcount(lgt, rd, frame, &wrc, &rdc); > @@ -931,11 +929,10 @@ __gnttab_unmap_common( > act->pin -= GNTPIN_hstw_inc; > } > > - if ( is_pv_domain(ld) && need_iommu(ld) ) > + if ( !paging_mode_translate(ld) && need_iommu(ld) ) > { > unsigned int wrc, rdc; > int err = 0; > - BUG_ON(paging_mode_translate(ld)); > mapcount(lgt, rd, op->frame, &wrc, &rdc); > if ( (wrc + rdc) == 0 ) > err = iommu_unmap_page(ld, op->frame); > -- > 1.7.10.4 > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@xxxxxxxxxxxxx > http://lists.xen.org/xen-devel _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |