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] Multiple PCI bus support

To: "Guy Zana" <guy@xxxxxxxxxxxx>, "Tian, Kevin" <kevin.tian@xxxxxxxxx>, <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: RE: [Xen-devel] Multiple PCI bus support
From: "Zulauf, John" <john.zulauf@xxxxxxxxx>
Date: Mon, 15 Oct 2007 19:11:03 -0700
Delivery-date: Mon, 15 Oct 2007 19:13:27 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <9392A06CB0FDC847B3A530B3DC174E7B03A4A9E7@xxxxxxxxxxxxxxxxxxxxxxxxxx>
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: <D470B4E54465E3469E2ABBC5AFAC390F013B2399@xxxxxxxxxxxxxxxxxxxxxxxxxxxx> <9392A06CB0FDC847B3A530B3DC174E7B03A4A9E7@xxxxxxxxxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcgLH1xV1zNs4KA5SJCsfjI/rio2KwAvco2AAAAF3oAAAkW4IADqmt1g
Thread-topic: [Xen-devel] Multiple PCI bus support
I've played around with this, it seems to me the cleanest approach is to add 
PCI-PCIe bridge(s) or PCIe root port(s) to qemu-dm.  Both can be used to 
function as PCIe-PCIe bridges (the bridge BAR allocations not the endpoint 
ones).  Examples:

A PCI-PCI bridge like the 31154 (then add PCIe extensions). 
http://www.intel.com/design/bridge/datashts/278821.htm

An example is the Intel® 965 Express Chipset Family datasheet Chapter 6. (c.f. 
http://www.intel.com/design/chipsets/datashts/313053.htm )  

In either case, if you treat interrupts from the secondary as if they were INTx 
messages and "barber pole" them according to the PCI 3.0/PCIe spec everything 
"just works".  (modulo the need for "reordering" in the PCIe spec to avoid 
deadlocks).  

-----Original Message-----
From: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx 
[mailto:xen-devel-bounces@xxxxxxxxxxxxxxxxxxx] On Behalf Of Guy Zana
Sent: Thursday, October 11, 2007 3:19 AM
To: Tian, Kevin; xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: RE: [Xen-devel] Multiple PCI bus support



> -----Original Message-----
> From: Tian, Kevin [mailto:kevin.tian@xxxxxxxxx] 
> Sent: Thursday, October 11, 2007 10:27 AM
> To: Guy Zana; xen-devel@xxxxxxxxxxxxxxxxxxx
> Subject: RE: [Xen-devel] Multiple PCI bus support
> 
> >From: Guy Zana
> >Sent: 2007年10月10日 17:30
> >
> >Hi,
> >
> >I saw that Xen support a translation between device/intx to 
> GSI for a 
> >single PCI bus, I thought about adding multiple PCI bus support but 
> >disregard the bus information so the same device/intx on different 
> >buses will be OR wired to the same GSI, sounds reasonable? 
> What other 
> >things do I need to support in Xen in order to add multiple 
> PCI buses, 
> >assuming that secondary buses holds only PCI/PCIe devices?
> >
> >Thanks,
> >Guy.
> >
> 
> GSI wire is platform specific (Qemu as platform) and thus you 
> can choose any policy including what you're proposing to Xen side.

Yes, I saw how Qemu's irq_num is translated to device/intx, it's fairly easy to 
include bus information in this translation. 
I think it is best to let Xen stay with a single bus in its I/O APIC wiring.

> 
> However to support multiple PCI buses presented to HVM guest, 
> the major work is in the Qemu:
>       1. Emulate a virtual PCI-to-PCI bridge
>       2. Add _PRT information in ACPI table under bridge 
> node, which stays consistent to Xen's wire logic
> 
> If you want PCIe device to be seen as PCIe to HVM guest, you 
> need to do more:
>       3. Change above bridge to PCI-to-PCIe bridge (any 
> standard spec?)
>               (Then advanced PCIe feature like AER/ASPM can't 
> be utilized)
> 

Thanks, I'll look into the PCIe specific features, A PCIe switch may look like 
a virtual PCI-to-PCI bridge (according to the spec), except that, a multi-port 
root complex will expose PCI-to-PCIe bridges through the configuration. I 
assume there is nothing special in PCIe bridges, no?

> But, any reason that assigned devices can't stay with current 
> single bus model? :-)

It's just a training task :-)

Thanks,
Guy.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
<Prev in Thread] Current Thread [Next in Thread>