[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


 


Rackspace

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