From owner-freebsd-current Sun Aug 10 23:36:11 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.5/8.8.5) id XAA16119 for current-outgoing; Sun, 10 Aug 1997 23:36:11 -0700 (PDT) Received: from abby.skypoint.net (abby.skypoint.net [199.86.32.252]) by hub.freebsd.org (8.8.5/8.8.5) with ESMTP id XAA16114 for ; Sun, 10 Aug 1997 23:36:09 -0700 (PDT) Received: (from uucp@localhost) by abby.skypoint.net (8.8.5/alexis 2.7) with UUCP id BAA14903; Mon, 11 Aug 1997 01:35:33 -0500 (CDT) Received: (from bruce@localhost) by zuhause.mn.org (8.8.7/8.8.5) id BAA00276; Mon, 11 Aug 1997 01:33:21 -0500 (CDT) Date: Mon, 11 Aug 1997 01:33:21 -0500 (CDT) Message-Id: <199708110633.BAA00276@zuhause.mn.org> From: Bruce Albrecht To: Steve Passe Cc: current@FreeBSD.ORG Subject: Re: Trap 9 When Boot SMP In-Reply-To: <199708101754.LAA11619@Ilsa.StevesCafe.com> References: <199708092123.QAA14184@zuhause.mn.org> <199708101754.LAA11619@Ilsa.StevesCafe.com> X-Mailer: VM 6.30 under 19.15p2 XEmacs Lucid Mime-Version: 1.0 (generated by tm-edit 7.106) Content-Type: text/plain; charset=US-ASCII Sender: owner-freebsd-current@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk Steve Passe writes: > Hi, > > Thomas found a 'fix', although we don't understand WHY the problem exists. > It appears that %es is getting corrupted somewhere during boot. The > 'solution' was: > > > The es value IS the culprit. > > > > Havn't found where it is being mangled, I suspect the > > doreti code. > > > > I nailed es to ds at the top of smp_idleloop in init_smp.c. > > asm("pushl %ds; popl %es"); > > --- > anyone have any theories about this one? This is the only reported system > having this problem, and I have no clues as to why... I've been having the same problem since May on an Tyan ATX 1668 system (with a 5 week hiatus when my machine was sent back to the vendor for repairs, including problems with memory). At the time, Steve suspected that it was hardware, but this hack does allow me to run SMP now. Two things in common is that we both have Matrox accelerators and NCR SCSI controllers. Strangely enough, I did have SMP running for about a week in early May, but it stopped working about the time I did some hardware changes. Copyright (c) 1992-1997 FreeBSD Inc. Copyright (c) 1982, 1986, 1989, 1991, 1993 The Regents of the University of California. All rights reserved. FreeBSD 3.0-CURRENT #1: Mon Aug 11 01:21:47 CDT 1997 bruce@zuhause.mn.org:/usr/src/sys/compile/ZUHAUSE CPU: Pentium Pro (686-class CPU) Origin = "GenuineIntel" Id = 0x619 Stepping=9 Features=0xfbff real memory = 67108864 (65536K bytes) avail memory = 62504960 (61040K bytes) FreeBSD/SMP: Multiprocessor motherboard cpu0 (BSP): apic id: 1, version: 0x00040011, at 0xfee00000 cpu1 (AP): apic id: 0, version: 0x00040011, at 0xfee00000 io0 (APIC): apic id: 2, version: 0x00170011, at 0xfec00000 DEVFS: ready for devices Probing for devices on PCI bus 0: chip0: rev 0x02 on pci0.0.0 chip1: rev 0x01 on pci0.7.0 ncr0: rev 0x12 int a irq 18 on pci0.12.0 ncr0: minsync=25, maxsync=206, maxoffs=8, 16 dwords burst, normal dma fifo scbus0 at ncr0 bus 0 sd1 at scbus0 target 0 lun 0 sd1: type 0 fixed SCSI 1 sd1: Direct-Access 40MB (82029 512 byte sectors) sd1: with 834 cyls, 3 heads, and an average 32 sectors/track st0 at scbus0 target 4 lun 0 st0: type 1 removable SCSI 2 st0: Sequential-Access st0: 5.0 MB/s (200 ns, offset 8) density code 0x13, 512-byte blocks, write-enabled ch0 at scbus0 target 4 lun 1 ch0: type 8 removable SCSI 2 ch0: Medium-Changer 4 slots, 1 drive, 1 picker cd0 at scbus0 target 6 lun 0 cd0: type 5 removable SCSI 2 cd0: CD-ROM cd0: asynchronous. cd present [293037 x 2048 byte records] ncr1: rev 0x03 int a irq 17 on pci0.13.0 ncr1: minsync=12, maxsync=137, maxoffs=16, 128 dwords burst, large dma fifo scbus1 at ncr1 bus 0 sd0 at scbus1 target 6 lun 0 sd0: type 0 fixed SCSI 2 sd0: Direct-Access sd0: 20.0 MB/s (50 ns, offset 15) 3067MB (6281856 512 byte sectors) sd0: with 6810 cyls, 5 heads, and an average 184 sectors/track vga0: rev 0x01 int a irq 16 on pci0.14.0 Probing for devices on the ISA bus: sc0 at 0x60-0x6f irq 1 on motherboard sc0: VGA color <16 virtual consoles, flags=0x0> sio0 at 0x3f8-0x3ff irq 4 on isa sio0: type 16550A sio1 at 0x2f8-0x2ff irq 3 on isa sio1: type 16550A lpt0 at 0x378-0x37f irq 7 on isa lpt0: Interrupt-driven port lp0: TCP/IP capable interface psm0 at 0x60-0x64 irq 12 on motherboard psm0: device ID 0 pca0 on motherboard pca0: PC speaker audio driver fdc0 at 0x3f0-0x3f7 irq 6 drq 2 on isa fdc0: NEC 72065B fd0: 1.44MB 3.5in npx0 on motherboard npx0: INT 16 interface sb0 at 0x220-0x22f irq 5 drq 1 on isa sb0: sbxvi0 drq 5 on isa sbxvi0: sbmidi0 at 0x330-0x331 on isa sbmidi0: joy0 at 0x201 on isa joy0: joystick DEVFS: ready to run APIC_IO: routing 8254 via 8259 on pin 0 SMP: All idle procs online. SMP: *** AUTO *** starting 1st AP! SMP: AP CPU #1 LAUNCHED!! Starting Scheduling... SMP: TADA! CPU #1 made it into the scheduler!. SMP: All 2 CPU's are online! ------- =============================================================================== MPTable, version 2.0.13 ------------------------------------------------------------------------------- MP Floating Pointer Structure: location: BIOS physical address: 0x000fb100 signature: '_MP_' length: 16 bytes version: 1.1 checksum: 0xf7 mode: Virtual Wire ------------------------------------------------------------------------------- MP Config Table Header: physical address: 0x000f5d40 signature: 'PCMP' base table length: 284 version: 1.1 checksum: 0x93 OEM ID: 'INTEL ' Product ID: '440FX ' OEM table pointer: 0x00000000 OEM table size: 0 entry count: 27 local APIC address: 0xfee00000 extended table length: 0 extended table checksum: 0 ------------------------------------------------------------------------------- MP Config Base Table Entries: -- Processors: APIC ID Version State Family Model Step Flags 1 0x11 BSP, usable 6 1 9 0xfbff 0 0x11 AP, usable 6 1 9 0xfbff -- Bus: Bus ID Type 0 PCI 1 ISA -- I/O APICs: APIC ID Version State Address 2 0x11 usable 0xfec00000 -- I/O Ints: Type Polarity Trigger Bus ID IRQ APIC ID INT# ExtINT conforms conforms 1 0 2 0 INT conforms conforms 1 1 2 1 INT conforms conforms 1 0 2 2 INT conforms conforms 1 3 2 3 INT conforms conforms 1 4 2 4 INT conforms conforms 1 5 2 5 INT conforms conforms 1 6 2 6 INT conforms conforms 1 7 2 7 INT active-hi edge 1 8 2 8 INT conforms conforms 1 9 2 9 INT conforms conforms 1 10 2 10 INT conforms conforms 1 11 2 11 INT conforms conforms 1 12 2 12 INT conforms conforms 1 13 2 13 INT conforms conforms 1 14 2 14 INT conforms conforms 1 15 2 15 INT active-lo level 0 14:A 2 16 INT active-lo level 0 13:A 2 17 INT active-lo level 0 12:A 2 18 SMI conforms conforms 1 0 2 23 -- Local Ints: Type Polarity Trigger Bus ID IRQ APIC ID INT# ExtINT conforms conforms 0 0:A 255 0 NMI conforms conforms 0 0:A 255 1 ------------------------------------------------------------------------------- # SMP kernel config file options: # Required: options SMP # Symmetric MultiProcessor Kernel options APIC_IO # Symmetric (APIC) I/O # Useful: #options SMP_AUTOSTART # start the additional CPUs during boot # Optional (built-in defaults will work in most cases): #options NCPU=2 # number of CPUs #options NBUS=2 # number of busses #options NAPIC=1 # number of IO APICs #options NINTR=24 # number of INTs ===============================================================================