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