Date: Wed, 20 Sep 2000 16:22:20 +0100 From: Daniel Bye <Daniel.Bye@uk.uu.net> To: 'Nicholas Basila' <nbasila@revenio.com> Cc: questions@freebsd.org Subject: RE: SMP kernel for 4.1-STABLE Message-ID: <FB7CAC781DB6D311BEE800805FE6FADA2F4BEC@camexch4.cam.uk.internal>
next in thread | raw e-mail | index | archive | help
Genius! Thank you for all your help! I never would have got that on my own. Dan > -----Original Message----- > From: Nicholas Basila [mailto:nbasila@revenio.com] > Sent: Wednesday, September 20, 2000 4:10 PM > To: Daniel.Bye@uk.uu.net > Cc: questions@freebsd.org > Subject: Re: SMP kernel for 4.1-STABLE > > > I looked through the archives. There is a link in there to a > linux user's > page, but it applies to FreeBSD in this case. Here is the link: > http://potter.ieee.uh.edu/compaq.html > There is a section on enabling SMP on compaq servers. You > have to run > the Compaq EISA utility (you may need to install it on a > partition) and > place the APIC in "FULL TABLE" mode (in advanced options.) > There may be a > way to run the EISA utilities on CD ROM - I'm not sure. > > > Nicholas > > > > > > > > -----Original Message----- > > From: Daniel Bye [mailto:Daniel.Bye@uk.uu.net] > > Sent: Wednesday, September 20, 2000 10:39 AM > > To: 'Nicholas Basila' > > Cc: questions@freebsd.org > > Subject: RE: SMP kernel for 4.1-STABLE > > > > > > Thanks for the pointers. I'm afraid I can't see anything > that looks like > > the setting I need to change... I'm using Compaq > SmartArray 221 rev 4.16, > > if that sheds any light. > > > > BTW, the previous attempts did at least get as far as > checking the number > > INTs on the system, and the number was exactly 37. If > there were fewer > than > > that provided for in the kernel, it froze even quicker than > the current > SMP > > kernel! > > > > Any further hints would be most gratefully (even greedily) received! > > > > Dan > > > > > -----Original Message----- > > > From: Nicholas Basila [mailto:nbasila@revenio.com] > > > Sent: Wednesday, September 20, 2000 3:20 PM > > > To: Daniel.Bye@uk.uu.net > > > Cc: questions@freebsd.org > > > Subject: Re: SMP kernel for 4.1-STABLE > > > > > > > > > Hi: > > > > > > I ran into the same problem you're having with a Compaq. > > > Here's the > > > portion from my 4.1 kernel: > > > > > > # 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=1 # number of IO APICs > > > options NINTR=32 # number of INTs > > > > > > > > > I think you have to set NINTR to 32 on the compaq - for I > > > got an error > > > about setting it too low (it said there were 32 instead of 24). > > > Normally, builind an SMP kernel on FreeBSD is easy. > > > However, there is > > > one catch here - you have to go into the Compaq system > > > utility and change a > > > setting. I can't remember what it is exactly, but it was > > > something along the > > > lines of changing the mapping tables to "full mapping" . . . > > > unfortunately, > > > I don't remember the exact setting. The kernel will not boot > > > without this > > > change. If you can't find the setting, send me an email and > > > I'll try to > > > figure out what it is. > > > > > > > > > Nicholas Basila > > > > > > > > -----Original Message----- > > > > From: Daniel Bye [mailto:Daniel.Bye@uk.uu.net] > > > > Sent: Wednesday, September 20, 2000 6:40 AM > > > > To: 'questions@freebsd.org' > > > > 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 > > > 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?FB7CAC781DB6D311BEE800805FE6FADA2F4BEC>