WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] Cannot get shared page in domU

On Thu, Nov 10, 2011 at 10:54:23AM -0500, Xin Jin wrote:
> In
> 
> share_mem->gref =
> gnttab_grant_foreign_access(domid_remote, virt_to_mfn(share_mem), 0);

Huh? There are four parameters for that function.


When you setup your map_op, are you setting
 GNTMAP_application_map | GNTMAP_contains_pte
?
Or are using GNTMAP_host_map

Did you look in the 3.1 linux kerne in the gntdev.c driver? Or the other 
drivers?
Can you use grant-alloc for your code (which can setup shared memory
segements between guests) instead of doing this in the kernel?


> 
> I have explicitly specified the domid that can use the gref as
> "domid_remote".
> 
> What else can be wrong?
> 
> On Thu, Nov 10, 2011 at 12:09 AM, Daniel Castro <evil.dani@xxxxxxxxx> wrote:
> 
> > On Thu, Nov 10, 2011 at 1:15 PM, Xin Jin <jxinpku@xxxxxxxxx> wrote:
> > > Hi, I cannot get a shared page in domU.
> > > In a domU, I used the folloing code to grant a page to another domU.
> > > share_mem = (share_mem_desp *) __get_free_page(GFP_KERNEL);
> > > share_mem->gref = gnttab_grant_foreign_access(domid_remote,
> > > virt_to_mfn(share_mem), 0);
> > > In another domU, I used the folloing code to get the shared page.
> > > share_vmarea = alloc_vm_area(PAGE_SIZE);
> > > gnttab_set_map_op( &map_op, (unsigned long)share_vmarea->addr,
> > > GNTMAP_host_map, gref, domid_remote );
> > > HYPERVISOR_grant_table_op( GNTTABOP_map_grant_ref, &map_op, 1 );
> > > While using the exactly same code to get the shared page in dom0, it woks
> > > all well. But it cannot work in domU.
> > > I use Xen 4.1.1 and fedora 14 ( linux 3.1.0 both for dom0 and domU ).
> > > Can anyone help me?
> > On the interface struct when you issue the hypercall you need to
> > specify the domid that can use the gref. Maybe the default is domid 0.
> > The struct grant_entry_v1 has member domid for the foreign guest,
> > check that value.
> >
> > > Thanks!
> > > -- Xin
> > >
> > >
> > > _______________________________________________
> > > Xen-devel mailing list
> > > Xen-devel@xxxxxxxxxxxxxxxxxxx
> > > http://lists.xensource.com/xen-devel
> > >
> > >
> >
> >
> >
> > --
> > +-=====---------------------------+
> > | +---------------------------------+ | This space intentionally blank
> > for notetaking.
> > | |   | Daniel Castro,                |
> > | |   | Consultant/Programmer.|
> > | |   | U Andes                         |
> > +-------------------------------------+
> >
> 
> 
> 
> -- 
> Xin JIN
> PhD student
> Department of Computer Science
> Princeton University

> _______________________________________________
> 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