[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] xen and pci



> On Fri, 29 Oct 2004, Niraj Tolia wrote:
> 
> > I believe that Xen hides bridge devices from dom0. However, it should
> > not really affect you.
> 
> well the thing is that I'm trying to run PMCIA ethernet card, and with
> those two lines missing
> 
>       0000:02:00.0 CardBus bridge: Texas Instruments PCI1420
>       0000:02:00.1 CardBus bridge: Texas Instruments PCI1420
> 
> it seems like the yenta driver in xen0 can't find the bridge.

Long term, Xen's PCI code needs some work -- currently it is very
similar to the Linux code and so Xen probes behind all bridges and
reports the results to dom0. It therefore hides the bridges themselves
as otherwise Linux would see some devices twice and get confused.
The solution I think is for Xen not to do any start-of-day probing and
leave that entirely up to Linux. Xen should just tell dom0 where the
root buses are, and let dom0 go from there. Then just need a little
code in Xen to set up IRQ routing when a PCI device is enabled --
there are suitable hooks for thsi already.

*However* I think that pcmcia/cardbus bridges are safe to tell dom0
about (Xen cannot probe behind them) and they have a special subtype
that we could detect. So we can rejig the test that hides the bridges
to be a little bit smarter. 

Please try the following patch, which you can apply by pasting into a
file dev.patch and then:
 'cd xen/common ; chmod 0644 physdev.c ; patch -p1 <path/to/dev.patch'

 -- Keir

--- common/physdev.c    2004-10-22 11:51:50.918741798 +0100
+++ common-new/physdev.c        2004-10-30 08:40:33.513342843 +0100
@@ -747,7 +747,8 @@
          *
          * In Linux2.6 we set pcibios_scan_all_fns().
          */
-        if ( dev->hdr_type != PCI_HEADER_TYPE_NORMAL )
+        if ( (dev->hdr_type != PCI_HEADER_TYPE_NORMAL) &&
+             (dev->hdr_type != PCI_HEADER_TYPE_CARDBUS) )
             continue;
         pdev = xmalloc(sizeof(phys_dev_t));
         pdev->dev = dev;


-------------------------------------------------------
This SF.Net email is sponsored by:
Sybase ASE Linux Express Edition - download now for FREE
LinuxWorld Reader's Choice Award Winner for best database on Linux.
http://ads.osdn.com/?ad_id=5588&alloc_id=12065&op=click
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.