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/
Home Products Support Community News


Re: [Xen-devel] PCI Passthru: fn0 exported but not fn1

To: Jambunathan K <jambunathan@xxxxxxxxxx>
Subject: Re: [Xen-devel] PCI Passthru: fn0 exported but not fn1
From: Jambunathan K <jambunathan@xxxxxxxxxx>
Date: Mon, 27 Aug 2007 19:38:04 +0530
Cc: xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>, Sanjeev Jorapur <sanjeev@xxxxxxxxxx>
Delivery-date: Mon, 27 Aug 2007 07:08:58 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <46D1A813.1030704@xxxxxxxxxx>
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/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <C2F4B16C.148BB%Keir.Fraser@xxxxxxxxxxxx> <46D1A813.1030704@xxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Thunderbird (Windows/20070728)
Jambunathan K wrote:
> Keir Fraser wrote:
>> Why did you not use VPCI? Does that not work for you? It should avoid the
>> problem that is currently blocking your progress.
>>  -- Keir
>> On 24/8/07 15:58, "Jambunathan K" <jambunathan@xxxxxxxxxx> wrote:
>>> I have overridden default VPCI with explicit BACKEND_PASS. Both Dom0 and
>>> Dom1 run the same kernel binary.
>>> I had used the above configuration all along (on both Xen304 + Xen310)
>>> and have seen fn1 exported 'as such' to Dom1. It is with my new box that
>>> I have the above issue.
> I did some more experiments and here is what I find.
> I) In PASS mode,
>       a) Guest domain *cannot* see fn2 if *only* fn2 is exported.
>       b) Guest domain *can* see fn2 *only if* fn0 is also exported to it.
> II) In VPCI mode,
>       a) Guest domain *cannot* see fn2 if *only* fn2 is exported.
>       b) Guest domain *can* see fn2 *only if* fn0 is also exported to it.
> III) In SLOT mode,
>       a) Guest doamin can see fn2 even if *only* fn2 is exported.
> A cursory look suggests that the difference in behaviour is due to the
> way pcifront scans devices. It scans non-zero fns only if it actually
> sees a device at *fn0*.
> Our device requires that the fn-no be preserved as such (even if other
> PCI params change) for proper working.
> I am trying to export 4 PCI functions in our device to 4 different
> domains. I am stuck at not being able to use *any* of the passthrough
> methods.
> If behaviours (I) and (II) above is as intended may I know why this is
> so?. If not, would you agree that this is a bug?

I confirming that this is a regression from xen304 to xen310. (I
verified just the 'BACKEND_PASS' config)

I had cursorily looked at pciback and pcifront code changes between
xen304 to xen310. My not so discerning eye couldn't catch any
differences that do matter.

For now I have reverted my working tree to Xen-304. I would appreciate
if you could provide a patch that addresses this issue in Xen310.

Jambunathan K.

Xen-devel mailing list