From owner-freebsd-questions Wed Sep 20 7:44:48 2000 Delivered-To: freebsd-questions@freebsd.org Received: from boat.mail.pipex.net (our.mail.pipex.net [158.43.128.75]) by hub.freebsd.org (Postfix) with SMTP id 187F937B422 for ; Wed, 20 Sep 2000 07:44:40 -0700 (PDT) Received: (qmail 9363 invoked from network); 20 Sep 2000 14:44:39 -0000 Received: from mailhost.puck.pipex.net (HELO mailhost.uk.internal) (194.130.147.54) by our.mail.pipex.net with SMTP; 20 Sep 2000 14:44:39 -0000 Received: (qmail 16989 invoked from network); 20 Sep 2000 14:44:38 -0000 Received: from camgate2.cam.uk.internal (172.31.6.21) by mailhost.uk.internal with SMTP; 20 Sep 2000 14:44:38 -0000 Received: by camgate2.cam.uk.internal with Internet Mail Service (5.5.2650.21) id ; Wed, 20 Sep 2000 15:43:50 +0100 Message-ID: From: Daniel Bye To: 'Nicholas Basila' Cc: questions@freebsd.org Subject: RE: SMP kernel for 4.1-STABLE Date: Wed, 20 Sep 2000 15:39:00 +0100 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2650.21) Content-Type: text/plain; charset="iso-8859-1" Sender: owner-freebsd-questions@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG 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 ,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: on motherboard > > npx0: INT 16 interface > > pcib0: on > motherboard > > pci0: on pcib0 > > pci0: (vendor=0x1000, dev=0x000f) at 6.0 irq 5 > > pci0: (vendor=0x1000, dev=0x000f) at 6.1 irq 10 > > tl0: port 0x2c00-0x2c0f mem > > 0xc6efccf0-0xc6efccff irq 11 at device 7.0 on pci0 > > tl0: Ethernet address: 00:50:8b:cc:30:d9 > > miibus0: on tl0 > > ukphy0: on miibus0 > > ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto > > tlphy0: on miibus0 > > tlphy0: 10base2/BNC, 10base5/AUI > > pci0: at 8.0 > > pci0: (vendor=0x0e11, dev=0xa0f0) at 9.0 > > pcib1: at device 13.0 on pci0 > > pci1: on pcib1 > > ida0: port 0x3000-0x30ff mem > > 0xb8000000-0xbfffffff,0xc6ffff00-0xc6ffffff irq 15 at > device 0.0 on pci1 > > ida0: drives=1 firm_rev=4.16 > > idad0: on ida0 > > idad0: 34727MB (71122560 sectors), blocksize=512 > > isab0: at device 20.0 on pci0 > > isa0: on isab0 > > pci0: at 20.1 > > pci0: at 20.2 irq 0 > > chip1: at > device 20.3 on pci0 > > eisa0: on motherboard > > mainboard0: on eisa0 slot 0 > > fdc0: 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: at port 0x60,0x64 on isa0 > > atkbd0: flags 0x1 irq 1 on atkbdc0 > > kbd0 at atkbd0 > > vga0: at port 0x3c0-0x3df iomem > 0xa0000-0xbffff on isa0 > > sc0: 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