From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "Lin, Ray" <Ray.Lin@lsi.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
"bruce.edge@gmail.com" <bruce.edge@gmail.com>
Subject: Re: RE: PCI devices remap from dom0 to domU with pv-ops kernel
Date: Thu, 14 Oct 2010 13:49:09 -0400 [thread overview]
Message-ID: <20101014174909.GB7312@dumpdata.com> (raw)
In-Reply-To: <EB4C61A1A2501842A04B573FE42B14D601319D0AC7@cosmail02.lsi.com>
On Thu, Oct 14, 2010 at 11:26:03AM -0600, Lin, Ray wrote:
>
> Konrad,
>
> We choose "Virtual" and the dom0/domU show like this. It doesn't remap to what we want. You mentioned about "write your own plugin that would do remapping per your desire". Could you elaborate it a bit ? Thanks.
Sure. Look in drivers/xen/pciback. There are four files of interest:
vpci.c
slot.c
passthrough.c
controller.c
By default, the vpci.c is selected, where in the domU the devices start
from 00:00.0. The passthrough is obvious.
The slot.c is where we have only two bus and all the devices are stuck under the slots.
So a maximum of 64 devices, and the device function is ignored:
This is what it would show up (I think, you might want to double-check this):
00:01.0:0c04: 11f8:8032 (rev 08)
00:02.0:0c04: 11f8:8032 (rev 08)
00:03.0:0c04: 11f8:8032 (rev 08)
00:04.0:0c04: 11f8:8032 (rev 08)
The controller, is "PCI "Controller" Backend - virtualize PCI bus topology based on PCI
controllers. Devices under the same PCI controller are exposed on the
same virtual domain:bus. Within a bus, device slots are virtualized
to compact the bus. " (from controller.c)
I think based on what you said earlier, you just want to use the "slot" backend:
CONFIG_XEN_PCIDEV_BACKEND_SLOT=y
>
> Dom0:
> kaan-18:~# lspci -n | grep 11f8
> 07:00.0 0c04: 11f8:8032 (rev 08)
> 07:00.1 0c04: 11f8:8032 (rev 08)
> 07:00.2 0c04: 11f8:8032 (rev 08)
> 07:00.3 0c04: 11f8:8032 (rev 08)
>
> DomU:
> kaan-18-dpm:~# lspci -n
> 00:00.0 0c04: 11f8:8032 (rev 08)
> 00:00.1 0c04: 11f8:8032 (rev 08)
> 00:00.2 0c04: 11f8:8032 (rev 08)
> 00:00.3 0c04: 11f8:8032 (rev 08)
>
>
> -Ray
>
> -----Original Message-----
> From: Konrad Rzeszutek Wilk [mailto:konrad.wilk@oracle.com]
> Sent: Wednesday, October 13, 2010 11:52 AM
> To: Lin, Ray
> Cc: bruce.edge@gmail.com; xen-devel@lists.xensource.com
> Subject: Re: PCI devices remap from dom0 to domU with pv-ops kernel
>
> On Wed, Oct 13, 2010 at 10:49:12AM -0600, Lin, Ray wrote:
> >
> > Konrad,
> >
> > We try to remap the pci devices from dom0 to domU by assigning the
> > pci in the domU configuration file. Such as
> >
> > pci="['01:00.0@11', '01:00.1@10', '04:00.0@13', '04:00.1@12']"
> >
> > In hvm kernel, the domU would see the pci devices remapped like this,
> >
> > dom0 pci device 01:00.0 => domU pci device 00:11.0
> > dom0 pci device 01:00.1 => domU pci device 00:10.0
> > dom0 pci device 04:00.0 => domU pci device 00:13.0
> > dom0 pci device 04:00.1 => domU pci device 00:12.0
> >
> > But pv-ops kernel seems ignore the remapping. Is there any way (kernel configuration setting ??) to make it work ?
>
> Not completly.
>
> When you compile your Xen PCI backend, you should see an option whether you want Virtual PCI, Passthrough or some other type. By default it will pick the Virtual one so that it just enumerates from zero the PCI devices. You could write your own plugin that would do remaping per your desire.
> >
> > Thanks,
> > Ray
> >
> >
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xensource.com
> http://lists.xensource.com/xen-devel
next prev parent reply other threads:[~2010-10-14 17:49 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-10-13 16:49 PCI devices remap from dom0 to domU with pv-ops kernel Lin, Ray
2010-10-13 18:51 ` Konrad Rzeszutek Wilk
2010-10-14 17:26 ` Lin, Ray
2010-10-14 17:49 ` Konrad Rzeszutek Wilk [this message]
2010-10-14 17:54 ` Lin, Ray
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20101014174909.GB7312@dumpdata.com \
--to=konrad.wilk@oracle.com \
--cc=Ray.Lin@lsi.com \
--cc=bruce.edge@gmail.com \
--cc=xen-devel@lists.xensource.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.