Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 14 Mar 1999 16:52:15 -0700 (MST)
From:      Kevin Van Maren <vanmaren@fast.cs.utah.edu>
To:        freebsd-smp@FreeBSD.ORG, pepper@lh.net
Subject:   Re:  cpq proliant 5500R dual xeon PCI bus=255?
Message-ID:  <199903142352.QAA07067@fast.cs.utah.edu>

next in thread | raw e-mail | index | archive | help
> All:
> 
> Having problems booting up an SMP kernel under 3.1-RELEASE on our new
> compaq proliant 5500R dual xeon box.  I'm noticing that BIOS is reporting
> 255 PCI busses to a non-MP kernel, which works but sets the number at a
> reasonable ten.  mptable reports three physical busses.  Here's some
> relevant output.  I realize that compaq is insane with some of their
> hardware implementation, and apologize for asking you folks to wade through
> it.  Thanks for any assistance you can give!
> 
> error message on SMP-enabled kernel dmesg(immediately after CPU info):
> panic: bad PCI bus numbering

I guess I should answer this, as I wrote the PCI support code for the
450NX chipset...  If it is a 450NX chipset problem, I'll try to fix it.

The Compaq is probably playing the old game of skipping PCI bus numbers
for every empty slot, in order to add a card with a single PCI-PCI bridge
under a hot-plug OS (netware 5, etc).  Setting the last PCI bus to 255 is
an all-too-common mistake being made by OEMs.  [BTW, Compaq wrote the
hot-plug-PCI spec for their p-pro boxes]

> dmesg on the (working) non-SMP kernel:

> eisa0: <CPQ808 (System Board)>
> Probing for devices on the EISA bus
> Probing for devices on PCI bus 0:
> dpt0: <DPT Caching SCSI RAID Controller> rev 0x02 int a irq 15 on pci0.2.0
> dpt0: DPT PM3334UW FW Rev. 07M0, 1 channel, 64 CCBs
> ncr0: <ncr 53c875 fast20 wide scsi> rev 0x14 int a irq 9 on pci0.13.0
> ncr1: <ncr 53c875 fast20 wide scsi> rev 0x14 int b irq 10 on pci0.13.1
> vga0: <ATI model 4756 graphics accelerator> rev 0x7a on pci0.14.0
> chip0: <Intel 82371AB PCI to ISA bridge> rev 0x02 on pci0.15.0
> ide_pci0: <Intel PIIX4 Bus-master IDE controller> rev 0x01 on pci0.15.1
> chip1: <Intel 82371AB Power management controller> rev 0x02 on pci0.15.3
> fixbushigh_450nx: bogus highest PCI bus 255, reduced to 10
> chip2: <Intel 82451NX Memory and I/O Controller> rev 0x03 on pci0.16.0
> chip3: <Intel 82454NX PCI Expander Bridge> rev 0x02 on pci0.18.0
> chip4: <Intel 82454NX PCI Expander Bridge> rev 0x02 on pci0.19.0
> Probing for devices on PCI bus 1:
> Probing for devices on PCI bus 2:
> Probing for devices on PCI bus 3:
> Probing for devices on PCI bus 4:
> xl0: <3Com 3c905B Fast Etherlink XL 10/100BaseTX> rev 0x30 int a irq 5 on
> pci4.2.0
> xl0: Ethernet address: 00:10:5a:ab:d0:5a
> xl0: autoneg not complete, no carrier (forcing half-duplex, 10Mbps)
> fxp0: <Intel EtherExpress Pro 10/100B Ethernet> rev 0x05 int a irq 11 on
> pci4.3.0
> fxp0: Ethernet address 00:08:c7:eb:b2:98
> Probing for devices on PCI bus 5:
> Probing for devices on PCI bus 6:
> Probing for devices on PCI bus 7:
> Probing for devices on PCI bus 8:
> Probing for devices on PCI bus 9:
> Probing for devices on PCI bus 10:
> Probing for devices on the ISA bus:

> MP Config Base Table Entries:
> 
> --
> Processors:     APIC ID Version State           Family  Model   Step    Flags
>                  3       0x10    BSP, usable     6       5       3
> 0x183fbff
>                  2       0x10    AP, usable      6       5       3
> 0x183fbff
> --
> Bus:            Bus ID  Type
>                  0       PCI
>                  4       PCI
>                 17       ISA
> --
> I/O APICs:      APIC ID Version State           Address
>                  8       0x11    usable          0xfec00000
> --
> I/O Ints:       Type    Polarity    Trigger     Bus ID   IRQ    APIC ID PIN#
>                 INT     active-hi        edge       17     1          8    1
>                 INT     active-hi        edge       17     0          8    2
>                 INT     active-hi        edge       17     3          8    3
>                 INT     active-hi        edge       17     4          8    4
>                 INT     active-hi       level       17     5          8    5
>                 INT     active-hi        edge       17     6          8    6
>                 INT     active-hi        edge       17   1:D          8    7
>                 INT     active-hi        edge       17     8          8    8
>                 INT     active-hi       level       17     9          8    9
>                 INT     active-hi       level       17    10          8   10
>                 INT     active-hi       level       17    11          8   11
>                 INT     active-hi        edge       17    12          8   12
>                 INT     active-lo        edge       17    13          8   13
>                 INT     active-hi        edge       17    14          8   14
>                 INT     active-hi       level       17    15          8   15
> --
> Local Ints:     Type    Polarity    Trigger     Bus ID   IRQ    APIC ID PIN#
>                 ExtINT   conforms    conforms       17     0        255    0
>                 NMI      conforms    conforms       17     0        255    1
> 
> -------------------------------------------------------------------------------

> # Required:
> options         SMP                     # Symmetric MultiProcessor Kernel
> options         APIC_IO                 # Symmetric (APIC) I/O
> 
> # Optional (built-in defaults will work in most cases):
> #options                NCPU=2                  # number of CPUs
> #options                NBUS=3                  # number of busses
> #options                NAPIC=1                 # number of IO APICs
> #options                NINTR=24                # number of INTs


Try adding:
	options NBUS=20

to your config file.  This is necessary, as you have a lot more
"busses" than the normal low-end box.  I'd set it that high, as the
ISA bus is numbered 17 in the MP table...  (Indicating to me that
they plan to handle PCI busses from 0-16).

However, I think you may have a problem with the fact that the
PCI bus IRQ redirections aren't listed in the mptable.  I haven't
looked at that code in a while, and I know it does try to fix broken
tables, but that may be a problem as well.

Kevin Van Maren


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-smp" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199903142352.QAA07067>