Skip site navigation (1)Skip section navigation (2)
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>