On Mon, Jan 10, 2011 at 10:32:51AM +0000, Stefano Stabellini wrote:
> On Wed, 5 Jan 2011, Konrad Rzeszutek Wilk wrote:
> > On Wed, Dec 15, 2010 at 01:40:41PM +0000, stefano.stabellini@xxxxxxxxxxxxx
> > wrote:
> > > From: Ian Campbell <ian.campbell@xxxxxxxxxx>
> > >
> > > This flag controls the meaning of gnttab_map_grant_ref.host_addr and
> > > specifies that the field contains a refernce to the pte entry to be
> > ^^^^^^^^ - reference
>
> fixed it
>
> > > diff --git a/drivers/xen/gntdev.c b/drivers/xen/gntdev.c
> > > index cf61c7d..b916d6b 100644
> > > --- a/drivers/xen/gntdev.c
> > > +++ b/drivers/xen/gntdev.c
> > > @@ -205,10 +205,12 @@ static int find_grant_ptes(pte_t *pte, pgtable_t
> > > token, unsigned long addr, void
> > > BUG_ON(pgnr >= map->count);
> > > pte_maddr = (u64)pfn_to_mfn(page_to_pfn(token)) << PAGE_SHIFT;
> > > pte_maddr += (unsigned long)pte & ~PAGE_MASK;
> > > - gnttab_set_map_op(&map->map_ops[pgnr], pte_maddr, map->flags,
> > > + gnttab_set_map_op(&map->map_ops[pgnr], pte_maddr,
> > > + GNTMAP_contains_pte | map->flags,
> >
> > Ok, but the gnttab_set_map_op will do the exact thing it did before. It
> > still does this:
> >
> > map->host_addr = addr;
> >
> > irregardless if you pass in any flag.
> >
>
> Yes, but the flags are set in map_ops and that is critical because it
> changes the meanings of the hypercall arguments.
Aaaaaah.. That is what I missed. Thx
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|