[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] xen and pci
I have found one thing from my kernel configuration: I use PCMCIA WLAN driver atmel_cs.c. It requires CONFIG_ISA. I do have: CONFIG_ISA=y CONFIG_ISAPNP=y I don't know, why atmel_cs.c needs ISA bus. atmel_cs.c notes, that if ISA bus is not enabled, the driver might not be able to assign an IRQ. I don't know, on which kind of PCMCIA hardware. For other readers: my PCMCIA WLAN card works under Xen Domain-0. I do have a working kernel configuration for it. Here is a short summary, with the ISA bus: # Bus options (PCI, PCMCIA, EISA, MCA, ISA) CONFIG_ATMEL=m CONFIG_HOTPLUG_PCI_CPCI_GENERIC=m CONFIG_HOTPLUG_PCI_CPCI=y CONFIG_HOTPLUG_PCI_CPCI_ZT5550=m CONFIG_HOTPLUG_PCI_FAKE=m CONFIG_HOTPLUG_PCI=m CONFIG_HOTPLUG_PCI_PCIE=m # CONFIG_HOTPLUG_PCI_PCIE_POLL_EVENT_MODE is not set CONFIG_HOTPLUG_PCI_SHPC=m # CONFIG_HOTPLUG_PCI_SHPC_PHPRM_LEGACY is not set # CONFIG_HOTPLUG_PCI_SHPC_POLL_EVENT_MODE is not set CONFIG_HOTPLUG=y CONFIG_NET_PCMCIA=y CONFIG_PCI_ATMEL=m # CONFIG_PCMCIA_AHA152X is not set CONFIG_PCMCIA_ATMEL=m # CONFIG_PCMCIA_AXNET is not set CONFIG_PCMCIA_DEBUG=y # CONFIG_PCMCIA_FDOMAIN is not set # CONFIG_PCMCIA_FMVJ18X is not set # CONFIG_PCMCIA_NETWAVE is not set # CONFIG_PCMCIA_NINJA_SCSI is not set # CONFIG_PCMCIA_NMCLAN is not set # CONFIG_PCMCIA_PCNET is not set CONFIG_PCMCIA_PROBE=y # CONFIG_PCMCIA_QLOGIC is not set # CONFIG_PCMCIA_RAYCS is not set # CONFIG_PCMCIA_SMC91C92 is not set # CONFIG_PCMCIA_SYM53C500 is not set # CONFIG_PCMCIA_WAVELAN is not set # CONFIG_PCMCIA_WL3501 is not set # CONFIG_PCMCIA_XIRCOM is not set # CONFIG_PCMCIA_XIRC2PS is not set # CONFIG_PCMCIA_XIRTULIP is not set CONFIG_PCMCIA=y # CONFIG_PCMCIA_3C574 is not set # CONFIG_PCMCIA_3C589 is not set # CONFIG_PREVENT_FIRMWARE_BUILD is not set CONFIG_YENTA=m # PCMCIA/CardBus support # PCMCIA character devices # PCMCIA network device support # PCMCIA SCSI adapter support CONFIG_GENERIC_ISA_DMA=y CONFIG_ISA=y # CONFIG_ISAPNP=y # CONFIG_PNPBIOS is not set Marko Ristola On Sat, 18 Dec 2004 18:41:31 -0500 (EST) Adam Sulmicki <adam@xxxxxxxxxxxx> wrote: > On Sat, 30 Oct 2004, Keir Fraser wrote: > > > *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. > > > --- 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; > > The lack of pcmcia network was annoying me so I poked more around. > > The above fix helps in that linux can find the cardbus bridge. > > HOWEVER, once it finds it would like to configure devices behind this > bridge, and it seems the xen prevents linux from doing just that. > > It seems like linux treats the stuff it finds behind cardbus bridge > like > PCI device (i'm not sure if it is a real device or just how linux > treats > it a virtual pci devices). > > thus for output of /sbin/lspci from linux classic we get > > redbull:/usr/src/cm/xen # /sbin/lspci > > 0000:00:00.0 Host bridge: Intel Corp. 82830 830 Chipset Host Bridge > (rev 02) > 0000:00:01.0 PCI bridge: Intel Corp. 82830 830 Chipset AGP Bridge (rev > 02) > 0000:00:1d.0 USB Controller: Intel Corp. 82801CA/CAM USB (Hub #1) (rev > 01) > 0000:00:1d.1 USB Controller: Intel Corp. 82801CA/CAM USB (Hub #2) (rev > 01) > 0000:00:1d.2 USB Controller: Intel Corp. 82801CA/CAM USB (Hub #3) (rev > 01) > 0000:00:1e.0 PCI bridge: Intel Corp. 82801BAM/CAM PCI Bridge (rev 41) > 0000:00:1f.0 ISA bridge: Intel Corp. 82801CAM ISA Bridge (LPC) (rev 01) > 0000:00:1f.1 IDE interface: Intel Corp. 82801CAM IDE U100 (rev 01) > 0000:00:1f.3 SMBus: Intel Corp. 82801CA/CAM SMBus Controller (rev 01) > 0000:00:1f.5 Multimedia audio controller: Intel Corp. 82801CA/CAM AC'97 > Audio Controller (rev 01) > 0000:01:00.0 VGA compatible controller: S3 Inc. SuperSavage IX/C SDR > (rev 05) > 0000:02:00.0 CardBus bridge: Texas Instruments PCI1420 > 0000:02:00.1 CardBus bridge: Texas Instruments PCI1420 > 0000:02:02.0 Communication controller: Lucent Microelectronics WinModem > 56k (rev 01) > 0000:02:08.0 Ethernet controller: Intel Corp. 82801CAM (ICH3) PRO/100 > VE (LOM) Ethernet Controller (rev 41) > 0000:07:00.0 Ethernet controller: Xircom Cardbus Ethernet 10/100 (rev > 03) > > redbull:/usr/src/cm/xen # /sbin/lspci -tv > > -[00]-+-00.0 Intel Corp. 82830 830 Chipset Host Bridge > +-01.0-[01]----00.0 S3 Inc. SuperSavage IX/C SDR > +-1d.0 Intel Corp. 82801CA/CAM USB (Hub #1) > +-1d.1 Intel Corp. 82801CA/CAM USB (Hub #2) > +-1d.2 Intel Corp. 82801CA/CAM USB (Hub #3) > +-1e.0-[02-08]--+-[07]---00.0 Xircom Cardbus Ethernet 10/100 > | \-[02]-+-00.0 Texas Instruments PCI1420 > | +-00.1 Texas Instruments PCI1420 > | +-02.0 Lucent Microelectronics WinModem > 56k > | \-08.0 Intel Corp. 82801CAM (ICH3) > PRO/100 VE (LOM) Ethernet Controller > +-1f.0 Intel Corp. 82801CAM ISA Bridge (LPC) > +-1f.1 Intel Corp. 82801CAM IDE U100 > +-1f.3 Intel Corp. 82801CA/CAM SMBus Controller > \-1f.5 Intel Corp. 82801CA/CAM AC'97 Audio Controller > > > ... but when we repeat it under xenolinux, we don't see the "PCI" > device > "Xircom Cardbus Ethernet 10/100" anymore (although we do see the > cardbus > bridge) > > redbull:/usr/src/cm/xen # /sbin/lspci > > 0000:00:00.0 Host bridge: Intel Corp. 82830 830 Chipset Host Bridge > (rev 02) > 0000:00:1d.0 USB Controller: Intel Corp. 82801CA/CAM USB (Hub #1) (rev > 01) > 0000:00:1d.1 USB Controller: Intel Corp. 82801CA/CAM USB (Hub #2) (rev > 01) > 0000:00:1d.2 USB Controller: Intel Corp. 82801CA/CAM USB (Hub #3) (rev > 01) > 0000:00:1f.0 ISA bridge: Intel Corp. 82801CAM ISA Bridge (LPC) (rev 01) > 0000:00:1f.1 IDE interface: Intel Corp. 82801CAM IDE U100 (rev 01) > 0000:00:1f.3 SMBus: Intel Corp. 82801CA/CAM SMBus Controller (rev 01) > 0000:00:1f.5 Multimedia audio controller: Intel Corp. 82801CA/CAM AC'97 > Audio Controller (rev 01) > 0000:01:00.0 VGA compatible controller: S3 Inc. SuperSavage IX/C SDR > (rev 05) > 0000:02:00.0 CardBus bridge: Texas Instruments PCI1420 > 0000:02:00.1 CardBus bridge: Texas Instruments PCI1420 > 0000:02:02.0 Communication controller: Lucent Microelectronics WinModem > 56k (rev 01) > 0000:02:08.0 Ethernet controller: Intel Corp. 82801CAM (ICH3) PRO/100 > VE (LOM) Ethernet Controller (rev 41) > > redbull:/usr/src/cm/xen # /sbin/lspci -tv > > -+-[02]-+-00.0 Texas Instruments PCI1420 > | +-00.1 Texas Instruments PCI1420 > | +-02.0 Lucent Microelectronics WinModem 56k > | \-08.0 Intel Corp. 82801CAM (ICH3) PRO/100 VE (LOM) Ethernet > Controller > +-[01]---00.0 S3 Inc. SuperSavage IX/C SDR > \-[00]-+-00.0 Intel Corp. 82830 830 Chipset Host Bridge > +-1d.0 Intel Corp. 82801CA/CAM USB (Hub #1) > +-1d.1 Intel Corp. 82801CA/CAM USB (Hub #2) > +-1d.2 Intel Corp. 82801CA/CAM USB (Hub #3) > +-1f.0 Intel Corp. 82801CAM ISA Bridge (LPC) > +-1f.1 Intel Corp. 82801CAM IDE U100 > +-1f.3 Intel Corp. 82801CA/CAM SMBus Controller > \-1f.5 Intel Corp. 82801CA/CAM AC'97 Audio Controller > > poking a bit around we can see that the xircom pci device gets added by > > yenta_socket.c. In there yenta_allocate_res() tries to allocate > resources > for those devices behing the bridge. However, it appears that xen > prevents > xenolinux just from doing that, as shown below. > > (XEN) 02:00:01 reg=0x14 len=0x01 val=0x00000210 0 Guest 0 attempting > sub-dword read to BASE_ADDRESS 1 > (XEN) PCI: Found IRQ 9 for device 02:00.1 > (XEN) PCI: Sharing IRQ 9 with 00:1f.3 > (XEN) PCI: Sharing IRQ 9 with 00:1f.5 > (XEN) 02:00:01 reg=0x14 len=0x01 val=0x00000210 0 Guest 0 attempting > sub-dword read to BASE_ADDRESS 1 > (XEN) 02:00:01 reg=0x18 len=0x04 val=0xb00a0702 0 Guest attempting > update to BASE_ADDRESS 2 > (XEN) 02:00:01 reg=0x1c len=0x04 val=0x10c00000 0 Guest attempting > update to BASE_ADDRESS 3 > (XEN) 02:00:01 reg=0x20 len=0x04 val=0x10ffffff 0 Guest attempting > update to BASE_ADDRESS 4 > (XEN) 02:00:01 reg=0x24 len=0x04 val=0x11000000 0 Guest attempting > update to BASE_ADDRESS 5 > (XEN) 02:00:01 reg=0x30 len=0x04 val=0x000048ff 0 caution: guest tried > to change rom address. > (XEN) b=7 d=0 f=0 target does not exist > (XEN) pci_cfgreg_read : 07:00:00 reg=0x0e len=0x01 val=0xffffffff > ret=0xffffffed > (XEN) b=7 d=0 f=0 target does not exist > (XEN) pci_cfgreg_read : 07:00:00 reg=0x00 len=0x04 val=0xffffffff > ret=0xffffffed > > ideas? > > > ------------------------------------------------------- > SF email is sponsored by - The IT Product Guide > Read honest & candid reviews on hundreds of IT Products from real > users. > Discover which products truly live up to the hype. Start reading now. > http://productguide.itmanagersjournal.com/ > _______________________________________________ > Xen-devel mailing list > Xen-devel@xxxxxxxxxxxxxxxxxxxxx > https://lists.sourceforge.net/lists/listinfo/xen-devel > ------------------------------------------------------- The SF.Net email is sponsored by: Beat the post-holiday blues Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.sourceforge.net/lists/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |