Version 1.55 of /sys/i386/isa/pcibus.c causes an IBM NetFinity 7000 (and
possibly other similar boards?) to find multiple copies of the GX chip.
Reverting to 1.54 cures the problem, but obviously doesn't address the
problem of the Dell machines it was trying to fix. :)
The problem doesn't immediately leap out at me, but the following section
seems suspect due to the 7 extra busses:
@@ -425,14 +434,20 @@ static void
nexus_pcib_identify(driver_t *driver, device_t parent)
{
pcicfgregs probe;
+ u_int8_t hdrtype;
int found = 0;
+ int pcifunchigh;
if (pci_cfgopen() == 0)
return;
probe.hose = 0;
probe.bus = 0;
for (probe.slot = 0; probe.slot <= PCI_SLOTMAX; probe.slot++) {
- int pcifunchigh = 0;
+ hdrtype = pci_cfgread(&probe, PCIR_HEADERTYPE, 1);
+ if (hdrtype & PCIM_MFDEV)
+ pcifunchigh = 7;
+ else
+ pcifunchigh = 0;
for (probe.func = 0;
probe.func <= pcifunchigh;
probe.func++) {
This one confused me for some time as I went into the BIOS to twiddle
options on this machine for the first time on the same reboot that I
happened to frist boot a kernel made after the 1.55 commit.
It took quite a while to finally suspect a source change rather than a
misconfiguration, especially since this machine was new with the
installation of 20000208-SNAP, and I had done several make worlds on it in
the preceding 36 hours or so, and all the kernels booted fine. A quick
test of the original GENERIC finally pointed the right way. :)
A sample bungled dmesg and one corrected by backing out 1.55 follow:
Copyright (c) 1992-2000 The FreeBSD Project.
Copyright (c) 1982, 1986, 1989, 1991, 1993
The Regents of the University of California. All rights reserved.
FreeBSD 4.0-CURRENT #0: Fri Feb 11 01:21:14 MST 2000
[EMAIL PROTECTED]:/usr/src/sys/compile/BLUE
Timecounter "i8254" frequency 1193182 Hz
CPU: Pentium Pro (198.95-MHz 686-class CPU)
Origin = "GenuineIntel" Id = 0x619 Stepping = 9
Features=0xfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV>
real memory = 268435456 (262144K bytes)
avail memory = 257114112 (251088K bytes)
Programming 16 pins in IOAPIC #0
IOAPIC #0 intpin 2 -> irq 0
FreeBSD/SMP: Multiprocessor motherboard
cpu0 (BSP): apic id: 0, version: 0x00040011, at 0xfec08000
cpu1 (AP): apic id: 4, version: 0x00040011, at 0xfec08000
cpu2 (AP): apic id: 1, version: 0x00040011, at 0xfec08000
cpu3 (AP): apic id: 2, version: 0x00040011, at 0xfec08000
io0 (APIC): apic id: 14, version: 0x000f0011, at 0xfec00000
Preloaded elf kernel "kernel" at 0xc0318000.
Preloaded userconfig_script "/boot/kernel.conf" at 0xc031809c.
ccd0-1: Concatenated disk drivers
Pentium Pro MTRR support enabled
md0: Malloc disk
devclass_alloc_unit: pcib0 already exists, using next available unit number
devclass_alloc_unit: pcib0 already exists, using next available unit number
devclass_alloc_unit: pcib0 already exists, using next available unit number
devclass_alloc_unit: pcib0 already exists, using next available unit number
devclass_alloc_unit: pcib0 already exists, using next available unit number
devclass_alloc_unit: pcib0 already exists, using next available unit number
devclass_alloc_unit: pcib0 already exists, using next available unit number
devclass_alloc_unit: pcib1 already exists, using next available unit number
devclass_alloc_unit: pcib1 already exists, using next available unit number
devclass_alloc_unit: pcib1 already exists, using next available unit number
devclass_alloc_unit: pcib1 already exists, using next available unit number
devclass_alloc_unit: pcib1 already exists, using next available unit number
devclass_alloc_unit: pcib1 already exists, using next available unit number
devclass_alloc_unit: pcib1 already exists, using next available unit number
devclass_alloc_unit: pcib1 already exists, using next available unit number
npx0: <math processor> on motherboard
npx0: INT 16 interface
pcib0: <Intel 82454KX/GX (Orion) host to PCI bridge> on motherboard
pci0: <PCI bus> on pcib0
isab0: <Intel 82375EB PCI-EISA bridge> at device 14.0 on pci0
eisa0: <EISA bus> on isab0
mainboard0: <INT31c0 (System Board)> on eisa0 slot 0
isa0: <ISA bus> on isab0
chip0: <> mem
0xfffffc00-0xffffffff,0xfffffc00-0xffffffff,0xfffffc00-0xffffffff,,0xfffffc00-0xffffffff,0xfffffc00-0xffffffff,0xfec01000-0xfec013ff
at device 15.0 on pci0
chip1: <Intel 82453KX/GX (Orion) PCI memory controller> at device 20.0 on pci0
pcib1: <Intel 82454KX/GX (Orion) host to PCI bridge> on motherboard
pci1: <PCI bus> on pcib1
ahc0: <Adaptec aic7880 Ultra SCSI adapter> port 0xfc00-0xfcff mem 0xfe8ff000-0xf
ahc0: Using left over BIOS settings
ahc0: aic7880 Wide Channel A, SCSI Id=7, 16/255 SCBs
ahc1: <Adaptec aic7880 Ultra SCSI adapter> port 0xf800-0xf8ff mem 0xfe8fe000-0xf
ahc1: Using left over BIOS settings
ahc1: aic7880 Wide Channel A, SCSI Id=7, 16/255 SCBs
sym0: <875> port 0xf400-0xf4ff mem 0xfe8fc000-0xfe8fcfff,0xfe8fdc00-0xfe8fdcff irq 10
at device 13.0 on pci1
sym0: Tekram NVRAM, ID 7, Fast-20, SE, parity checking
vr0: <VIA VT3043 Rhine I 10/100BaseTX> port 0xf480-0xf4ff mem 0xfe8fdc00-0xfe8fd
vr0: Ethernet address: 00:50:ba:ab:85:18
miibus0: <MII bus> on vr0
amphy0: <DM9101 10/100 media interface> on miibus0
amphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
pcib2: <Intel 82454KX/GX (Orion) host to PCI bridge> on motherboard
pci2: <PCI bus> on pcib2
pcib3: <Intel 82454KX/GX (Orion) host to PCI bridge> on motherboard
pci3: <PCI bus> on pcib3
pcib4: <Intel 82454KX/GX (Orion) host to PCI bridge> on motherboard
pci4: <PCI bus> on pcib4
pcib5: <Intel 82454KX/GX (Orion) host to PCI bridge> on motherboard
pci5: <PCI bus> on pcib5
pcib6: <Intel 82454KX/GX (Orion) host to PCI bridge> on motherboard
pci6: <PCI bus> on pcib6
pcib7: <Intel 82454KX/GX (Orion) host to PCI bridge> on motherboard
pci7: <PCI bus> on pcib7
pcib8: <Intel 82454KX/GX (Orion) host to PCI bridge> on motherboard
pci8: <PCI bus> on pcib8
pcib9: <Intel 82454KX/GX (Orion) host to PCI bridge> on motherboard
pci9: <PCI bus> on pcib9
pcib10: <Intel 82454KX/GX (Orion) host to PCI bridge> on motherboard
pci10: <PCI bus> on pcib10
pcib11: <Intel 82454KX/GX (Orion) host to PCI bridge> on motherboard
pci11: <PCI bus> on pcib11
pcib12: <Intel 82454KX/GX (Orion) host to PCI bridge> on motherboard
pci12: <PCI bus> on pcib12
pcib13: <Intel 82454KX/GX (Orion) host to PCI bridge> on motherboard
pci13: <PCI bus> on pcib13
pcib14: <Intel 82454KX/GX (Orion) host to PCI bridge> on motherboard
pci14: <PCI bus> on pcib14
pcib15: <Intel 82454KX/GX (Orion) host to PCI bridge> on motherboard
pci15: <PCI bus> on pcib15
fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0
fdc0: FIFO enabled, 8 bytes threshold
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
ata0 at port 0x1f0 irq 14 on isa0
atkbdc0: <keyboard controller (i8042)> at port 0x60-0x6f on isa0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model NetMouse, device ID 0
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
sc0: <System console> on isa0
sc0: VGA <16 virtual consoles, flags=0x200>
pcic1: not probed (disabled)
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A
sio1 at port 0x2f8-0x2ff irq 3 on isa0
sio1: type 16550A
sio2: not probed (disabled)
sio3: not probed (disabled)
ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0
ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/8 bytes threshold
ppi0: <Parallel I/O> on ppbus0
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven port
plip0: <PLIP network interface> on ppbus0
APIC_IO: routing 8254 via IOAPIC #0 intpin 2
Waiting 10 seconds for SCSI devices to settle
acd0: CDROM <CD-ROM CDU511-F> at ata0-master using BIOSPIO
pass1 at ahc0 bus 0 target 15 lun 0
pass1: <SDR GEM200 2> Fixed Processor SCSI-2 device
pass1: 3.300MB/s transfers
da0 at ahc0 bus 0 target 1 lun 0
da0: <TANDEM 4618-1\003+\002\025\202\010\002\025\227\350 03A1> Fixed Direct Access
SCSI-3 device
da0: 40.000MB/s transfers (20.000MHz, offset 8, 16bit)
da0: 17501MB (35843670 512 byte sectors: 64H 32S/T 17501C)
da1 at sym0 bus 0 target 0 lun 0
da1: <QUANTUM XP32275S LXY4> Fixed Direct Access SCSI-2 device
da1: 20.000MB/s transfers (20.000MHz, offset 16), Tagged Queueing Enabled
da1: 2170MB (4445380 512 byte sectors: 255H 63S/T 276C)
Mounting root from ufs:/dev/da0s1a
After backing out 1.55 to 1.54:
Copyright (c) 1992-2000 The FreeBSD Project.
Copyright (c) 1982, 1986, 1989, 1991, 1993
The Regents of the University of California. All rights reserved.
FreeBSD 4.0-CURRENT #1: Fri Feb 11 03:03:04 MST 2000
[EMAIL PROTECTED]:/usr/src/sys/compile/BLUE
Timecounter "i8254" frequency 1193182 Hz
CPU: Pentium Pro (198.95-MHz 686-class CPU)
Origin = "GenuineIntel" Id = 0x619 Stepping = 9
Features=0xfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV>
real memory = 268435456 (262144K bytes)
avail memory = 257114112 (251088K bytes)
Programming 16 pins in IOAPIC #0
IOAPIC #0 intpin 2 -> irq 0
FreeBSD/SMP: Multiprocessor motherboard
cpu0 (BSP): apic id: 0, version: 0x00040011, at 0xfec08000
cpu1 (AP): apic id: 4, version: 0x00040011, at 0xfec08000
cpu2 (AP): apic id: 1, version: 0x00040011, at 0xfec08000
cpu3 (AP): apic id: 2, version: 0x00040011, at 0xfec08000
io0 (APIC): apic id: 14, version: 0x000f0011, at 0xfec00000
Preloaded elf kernel "kernel" at 0xc0318000.
Preloaded userconfig_script "/boot/kernel.conf" at 0xc031809c.
ccd0-1: Concatenated disk drivers
Pentium Pro MTRR support enabled
md0: Malloc disk
npx0: <math processor> on motherboard
npx0: INT 16 interface
pcib0: <Intel 82454KX/GX (Orion) host to PCI bridge> on motherboard
pci0: <PCI bus> on pcib0
isab0: <Intel 82375EB PCI-EISA bridge> at device 14.0 on pci0
eisa0: <EISA bus> on isab0
mainboard0: <INT31c0 (System Board)> on eisa0 slot 0
isa0: <ISA bus> on isab0
chip0: <> mem 0xfffffc00-0xffffffff,0xfffffc00-0xffffffff,0xfffffc00-0xffffffff,
0xfffffc00-0xffffffff,0xfffffc00-0xffffffff,0xfec01000-0xfec013ff at device 15.0 on
pci0
chip1: <Intel 82453KX/GX (Orion) PCI memory controller> at device 20.0 on pci0
pcib1: <Intel 82454KX/GX (Orion) host to PCI bridge> on motherboard
pci1: <PCI bus> on pcib1
ahc0: <Adaptec aic7880 Ultra SCSI adapter> port 0xfc00-0xfcff mem
0xfe8ff000-0xfe8fffff irq 11 at device 11.0 on pci1
ahc0: Using left over BIOS settings
ahc0: aic7880 Wide Channel A, SCSI Id=7, 16/255 SCBs
ahc1: <Adaptec aic7880 Ultra SCSI adapter> port 0xf800-0xf8ff mem
0xfe8fe000-0xfe8fefff irq 9 at device 12.0 on pci1
ahc1: Using left over BIOS settings
ahc1: aic7880 Wide Channel A, SCSI Id=7, 16/255 SCBs
sym0: <875> port 0xf400-0xf4ff mem 0xfe8fc000-0xfe8fcfff,0xfe8fdc00-0xfe8fdcff irq 10
at device 13.0 on pci1
sym0: Tekram NVRAM, ID 7, Fast-20, SE, parity checking
vr0: <VIA VT3043 Rhine I 10/100BaseTX> port 0xf080-0xf0ff mem 0xfe8fd800-0xfe8fd87f
irq 10 at device 14.0 on pci1
vr0: Ethernet address: 00:50:ba:ab:85:18
miibus0: <MII bus> on vr0
amphy0: <DM9101 10/100 media interface> on miibus0
amphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0
fdc0: FIFO enabled, 8 bytes threshold
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
atkbdc0: <keyboard controller (i8042)> at port 0x60-0x6f on isa0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model NetMouse, device ID 0
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
sc0: <System console> on isa0
sc0: VGA <9 virtual consoles, flags=0x200>
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A
sio1 at port 0x2f8-0x2ff irq 3 on isa0
sio1: type 16550A
sio2: not probed (disabled)
sio3: not probed (disabled)
ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0
ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/8 bytes threshold
ppi0: <Parallel I/O> on ppbus0
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven port
plip0: <PLIP network interface> on ppbus0
APIC_IO: routing 8254 via IOAPIC #0 intpin 2
Waiting 10 seconds for SCSI devices to settle
SMP: AP CPU #1 Launched!
SMP: AP CPU #2 Launched!
SMP: AP CPU #3 Launched!
pass1 at ahc0 bus 0 target 15 lun 0
pass1: <SDR GEM200 2> Fixed Processor SCSI-2 device
pass1: 3.300MB/s transfers
da0 at ahc0 bus 0 target 1 lun 0
da0: <TANDEM 4618-1\\003+\\002\\025\\202\\010\\002\\025\\227\\350 03A1> Fixed Direct
Access SCSI-3 device
da0: 40.000MB/s transfers (20.000MHz, offset 8, 16bit)
da0: 17501MB (35843670 512 byte sectors: 64H 32S/T 17501C)
da1 at sym0 bus 0 target 0 lun 0
da1: <QUANTUM XP32275S LXY4> Fixed Direct Access SCSI-2 device
da1: 20.000MB/s transfers (20.000MHz, offset 16), Tagged Queueing Enabled
da1: 2170MB (4445380 512 byte sectors: 255H 63S/T 276C)
Mounting root from ufs:/dev/da0s1a
pid 277 (iozone), uid 0 on /usr/obj: file system full
Later...... <Doug>
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message