Where do MSI quirks belong?

John Polstra jdp at polstra.com
Mon Nov 20 10:49:19 PST 2006


On 20-Nov-2006 John Baldwin wrote:
> On Sunday 19 November 2006 23:11, John Polstra wrote:
>> First, I assume that whether MSI works or not is at least partially
>> a function of the motherboard and maybe the BIOS, as opposed to the
>> chipset.  Is that right?  At least on this Tyan board, there seem
>> to be some nice kenv variables (e.g., smbus.planar.product) already
>> set that could help me recognize the board.  Is that a reasonable
>> approach?
> 
> It's going to be a function of the chipset, as something in the chipset 
> (presumably a Host -> PCI bridge) has to listen for writes to 0xfeeXXXXXX and 
> convert them into APIC messages.

Hmm, this Tyan 2721 board has the Intel E7501 chipset.  Isn't it
supposed to support MSI?  It doesn't work, and that's why I thought
the motherboard might also be a factor.  I'll paste in the pciconf
output below.

John

hostb0 at pci0:0:0:        class=0x060000 card=0x00000000 chip=0x254c8086 rev=0x01 hdr=0x00
    vendor   = 'Intel Corporation'
    device   = 'E7501 Host Controller'
    class    = bridge
    subclass = HOST-PCI
pcib1 at pci0:2:0: class=0x060400 card=0x00000000 chip=0x25438086 rev=0x01 hdr=0x01
    vendor   = 'Intel Corporation'
    device   = 'E7500/E7501 HI_B Virtual PCI-to-PCI Bridge'
    class    = bridge
    subclass = PCI-PCI
pcib4 at pci0:3:0: class=0x060400 card=0x00000000 chip=0x25458086 rev=0x01 hdr=0x01
    vendor   = 'Intel Corporation'
    device   = 'E7500/E7501 HI_C Virtual PCI-to-PCI Bridge'
    class    = bridge
    subclass = PCI-PCI
none0 at pci0:29:0:        class=0x0c0300 card=0x24808086 chip=0x24828086 rev=0x02 hdr=0x00
    vendor   = 'Intel Corporation'
    device   = '82801CA/CAM (ICH3-S/ICH3-M) USB Controller'
    class    = serial bus
    subclass = USB
none1 at pci0:29:1:        class=0x0c0300 card=0x24808086 chip=0x24848086 rev=0x02 hdr=0x00
    vendor   = 'Intel Corporation'
    device   = '82801CA/CAM (ICH3-S/ICH3-M) USB Controller'
    class    = serial bus
    subclass = USB
pcib7 at pci0:30:0:        class=0x060400 card=0x00000000 chip=0x244e8086 rev=0x42 hdr=0x01
    vendor   = 'Intel Corporation'
    device   = '82801BA/CA/DB/DBL/EB/ER/FB (ICH2/3/4/4/5/5/6), 6300ESB Hub Interface to PCI Bridge'
    class    = bridge
    subclass = PCI-PCI
isab0 at pci0:31:0:        class=0x060100 card=0x00000000 chip=0x24808086 rev=0x02 hdr=0x00
    vendor   = 'Intel Corporation'
    device   = '82801CA/CAM (ICH3-S/ICH3-M) LPC Interface'
    class    = bridge
    subclass = PCI-ISA
atapci0 at pci0:31:1:      class=0x01018a card=0x24808086 chip=0x248b8086 rev=0x02 hdr=0x00
    vendor   = 'Intel Corporation'
    device   = '82801CA (ICH3) UltraATA/100 EIDE Controller'
    class    = mass storage
    subclass = ATA
none2 at pci0:31:3:        class=0x0c0500 card=0x24808086 chip=0x24838086 rev=0x02 hdr=0x00
    vendor   = 'Intel Corporation'
    device   = '82801CA/CAM (ICH3-S/ICH3-M) SMBus Controller'
    class    = serial bus
    subclass = SMBus
none3 at pci5:28:0:        class=0x080020 card=0x14618086 chip=0x14618086 rev=0x04 hdr=0x00
    vendor   = 'Intel Corporation'
    device   = 'P64H2 I/O Advanced Programmable Interrupt Controller'
    class    = base peripheral
    subclass = interrupt controller
pcib2 at pci5:29:0:        class=0x060400 card=0x00000050 chip=0x14608086 rev=0x04 hdr=0x01
    vendor   = 'Intel Corporation'
    device   = '82870P2 P64H2 PCI/PCI-X Hub Controller'
    class    = bridge
    subclass = PCI-PCI
none4 at pci5:30:0:        class=0x080020 card=0x14618086 chip=0x14618086 rev=0x04 hdr=0x00
    vendor   = 'Intel Corporation'
    device   = 'P64H2 I/O Advanced Programmable Interrupt Controller'
    class    = base peripheral
    subclass = interrupt controller
pcib3 at pci5:31:0:        class=0x060400 card=0x00000050 chip=0x14608086 rev=0x04 hdr=0x01
    vendor   = 'Intel Corporation'
    device   = '82870P2 P64H2 PCI/PCI-X Hub Controller'
    class    = bridge
    subclass = PCI-PCI
em0 at pci7:1:0:   class=0x020000 card=0x10118086 chip=0x10108086 rev=0x01 hdr=0x00
    vendor   = 'Intel Corporation'
    device   = '82546EB Dual Port Gigabit Ethernet Controller (Copper)'
    class    = network
    subclass = ethernet
em1 at pci7:1:1:   class=0x020000 card=0x10118086 chip=0x10108086 rev=0x01 hdr=0x00
    vendor   = 'Intel Corporation'
    device   = '82546EB Dual Port Gigabit Ethernet Controller (Copper)'
    class    = network
    subclass = ethernet
bge0 at pci6:3:0:  class=0x020000 card=0x164814e4 chip=0x164814e4 rev=0x10 hdr=0x00
    vendor   = 'Broadcom Corporation'
    device   = 'BCM5704 NetXtreme Dual Gigabit Adapter'
    class    = network
    subclass = ethernet
bge1 at pci6:3:1:  class=0x020000 card=0x164814e4 chip=0x164814e4 rev=0x10 hdr=0x00
    vendor   = 'Broadcom Corporation'
    device   = 'BCM5704 NetXtreme Dual Gigabit Adapter'
    class    = network
    subclass = ethernet
none5 at pci2:28:0:        class=0x080020 card=0x14618086 chip=0x14618086 rev=0x04 hdr=0x00
    vendor   = 'Intel Corporation'
    device   = 'P64H2 I/O Advanced Programmable Interrupt Controller'
    class    = base peripheral
    subclass = interrupt controller
pcib5 at pci2:29:0:        class=0x060400 card=0x00000050 chip=0x14608086 rev=0x04 hdr=0x01
    vendor   = 'Intel Corporation'
    device   = '82870P2 P64H2 PCI/PCI-X Hub Controller'
    class    = bridge
    subclass = PCI-PCI
none6 at pci2:30:0:        class=0x080020 card=0x14618086 chip=0x14618086 rev=0x04 hdr=0x00
    vendor   = 'Intel Corporation'
    device   = 'P64H2 I/O Advanced Programmable Interrupt Controller'
    class    = base peripheral
    subclass = interrupt controller
pcib6 at pci2:31:0:        class=0x060400 card=0x00000050 chip=0x14608086 rev=0x04 hdr=0x01
    vendor   = 'Intel Corporation'
    device   = '82870P2 P64H2 PCI/PCI-X Hub Controller'
    class    = bridge
    subclass = PCI-PCI
fxp0 at pci1:1:0:  class=0x020000 card=0x10408086 chip=0x12298086 rev=0x10 hdr=0x00
    vendor   = 'Intel Corporation'
    device   = '82550/1/7/8/9 EtherExpress PRO/100(B) Ethernet Adapter'
    class    = network
    subclass = ethernet
vgapci0 at pci1:2:0:       class=0x030000 card=0x80081002 chip=0x47521002 rev=0x27 hdr=0x00
    vendor   = 'ATI Technologies Inc'
    device   = 'Rage XL PCI'
    class    = display
    subclass = VGA


More information about the freebsd-arch mailing list