Date: Thu, 21 Sep 2000 10:18:27 +0100 From: Daniel Bye <Daniel.Bye@uk.uu.net> To: 'Antonio Varela Lizardi' <antonio@icon.com.mx>, Daniel Bye <Daniel.Bye@uk.uu.net>, questions@freebsd.org Subject: RE: SMP kernel for 4.1-STABLE Message-ID: <FB7CAC781DB6D311BEE800805FE6FADA2F4BEF@camexch4.cam.uk.internal>
next in thread | raw e-mail | index | archive | help
Yeah, got it working with help of the page referred to in Nicholas' reply to the group. For interest, I configured the array and Compaq Utils as "Other" operating system, and after turning on the APIC mapping, all works like a charm. Once again, thanks for the swift and informative answers. I never got this kind of support with the penguin! Dan > -----Original Message----- > From: Antonio Varela Lizardi [mailto:antonio@icon.com.mx] > Sent: Wednesday, September 20, 2000 8:14 PM > To: Daniel Bye; questions@freebsd.org > Subject: Re: SMP kernel for 4.1-STABLE > > > > I had a problem similar with a Dual Pentium Pro Compaq Proliant. The > workaround, as said in the online docs, it's to manually enable SMP > compatibility telling the Compaq System Configuration Utility > that "Unixware > 7" is the server operating system. Then, you had to enter in > advanced mode > in the config utility, and set the "APIC Interrupt Setting" > to be in "FULL > TABLE" mode. > > Hope this helps. > Best regards, > Antonio > > ----- Original Message ----- > From: "Daniel Bye" <Daniel.Bye@uk.uu.net> > To: <questions@freebsd.org> > Sent: Wednesday, September 20, 2000 3:39 AM > Subject: SMP kernel for 4.1-STABLE > > > > Hi all, > > > > I have a Compaq 1850R dual PIII 550, running 4.1-STABLE > quite happily with > > almost any (sensible) uniprocessor kernel I give it. As it's a dual > > processor machine, I thought I'd try building an SMP > kernel. Easy. Only > > no, it wasn't. Using the current UP build as the basis, I > added various > > values for the appropriate fields. But no matter what I > gave it, the new > > kernel never boots. What am I doing wrong? > > > > Here are the relevant lines from the system file: > > > > # To make an SMP kernel, the next two are needed > > options SMP # Symmetric > MultiProcessor Kernel > > options APIC_IO # Symmetric (APIC) I/O > > # Optionally these may need tweaked, (defaults shown): > > options NCPU=2 # number of CPUs > > options NBUS=4 # number of busses > > options NAPIC=4 # number of IO APICs > > options NINTR=37 # number of INTs > > > > The thing tells me if I give it too few INTs, and says that > probing found > > 37. But no matter what combination of numbers for the NBUS > and NAPIC > > fields, it never does more than this: > > > > (All normal up to memory check, then...) > > Programming 35 pins in IOAPIC #0 > > IOAPIC #0 intpin 2 -> irq 0 > > IOAPIC #0 intpin 31 -> irq 2 > > > > And there it stops. > > > > This is the dmesg output from a good kernel: > > > > Copyright (c) 1992-2000 The FreeBSD Project. > > Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, > 1992, 1993, 1994 > > The Regents of the University of California. All rights reserved. > > FreeBSD 4.1-RELEASE #5: Mon Sep 18 12:22:00 GMT 2000 > > danielby@ecam082.cam.uk.internal:/usr/src/sys/compile/ECAM082 > > Timecounter "i8254" frequency 1193182 Hz > > Timecounter "TSC" frequency 548336360 Hz > > CPU: Pentium III/Pentium III Xeon/Celeron (548.34-MHz 686-class CPU) > > Origin = "GenuineIntel" Id = 0x673 Stepping = 3 > > > > > Features=0x383f9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR > ,PGE,MCA,CMOV, > > PAT,PSE36,MMX,FXSR,XMM> > > real memory = 671072256 (655344K bytes) > > avail memory = 648982528 (633772K bytes) > > Preloaded elf kernel "kernel.SINGLE" at 0xc0302000. > > Pentium Pro MTRR support enabled > > md0: Malloc disk > > npx0: <math processor> on motherboard > > npx0: INT 16 interface > > pcib0: <Intel 82443BX host to PCI bridge (AGP disabled)> on > motherboard > > pci0: <PCI bus> on pcib0 > > pci0: <unknown card> (vendor=0x1000, dev=0x000f) at 6.0 irq 5 > > pci0: <unknown card> (vendor=0x1000, dev=0x000f) at 6.1 irq 10 > > tl0: <Compaq Netelligent 10/100 Proliant> port 0x2c00-0x2c0f mem > > 0xc6efccf0-0xc6efccff irq 11 at device 7.0 on pci0 > > tl0: Ethernet address: 00:50:8b:cc:30:d9 > > miibus0: <MII bus> on tl0 > > ukphy0: <Generic IEEE 802.3u media interface> on miibus0 > > ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto > > tlphy0: <ThunderLAN 10baseT media interface> on miibus0 > > tlphy0: 10base2/BNC, 10base5/AUI > > pci0: <ATI Mach64-GV graphics accelerator> at 8.0 > > pci0: <unknown card> (vendor=0x0e11, dev=0xa0f0) at 9.0 > > pcib1: <IBM 82351 PCI-PCI bridge> at device 13.0 on pci0 > > pci1: <PCI bus> on pcib1 > > ida0: <Compaq Smart Array 221 controller> port 0x3000-0x30ff mem > > 0xb8000000-0xbfffffff,0xc6ffff00-0xc6ffffff irq 15 at > device 0.0 on pci1 > > ida0: drives=1 firm_rev=4.16 > > idad0: <Compaq Logical Drive> on ida0 > > idad0: 34727MB (71122560 sectors), blocksize=512 > > isab0: <Intel 82371AB PCI to ISA bridge> at device 20.0 on pci0 > > isa0: <ISA bus> on isab0 > > pci0: <Intel PIIX4 ATA controller> at 20.1 > > pci0: <Intel 82371AB/EB (PIIX4) USB controller> at 20.2 irq 0 > > chip1: <Intel 82371AB Power management controller> at > device 20.3 on pci0 > > eisa0: <EISA bus> on motherboard > > mainboard0: <CPQ0679 (System Board)> on eisa0 slot 0 > > 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,0x64 on isa0 > > atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0 > > kbd0 at atkbd0 > > vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem > 0xa0000-0xbffff on isa0 > > sc0: <System console> at flags 0x100 on isa0 > > sc0: VGA <16 virtual consoles, flags=0x300> > > 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 > > ppc0: cannot reserve I/O port range > > no devsw (majdev=0 bootdev=0xa0200000) > > Mounting root from ufs:/dev/idad0s1a > > > > > > > > And this is what I see when I do mptable: > > > > > > > > MP Floating Pointer Structure: > > > > location: BIOS > > physical address: 0x000f4ff0 > > signature: '_MP_' > > length: 16 bytes > > version: 1.4 > > checksum: 0x00 > > mode: Virtual Wire > > > > > -------------------------------------------------------------- > ------------ > -- > > --- > > > > MP Config Table Header: > > > > physical address: 0x000f2b9f > > signature: 'PCMP' > > base table length: 420 > > version: 1.4 > > checksum: 0x6a > > OEM ID: 'COMPAQ ' > > Product ID: 'PROLIANT ' > > OEM table pointer: 0x00000000 > > OEM table size: 0 > > entry count: 44 > > local APIC address: 0xfee00000 > > extended table length: 76 > > extended table checksum: 86 > > > > > -------------------------------------------------------------- > ------------ > -- > > --- > > > > MP Config Base Table Entries: > > > > -- > > Processors: APIC ID Version State Family Model Step > > Flags > > 0 0x10 BSP, usable 6 2 1 > > 0x0381 > > 0 0x10 AP, usable 6 7 3 > > 0x383fbff > > -- > > Bus: Bus ID Type > > 0 PCI > > 9 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-lo level 0 13:A 8 17 > > INT active-lo level 0 13:B 8 16 > > INT active-lo level 0 13:C 8 17 > > INT active-lo level 0 13:D 8 16 > > INT active-lo level 0 15:A 8 19 > > INT active-lo level 0 15:B 8 18 > > INT active-lo level 0 15:C 8 19 > > INT active-lo level 0 15:D 8 18 > > INT active-lo level 0 16:A 8 21 > > INT active-lo level 0 16:B 8 20 > > INT active-lo level 0 16:C 8 21 > > INT active-lo level 0 16:D 8 20 > > INT active-lo level 0 18:A 8 23 > > INT active-lo level 0 18:B 8 22 > > INT active-lo level 0 18:C 8 23 > > INT active-lo level 0 18:D 8 22 > > INT active-lo level 0 6:A 8 31 > > INT active-lo level 0 6:B 8 30 > > INT active-lo level 0 7:A 8 29 > > INT active-lo level 0 8:A 8 28 > > INT active-lo edge 0 9:A 8 13 > > INT active-hi edge 9 1 8 1 > > INT active-hi edge 9 0 8 2 > > INT active-hi edge 9 3 8 3 > > INT active-hi edge 9 4 8 4 > > INT active-hi edge 9 5 8 5 > > INT active-hi edge 9 6 8 6 > > INT active-hi edge 9 7 8 7 > > INT active-hi edge 9 8 8 8 > > INT active-hi level 9 9 8 9 > > INT active-hi edge 9 10 8 10 > > INT active-hi edge 9 11 8 11 > > INT active-hi edge 9 12 8 12 > > INT active-lo edge 9 13 8 13 > > INT active-hi edge 9 14 8 14 > > INT active-hi edge 9 15 8 15 > > -- > > Local Ints: Type Polarity Trigger Bus ID IRQ APIC ID PIN# > > ExtINT conforms conforms 9 0 > > 255 0 > > NMI conforms conforms 9 0 > > 255 1 > > > > > -------------------------------------------------------------- > ------------ > -- > > --- > > > > MP Config Extended Table Entries: > > > > Extended Table HOSED! > > > > > > So, in more specific terms, what are the correct values for NBUS and > NAPIC? > > And how do you derive those numbers from the mptable > output? I read the > > stuff at > http://people.freebsd.org/> ~fsmp/SMP/getstarted.html, > including > the > > rogue hardware > tips, but made no sense of it. (This is the first time I > > have tried to build an SMP kernel, so must confess I don't > really know > what > > I'm doing...) > > > > Dan Bye > > > > > > > > > > > > > > To Unsubscribe: send mail to majordomo@FreeBSD.org > > with "unsubscribe freebsd-questions" in the body of the message > > > To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?FB7CAC781DB6D311BEE800805FE6FADA2F4BEF>