Subject: Re: MI PCI fixes which may improve i386 SMP branch interrupt
To: None <sommerfeld@netbsd.org>
From: Jarle Greipsland <jarle@uninett.no>
List: tech-smp
Date: 05/19/2002 02:37:19
Bill Sommerfeld <sommerfeld@netbsd.org> writes:
> Folks may want to try the test kernels in:
> 
> 	ftp.netbsd.org:/pub/NetBSD/arch/i386/mptest/test-20020518/
> 
Bingo!  This fixed the problems with the Intel 451NX chipset in
our Dell 6350.  The two extra SCSI busses now work, and it even
found the CD-ROM drive :-)  Great work!
					-jarle

--------------------------------------------------

>> NetBSD/i386 BIOS Boot, Revision 2.7
>> (he@hamster.urc.uninett.no, Mon Dec 10 05:46:17 CET 2001)
>> Memory: 639/1047544 k
Use hd1a:netbsd to boot sd0 when wd0 is also installed
Press return to boot now, any other key for boot menu
booting wd0a:netbsd - starting in 5 0
type "?" or "help" for help.
> boot netbsd.genmp
booting wd0a:netbsd.genmp
5538848+115336+326600 [65+267616+237555]=0x6315ac
[ using 505692 bytes of netbsd ELF symbol table ]
curcpu: 0xc0660100; cpu_info_primary: 0xc0660100
BIOS CFG: Model-SubM-Rev: fc-01-00, 0x74<EBDA,KBDINT,RTC,IC2>
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002
    The NetBSD Foundation, Inc.  All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
    The Regents of the University of California.  All rights reserved.

pj_nbytes: 4096
NetBSD 1.5ZC (GENERIC.MPDEBUG) #52: Sat May 18 18:03:01 EDT 2002
    sommerfeld@snoop:/usr/smpsys/arch/i386/compile/GENERIC.MPDEBUG
total memory = 1023 MB
avail memory = 932 MB
using 6144 buffers containing 52508 KB of memory
BIOS32 rev. 0 found at 0xffe90
mainbus0 (root)
mainbus0: scanning 0x9fc00 to 0x9fff0 for MP signature
mainbus0: scanning 0x9f800 to 0x9fbf0 for MP signature
mainbus0: scanning 0xf0000 to 0xffff0 for MP signature
mainbus0: MP floating pointer found in bios at 0xfe710
mainbus0: MP config table at 0xf0000, 468 bytes long
mainbus0: Intel MP Specification (Version 1.4) (DELL     PowerEdge 83)
cpu0 at mainbus0: apid 3 (boot processor)
cpu0: Intel Pentium II/Celeron (Deschutes) (686-class), 450.01 MHz
cpu0: features 183fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR>
cpu0: features 183fbff<PGE,MCA,CMOV,FGPAT,PSE36,MMX>
cpu0: features 183fbff<FXSR>
cpu0: I-cache 16 KB 32b/line 4-way, D-cache 16 KB 32b/line 4-way
cpu0: L2 cache 512 KB 32b/line 4-way
cpu0: ITLB 32 4 KB entries 4-way, 2 4 MB entries fully associative
cpu0: DTLB 64 4 KB entries 4-way, 8 4 MB entries 4-way
cpu0: calibrating local timer
cpu0: apic clock running at 99 MHz
cpu0: 32 page colors
cpu0: kstack at 0xe40a6000 for 8192 bytes
cpu0: idle pcb at 0xe40a6000, idle sp at 0xe40a7f98
cpu1 at mainbus0: apid 0 (application processor)
cpu1: starting
cpu1: Intel Pentium II/Celeron (Deschutes) (686-class), 449.98 MHz
cpu1: features 183fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR>
cpu1: features 183fbff<PGE,MCA,CMOV,FGPAT,PSE36,MMX>
cpu1: features 183fbff<FXSR>
cpu1: I-cache 16 KB 32b/line 4-way, D-cache 16 KB 32b/line 4-way
cpu1: L2 cache 512 KB 32b/line 4-way
cpu1: ITLB 32 4 KB entries 4-way, 2 4 MB entries fully associative
cpu1: DTLB 64 4 KB entries 4-way, 8 4 MB entries 4-way
cpu1: kstack at 0xe40b8000 for 8192 bytes
cpu1: idle pcb at 0xe40b8000, idle sp at 0xe40b9f98
cpu2 at mainbus0: apid 1 (application processor)
cpu2: starting
cpu2: Intel Pentium II/Celeron (Deschutes) (686-class), 449.98 MHz
cpu2: features 183fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR>
cpu2: features 183fbff<PGE,MCA,CMOV,FGPAT,PSE36,MMX>
cpu2: features 183fbff<FXSR>
cpu2: I-cache 16 KB 32b/line 4-way, D-cache 16 KB 32b/line 4-way
cpu2: L2 cache 512 KB 32b/line 4-way
cpu2: ITLB 32 4 KB entries 4-way, 2 4 MB entries fully associative
cpu2: DTLB 64 4 KB entries 4-way, 8 4 MB entries 4-way
cpu2: kstack at 0xe40ca000 for 8192 bytes
cpu2: idle pcb at 0xe40ca000, idle sp at 0xe40cbf98
cpu3 at mainbus0: apid 2 (application processor)
cpu3: starting
cpu3: Intel Pentium II/Celeron (Deschutes) (686-class), 449.98 MHz
cpu3: features 183fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR>
cpu3: features 183fbff<PGE,MCA,CMOV,FGPAT,PSE36,MMX>
cpu3: features 183fbff<FXSR>
cpu3: I-cache 16 KB 32b/line 4-way, D-cache 16 KB 32b/line 4-way
cpu3: L2 cache 512 KB 32b/line 4-way
cpu3: ITLB 32 4 KB entries 4-way, 2 4 MB entries fully associative
cpu3: DTLB 64 4 KB entries 4-way, 8 4 MB entries 4-way
cpu3: kstack at 0xe40dc000 for 8192 bytes
cpu3: idle pcb at 0xe40dc000, idle sp at 0xe40ddf98
mpbios: bus 0 is type PCI   
mpbios: bus 1 is type PCI   
mpbios: bus 2 is type PCI   
mpbios: bus 3 is type ISA   
ioapic0 at mainbus0 apid 4 (I/O APIC)
ioapic0: pa 0xfec00000, virtual wire mode, version 11, 24 pins
ioapic0: misconfigured as apic 0
ioapic0: remapped to apic 4
ioapic0: int0 attached to ExtINT (type 3<type=3=ExtINT> flags 5<pol=1=Act Hi,trig=1=Edge>)
ioapic0: int1 attached to isa0 irq 1 (type 0<type=0> flags 0<pol=0,trig=0>)
ioapic0: int2 attached to isa0 irq 0 (type 0<type=0> flags 0<pol=0,trig=0>)
ioapic0: int3 attached to isa0 irq 3 (type 0<type=0> flags 0<pol=0,trig=0>)
ioapic0: int4 attached to isa0 irq 4 (type 0<type=0> flags 0<pol=0,trig=0>)
ioapic0: int6 attached to isa0 irq 6 (type 0<type=0> flags 0<pol=0,trig=0>)
ioapic0: int7 attached to isa0 irq 7 (type 0<type=0> flags 0<pol=0,trig=0>)
ioapic0: int8 attached to isa0 irq 8 (type 0<type=0> flags 0<pol=0,trig=0>)
ioapic0: int9 attached to isa0 irq 9 (type 0<type=0> flags 0<pol=0,trig=0>)
ioapic0: int12 attached to isa0 irq 12 (type 0<type=0> flags 0<pol=0,trig=0>)
ioapic0: int15 attached to isa0 irq 15 (type 0<type=0> flags 0<pol=0,trig=0>)
ioapic0: int16 attached to pci2 device 1 INT_B (type 0<type=0> flags 0<pol=0,trig=0>)
ioapic0: int16 attached to pci2 device 3 INT_C (type 0<type=0> flags 0<pol=0,trig=0>)
ioapic0: int16 attached to pci2 device 5 INT_D (type 0<type=0> flags 0<pol=0,trig=0>)
ioapic0: int16 attached to pci2 device 7 INT_A (type 0<type=0> flags 0<pol=0,trig=0>)
ioapic0: int17 attached to pci2 device 1 INT_C (type 0<type=0> flags 0<pol=0,trig=0>)
ioapic0: int17 attached to pci2 device 3 INT_D (type 0<type=0> flags 0<pol=0,trig=0>)
ioapic0: int17 attached to pci2 device 5 INT_A (type 0<type=0> flags 0<pol=0,trig=0>)
ioapic0: int17 attached to pci2 device 7 INT_B (type 0<type=0> flags 0<pol=0,trig=0>)
ioapic0: int18 attached to pci2 device 1 INT_D (type 0<type=0> flags 0<pol=0,trig=0>)
ioapic0: int18 attached to pci2 device 3 INT_A (type 0<type=0> flags 0<pol=0,trig=0>)
ioapic0: int18 attached to pci2 device 5 INT_B (type 0<type=0> flags 0<pol=0,trig=0>)
ioapic0: int18 attached to pci2 device 7 INT_C (type 0<type=0> flags 0<pol=0,trig=0>)
ioapic0: int19 attached to pci2 device 1 INT_A (type 0<type=0> flags 0<pol=0,trig=0>)
ioapic0: int19 attached to pci2 device 3 INT_B (type 0<type=0> flags 0<pol=0,trig=0>)
ioapic0: int19 attached to pci2 device 5 INT_C (type 0<type=0> flags 0<pol=0,trig=0>)
ioapic0: int19 attached to pci2 device 7 INT_D (type 0<type=0> flags 0<pol=0,trig=0>)
ioapic0: int20 attached to pci0 device 6 INT_B (type 0<type=0> flags 0<pol=0,trig=0>)
ioapic0: int20 attached to pci0 device 8 INT_C (type 0<type=0> flags 0<pol=0,trig=0>)
ioapic0: int20 attached to pci0 device 10 INT_D (type 0<type=0> flags 0<pol=0,trig=0>)
ioapic0: int20 attached to pci1 device 8 INT_A (type 0<type=0> flags 0<pol=0,trig=0>)
ioapic0: int21 attached to pci1 device 4 INT_A (type 0<type=0> flags 0<pol=0,trig=0>)
ioapic0: int22 attached to pci1 device 6 INT_A (type 0<type=0> flags 0<pol=0,trig=0>)
ioapic0: int14 attached to pci0 device 6 INT_C (type 0<type=0> flags 0<pol=0,trig=0>)
ioapic0: int14 attached to pci0 device 8 INT_D (type 0<type=0> flags 0<pol=0,trig=0>)
ioapic0: int14 attached to pci0 device 10 INT_A (type 0<type=0> flags 0<pol=0,trig=0>)
local apic: int0 attached to ExtINT (type 3<type=3=ExtINT> flags 5<pol=1=Act Hi,trig=1=Edge>)
local apic: int1 attached to NMI (type 1<type=1=NMI> flags 5<pol=1=Act Hi,trig=1=Edge>)
mainbus0: MP WARNING: 128 bytes of extended entries not examined
pci0 at mainbus0 bus 0: configuration mode 1
pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
pcib0 at pci0 dev 2 function 0
pcib0: Intel 82371AB PCI-to-ISA Bridge (PIIX4) (rev. 0x02)
pciide0 at pci0 dev 2 function 1: Intel 82371AB IDE controller (PIIX4) (rev. 0x01)
pciide0: device disabled (at device)
uhci0 at pci0 dev 2 function 2: Intel 82371AB USB Host Controller (PIIX4) (rev. 0x01)
uhci0: can't map i/o space
Intel 82371AB Power Management Controller (PIIX4) (miscellaneous bridge, revision 0x02) at pci0 dev 2 function 3 not configured
vga1 at pci0 dev 4 function 0: ATI Technologies 3D Rage Pro (rev. 0x5c)
wsdisplay0 at vga1 kbdmux 1
wsmux1: connecting to wsdisplay0
fxp0 at pci0 dev 10 function 0: i82558 Ethernet, rev 5
fxp0: interrupting at apic 4 int 14 (irq 14)
fxp0: detected 64 word EEPROM
fxp0: Ethernet address 00:90:27:45:e3:2a
inphy0 at fxp0 phy 1: i82555 10/100 media interface, rev. 0
inphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
pchb0 at pci0 dev 16 function 0
pchb0: Intel 82451NX Memory & I/O Controller (MIOC) (rev. 0x03)
pchb1 at pci0 dev 18 function 0
pchb1: Intel 82451NX PCI Expander Bridge (PXB) (rev. 0x02)
pchb2 at pci0 dev 19 function 0
pchb2: Intel 82451NX PCI Expander Bridge (PXB) (rev. 0x02)
pci1 at pchb2 bus 1
pci1: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
ahc1 at pci1 dev 4 function 0
ahc1: interrupting at apic 4 int 21 (irq 11)
ahc1: aic7890/91 Wide Channel A, SCSI Id=7, 16/255 SCBs
scsibus0 at ahc1: 16 targets, 8 luns per target
ahc2 at pci1 dev 6 function 0
ahc2: interrupting at apic 4 int 22 (irq 10)
ahc2: aic7890/91 Wide Channel A, SCSI Id=7, 16/255 SCBs
scsibus1 at ahc2: 16 targets, 8 luns per target
ahc3 at pci1 dev 8 function 0
ahc3: interrupting at apic 4 int 20 (irq 5)
ahc3: aic7860 Single Channel A, SCSI Id=7, 3/255 SCBs
scsibus2 at ahc3: 8 targets, 8 luns per target
pchb3 at pci0 dev 20 function 0
pchb3: Intel 82451NX PCI Expander Bridge (PXB) (rev. 0x02)
pci2 at pchb3 bus 2
pci2: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
isa0 at pcib0
com0 at isa0 port 0x3f8-0x3ff irq 4: ns16550a, working fifo
com0: console
com1 at isa0 port 0x2f8-0x2ff irq 3: ns16550a, working fifo
pckbc0 at isa0 port 0x60-0x64
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0 mux 1
wskbd0: connecting to wsdisplay0
pmsprobe: reset error 5
lpt0 at isa0 port 0x378-0x37b irq 7
lptprobe: mask ff data 55 failed
lptprobe: mask ff data 55 failed
seaprobe: board type unknown at address 0xc0761000
pcppi0 at isa0 port 0x61
midi0 at pcppi0: PC speaker
sysbeep0 at pcppi0
isapnp0 at isa0 port 0x279: ISA Plug 'n Play device support
npx0 at isa0 port 0xf0-0xff: using exception 16
fdc0 at isa0 port 0x3f0-0x3f7 irq 6 drq 2
fd0 at fdc0 drive 0: 1.44MB, 80 cyl, 2 head, 18 sec
isapnp0: no ISA Plug 'n Play devices found
biomask 0 netmask 0 ttymask 0
cpu0: prelint0 700<vector=0,delmode=7,dest=0> 0<target=0>
cpu0: prelint1 400<vector=0,delmode=4,dest=0> 0<target=0>
cpu0: timer0 300d0<vector=d0,delmode=0,masked,dest=0> 0<target=0>
cpu0: pcint0 10000<vector=0,delmode=0,masked,dest=0> 0<target=0>
cpu0: lint0 10700<vector=0,delmode=7,masked,dest=0> 0<target=0>
cpu0: lint1 400<vector=0,delmode=4,dest=0> 0<target=0>
cpu0: err0 10000<vector=0,delmode=0,masked,dest=0> 0<target=0>
ioapic0: enabling
ioapic0: int0 10700<vector=0,delmode=7,masked,dest=0> 0<target=0>
ioapic0: int1 1a0<vector=a0,delmode=1,dest=0> 3000000<target=3>
ioapic0: int2 10100<vector=0,delmode=1,masked,dest=0> 0<target=0>
ioapic0: int3 1e1<vector=e1,delmode=1,dest=0> 3000000<target=3>
ioapic0: int4 1e2<vector=e2,delmode=1,dest=0> 3000000<target=3>
ioapic0: int5 10000<vector=0,delmode=0,masked,dest=0> 0<target=0>
ioapic0: int6 170<vector=70,delmode=1,dest=0> 3000000<target=3>
ioapic0: int7 1a1<vector=a1,delmode=1,dest=0> 3000000<target=3>
ioapic0: int8 10100<vector=0,delmode=1,masked,dest=0> 0<target=0>
ioapic0: int9 10100<vector=0,delmode=1,masked,dest=0> 0<target=0>
ioapic0: int10 10000<vector=0,delmode=0,masked,dest=0> 0<target=0>
ioapic0: int11 10000<vector=0,delmode=0,masked,dest=0> 0<target=0>
ioapic0: int12 10100<vector=0,delmode=1,masked,dest=0> 0<target=0>
ioapic0: int13 10000<vector=0,delmode=0,masked,dest=0> 0<target=0>
ioapic0: int14 a181<vector=81,delmode=1,actlo,level,dest=0> 3000000<target=3>
ioapic0: int15 10100<vector=0,delmode=1,masked,dest=0> 0<target=0>
ioapic0: int16 1a100<vector=0,delmode=1,actlo,level,masked,dest=0> 0<target=0>
ioapic0: int17 1a100<vector=0,delmode=1,actlo,level,masked,dest=0> 0<target=0>
ioapic0: int18 1a100<vector=0,delmode=1,actlo,level,masked,dest=0> 0<target=0>
ioapic0: int19 1a100<vector=0,delmode=1,actlo,level,masked,dest=0> 0<target=0>
ioapic0: int20 a171<vector=71,delmode=1,actlo,level,dest=0> 3000000<target=3>
ioapic0: int21 a172<vector=72,delmode=1,actlo,level,dest=0> 3000000<target=3>
ioapic0: int22 a173<vector=73,delmode=1,actlo,level,dest=0> 3000000<target=3>
ioapic0: int23 10000<vector=0,delmode=0,masked,dest=0> 0<target=0>
scsibus0: waiting 2 seconds for devices to settle...
sd0 at scsibus0 target 0 lun 0: <IBM, DNES-318350Y, SA60> SCSI3 0/direct fixed
sd0: 17366 MB, 11474 cyl, 10 head, 309 sec, 512 bytes/sect x 35566501 sectors
sd0: sync (25.0ns offset 31), 16-bit (80.000MB/s) transfers, tagged queueing
sd1 at scsibus0 target 1 lun 0: <QUANTUM, QM34500TD-SCA, N1K0> SCSI2 0/direct fixed
sd1: 4341 MB, 8057 cyl, 5 head, 220 sec, 512 bytes/sect x 8891624 sectors
sd1: sync (25.0ns offset 31), 16-bit (80.000MB/s) transfers, tagged queueing
sd2 at scsibus0 target 2 lun 0: <QUANTUM, QM34500TD-SCA, N1K0> SCSI2 0/direct fixed
sd2: 4341 MB, 8057 cyl, 5 head, 220 sec, 512 bytes/sect x 8891624 sectors
sd2: sync (25.0ns offset 31), 16-bit (80.000MB/s) transfers, tagged queueing
ses0 at scsibus0 target 6 lun 0: <DELL, 1x3 U2W SCSI BP, 5.39> SCSI2 3/processor fixed
ses0: SAF-TE Compliant Device
ses0: async, 8-bit transfers
scsibus1: waiting 2 seconds for devices to settle...
scsibus2: waiting 2 seconds for devices to settle...
cd0 at scsibus2 target 5 lun 0: <NEC, CD-ROM DRIVE:465, 1.03> SCSI2 5/cdrom removable
cd0: sync (50.0ns offset 15), 8-bit (20.000MB/s) transfers
boot device: sd0
root on sd0a dumps on sd0b
mountroot: trying coda...
mountroot: trying msdos...
mountroot: trying cd9660...
mountroot: trying ntfs...
mountroot: trying nfs...
mountroot: trying lfs...
mountroot: trying ext2fs...
mountroot: trying ffs...
root file system type: ffs
cpu1: prelint0 10000<vector=0,delmode=0,masked,dest=0> 0<target=0>
cpu1: prelint1 10000<vector=0,delmode=0,masked,dest=0> 0<target=0>
cpu1: timer0 200d0<vector=d0,delmode=0,dest=0> 0<target=0>
cpu1: pcint0 10000<vector=0,delmode=0,masked,dest=0> 0<target=0>
cpu1: lint0 10700<vector=0,delmode=7,masked,dest=0> 0<target=0>
cpu1: lint1 400<vector=0,delmode=4,dest=0> 0<target=0>
cpu1: err0 10000<vector=0,delmode=0,masked,dest=0> 0<target=0>
cpu1: CPU 0 running
cpu2: prelint0 10000<vector=0,delmode=0,masked,dest=0> 0<target=0>
cpu2: prelint1 10000<vector=0,delmode=0,masked,dest=0> 0<target=0>
cpu2: timer0 200d0<vector=d0,delmode=0,dest=0> 0<target=0>
cpu2: pcint0 10000<vector=0,delmode=0,masked,dest=0> 0<target=0>
cpu2: lint0 10700<vector=0,delmode=7,masked,dest=0> 0<target=0>
cpu2: lint1 400<vector=0,delmode=4,dest=0> 0<target=0>
cpu2: err0 10000<vector=0,delmode=0,masked,dest=0> 0<target=0>
cpu2: CPU 1 running
cpu3: prelint0 10000<vector=0,delmode=0,masked,dest=0> 0<target=0>
cpu3: prelint1 10000<vector=0,delmode=0,masked,dest=0> 0<target=0>
cpu3: timer0 200d0<vector=d0,delmode=0,dest=0> 0<target=0>
cpu3: pcint0 10000<vector=0,delmode=0,masked,dest=0> 0<target=0>
cpu3: lint0 10700<vector=0,delmode=7,masked,dest=0> 0<target=0>
cpu3: lint1 400<vector=0,delmode=4,dest=0> 0<target=0>
cpu3: err0 10000<vector=0,delmode=0,masked,dest=0> 0<target=0>
cpu3: CPU 2 running
init: copying out path `/sbin/init' 11
Sun May 19 00:25:49 GMT 2002