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

[Xen-users] Re: [Xen-devel] Xen - Guest memory allocation

To: <xen-devel@xxxxxxxxxxxxxxxxxxx>, <xen-users@xxxxxxxxxxxxxxxxxxx>, <gm281@xxxxxxxxx>, <derek.murray@xxxxxxxxxxxx>
Subject: [Xen-users] Re: [Xen-devel] Xen - Guest memory allocation
From: dinesh chandrasekaran <dinesh_chan8@xxxxxxxxxxx>
Date: Fri, 27 Jun 2008 21:26:40 +0530
Cc:
Delivery-date: Fri, 27 Jun 2008 08:57:07 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
Importance: Normal
In-reply-to: <BAY111-W1469C685751B8FECADA70EB1A60@xxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <BAY111-W1469C685751B8FECADA70EB1A60@xxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Hi,

             if I use the following inside the populate_physmap() inside xen/common/memory.c,

unsigned long maddr_pci = 0xdf000000;       //since I know the machine address of the mememory behind my pci device <xm dmesg>

static void populate_physmap(struct memop_args *a)
{
/******            
             for(i=a->nr_done; i<a->nr_extents; i++)
             {
                          /*************     
                 &nb sp;    if(d->is_privilaged)                       
		page = alloc_domheap_pages(d, a->extent_order, a->memflags | MEMF_node(node));
else
{
page = maddr_to_page(maddr_pci);
maddr_pci = ((maddr + PAGE_SIZE-1) &PAGE_MASK);
`    ;                         }
                   /***************
                }
        printk("a->nr_done: %lx", a->nr_done);
   }
           
The printk says "a->nr_done: 2000" when 'xm dmesg' is used (which is correct since I allocated 32MB for DomU = 8192 pages = 0x2000)

but exits with the following error:

& n bsp;            'dmesg' says : Using config file "/home/guest/Guest.conf".
                       Error: (1, 'Internal error', 'xc_dom_boot_domU_map: failed to mmap domU pages 0x200+0x2e3 [xenctl, rc=-1]\n'
       
             'xm dmesg' says: <G><1>mm.c:671:d0 Non-privileged (1) attempt to map I/O space 000df1ff

Thanks,
Dinesh C



            


From: dinesh_chan8@xxxxxxxxxxx
To: xen-devel@xxxxxxxxxxxxxxxxxxx; xen-users@xxxxxxxxxxxxxxxxxxx
Date: Mon, 23 Jun 2008 05:50:44 +0530
Subject: FW: [Xen-users] Re: [Xen-devel] Xen - Guest memory allocation


Yeah milos,
                  But the PCI  device should be allowed access by all DomUs.
Hiding the device from Dom0 is not what I really want to achieve.
I have to stick to xen source code (and not dom0 or domU) to make this possible.

As ou said in the previous mail, Im working on the populate
_physmap() to force xen allocate memory for all domUs from the memory available
behind the PCI device.

I could not understand how hiding the PCI device from Dom0 related to my goal.

Thanks alot,
Dinesh C



> Date: Fri, 20 Jun 2008 18:03:20 +0100
> From: gm281@xxxxxxxxx
> To: dinesh_chan8@xxxxxxxxxxx
> Subject: Re: [Xen-users] Re: [Xen-devel] Xen - Guest memory allocation
> CC: xen-devel@xxxxxxxxxxxxxxxxxxx; xen-users@xxxxxxxxxxxxxxxxxxx
>
> >> Why do you want to restrict DomU to use frames fro m certain range
> >> only? What's the logic behind that?
> >
> > Im trying to allocate memory for domUs from memory behind a PCI device. The
> > machine_addr_start is obtained by probing the device (as I know the vendor
> > and device info) during xen boot-up.
>
> That's what I was suspecting. I think you should give PCI passthrough
> a go first.
> PCI passthrough allows a PCI device to be hidden away from Dom0 and
> exported to a DomU. You achieve the first by passing
> pciback.hide=(XX:XX.X) option to Dom0 kernel and adding pci = [
> 'XX:XX.X′ ] to DomU config file. You'll also need
> CONFIG_XEN_PCIDEV_FRONTEND=y and CONFIG_XEN_PCIDEV_BACKEND=y in your
> DomU and Dom0 kernel configs.
>
> Hope this helps
> Gr(z)egor(z)


CoolHotmail : Your crazy personality deserves a unique email identity like yourname@xxxxxxxxxxxx Choose from this and h u ndreds other unique email ids now Try it!


Placements ? No Problem. Register Here! Try it!


CoolHotmail : Your crazy personality deserves a unique email identity like yourname@xxxxxxxxxxxx Choose from this and hundreds other unique email ids now Try it!
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel