From root@morzine1.ciger.be  Thu Jun 13 09:18:26 2002
Return-Path: <root@morzine1.ciger.be>
Received: from morzine1.ciger.be (morzine1.ciger.be [193.74.104.200])
	by hub.freebsd.org (Postfix) with ESMTP id 9307937B43A
	for <FreeBSD-gnats-submit@freebsd.org>; Thu, 13 Jun 2002 09:18:20 -0700 (PDT)
Received: from morzine1.ciger.be (localhost.ciger.be [127.0.0.1])
	by morzine1.ciger.be (8.12.4/8.12.4) with ESMTP id g5DGDgp6000843
	for <FreeBSD-gnats-submit@freebsd.org>; Thu, 13 Jun 2002 18:13:42 +0200 (CEST)
Received: (from root@localhost)
	by morzine1.ciger.be (8.12.4/8.12.4/Submit) id g5DGDg7w000842;
	Thu, 13 Jun 2002 18:13:42 +0200 (CEST)
Message-Id: <200206131613.g5DGDg7w000842@morzine1.ciger.be>
Date: Thu, 13 Jun 2002 18:13:42 +0200 (CEST)
From: Henri Hennebert <hlh@ciger.be>
Reply-To: Henri Hennebert <hlh@ciger.be>
To: FreeBSD-gnats-submit@freebsd.org
Cc:
Subject: SMP 4.6-RC freezes during boot (Fujitsu-Siemens C200)
X-Send-Pr-Version: 3.113
X-GNATS-Notify:

>Number:         39234
>Category:       i386
>Synopsis:       SMP 4.6-RC freezes during boot (Fujitsu-Siemens C200)
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    jhb
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Jun 13 09:20:01 PDT 2002
>Closed-Date:    Fri Dec 19 14:56:31 PST 2003
>Last-Modified:  Fri Dec 19 14:56:31 PST 2003
>Originator:     Henri Hennebert <hlh@ciger.be>
>Release:        FreeBSD 4.6-RC i386
>Organization:
CIGER sa
>Environment:
System: FreeBSD morzine1.ciger.be 4.6-RC FreeBSD 4.6-RC #0: Fri Jun 7 17:10:32 CEST 2002 root@morzine1.ciger.be:/usr/obj/usr/src/sys/MORZINE i386
(this kernel is the same that the freezing one without options SMP
and APIC_IO of course)

Machine is a Fujitsu-Siemens C200 with motherboard D1306:
Chip set ServerWorks 3.0 HE SL
2 Pentium III 1.26 GHz
Clock speed 133 MHz
First-Level Cache 32KB
Second-Level Cache 512 KB
Memory 1GB
ATA 100 CD-ROM
Symbios Ultra 160
Graphics ATI RAGE Pro 2 XL
LAN Intel Pro 10/100B/100+
Serial + Parallel + USB

>Description:
During a boot -v, the last screen is:
SMP: AP CPU#1 Launched!
SMP CPU1 apic_initialize()
   lint0: 0x00010700 lint1: 0x00010400 TPR: 0x00000010 SVR: 0x000001ff
adc0: <FX4830T/R02N> CDROM drive ...
adc0: other stuff about adc0
...
Waiting 5 seconds for SCSI devices to settle
(noperiph:sym0:0:-1:-1): SCSI BUS reset delivered.
sym0: enabling clock multiplier
sym0: Downloading SCSI SCRIPTS.
(noperiph:sym1:0:-1:-1): SCSI BUS reset delivered.
sym1: enabling clock multiplier
sym1: Downloading SCSI SCRIPTS.
***FREEZE***  :-[

dmesg of the kernel ***WITHOUT SMP and APIC_IO options***
just to give a hint at the HW config:

Copyright (c) 1992-2002 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.6-RC #0: Fri Jun  7 17:10:32 CEST 2002
    root@morzine1.ciger.be:/usr/obj/usr/src/sys/MORZINE
Timecounter "i8254"  frequency 1193182 Hz
Timecounter "TSC"  frequency 1260607981 Hz
CPU: Pentium III/Pentium III Xeon/Celeron (1260.61-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0x6b1  Stepping = 1
  Features=0x383fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE>
real memory  = 1073741824 (1048576K bytes)
avail memory = 1041932288 (1017512K bytes)
Preloaded elf kernel "kernel" at 0xc0393000.
Pentium Pro MTRR support enabled
md0: Malloc disk
Using $PIR table, 15 entries at 0xc00fded0
npx0: <math processor> on motherboard
npx0: INT 16 interface
pcib1: <ServerWorks host to PCI bridge> on motherboard
pci1: <PCI bus> on pcib1
sym0: <1010-66> port 0x1c00-0x1cff mem 0xfe000000-0xfe001fff,0xfe004000-0xfe0043ff irq 5 at device 8.0 on pci1
sym0: Symbios NVRAM, ID 7, Fast-80, LVD, parity checking
sym0: open drain IRQ line driver, using on-chip SRAM
sym0: using LOAD/STORE-based firmware.
sym0: handling phase mismatch from SCRIPTS.
sym1: <1010-66> port 0x2000-0x20ff mem 0xfe002000-0xfe003fff,0xfe004400-0xfe0047ff irq 9 at device 10.0 on pci1
sym1: Symbios NVRAM, ID 7, Fast-80, LVD, parity checking
sym1: open drain IRQ line driver, using on-chip SRAM
sym1: using LOAD/STORE-based firmware.
sym1: handling phase mismatch from SCRIPTS.
pcib0: <ServerWorks host to PCI bridge> on motherboard
pci0: <PCI bus> on pcib0
pci0: <ATI Mach64-GR graphics accelerator> at 4.0
fxp0: <Intel Pro 10/100B/100+ Ethernet> port 0x1400-0x143f mem 0xfc000000-0xfc01ffff,0xfc021000-0xfc021fff irq 10 at device 10.0 on pci0
fxp0: Ethernet address 00:30:05:19:9f:a8
inphy0: <i82555 10/100 media interface> on miibus0
inphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
isab0: <ServerWorks IB6566 PCI to ISA bridge> at device 15.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <ServerWorks ROSB4 ATA33 controller> port 0x1800-0x180f at device 15.1 on pci0
ata0: at 0x1f0 irq 14 on atapci0
ata1: at 0x170 irq 15 on atapci0
ohci0: <OHCI (generic) USB controller> mem 0xfc022000-0xfc022fff irq 11 at device 15.2 on pci0
usb0: OHCI version 1.0, legacy support
usb0: SMM does not respond, resetting
usb0: <OHCI (generic) USB controller> on ohci0
usb0: USB revision 1.0
uhub0: (unknown) OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 4 ports with 4 removable, self powered
pcib2: <ServerWorks host to PCI bridge> on motherboard
pci2: <PCI bus> on pcib2
pcib3: <ServerWorks host to PCI bridge> on motherboard
pci3: <PCI bus> on pcib3
orm0: <Option ROMs> at iomem 0xc0000-0xc8fff,0xc9000-0xccfff on isa0
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
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model IntelliMouse, device ID 3
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: <Parallel port> at port 0x378-0x37f irq 7 on isa0
ppc0: Generic chipset (EPP/NIBBLE) in COMPATIBLE mode
plip0: <PLIP network interface> on ppbus0
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven port
ppi0: <Parallel I/O> on ppbus0
DUMMYNET initialized (011031)
IP packet filtering initialized, divert enabled, rule-based forwarding enabled, default to deny, logging limited to 100 packets/entry by default
BRIDGE 020214 loaded
IPv6 packet filtering initialized, default to accept, logging limited to 100 packets/entry
ata1-slave: ATAPI identify retries exceeded
acd0: CDROM <FX4830T> at ata1-master PIO4
Waiting 5 seconds for SCSI devices to settle
(noperiph:sym0:0:-1:-1): SCSI BUS reset delivered.
(noperiph:sym1:0:-1:-1): SCSI BUS reset delivered.
(probe22:sym1:0:8:0): phase change 6-7 6@0c96a58c resid=4.
sa0 at sym0 bus 0 target 4 lun 0
sa0: <HP C5683A C111> Removable Sequential Access SCSI-2 device 
sa0: 40.000MB/s transfers (20.000MHz, offset 31, 16bit)
pass4 at sym1 bus 0 target 8 lun 0
pass4: <SDR GEM318 0> Fixed Processor SCSI-2 device 
pass4: 3.300MB/s transfers
da0 at sym1 bus 0 target 0 lun 0
da0: <SEAGATE ST318452LC 8501> Fixed Direct Access SCSI-3 device 
da0: 160.000MB/s transfers (80.000MHz, offset 62, 16bit), Tagged Queueing Enabled
da0: 17501MB (35843670 512 byte sectors: 255H 63S/T 2231C)
da1 at sym1 bus 0 target 1 lun 0
da1: <SEAGATE ST318452LC 8501> Fixed Direct Access SCSI-3 device 
da1: 160.000MB/s transfers (80.000MHz, offset 62, 16bit), Tagged Queueing Enabled
da1: 17501MB (35843670 512 byte sectors: 255H 63S/T 2231C)
da2 at sym1 bus 0 target 2 lun 0
da2: <SEAGATE ST318452LC 8501> Fixed Direct Access SCSI-3 device 
da2: 160.000MB/s transfers (80.000MHz, offset 62, 16bit), Tagged Queueing Enabled
da2: 17501MB (35843670 512 byte sectors: 255H 63S/T 2231C)
Mounting root from ufs:/dev/da0s1a


The output of mptable:

===============================================================================

MPTable, version 2.0.15

-------------------------------------------------------------------------------

MP Floating Pointer Structure:

  location:			BIOS
  physical address:		0x000f6920
  signature:			'_MP_'
  length:			16 bytes
  version:			1.4
  checksum:			0x77
  mode:				Virtual Wire

-------------------------------------------------------------------------------

MP Config Table Header:

  physical address:		0x0009a080
  signature:			'PCMP'
  base table length:		276
  version:			1.4
  checksum:			0xb3
  OEM ID:			'FSCD1306'
  Product ID:			'PRIMERGY    '
  OEM table pointer:		0x00000000
  OEM table size:		0
  entry count:			26
  local APIC address:		0xfee00000
  extended table length:	236
  extended table checksum:	131

-------------------------------------------------------------------------------

MP Config Base Table Entries:

--
Processors:	APIC ID	Version	State		Family	Model	Step	Flags
		 3	 0x11	 BSP, usable	 6	 11	 1	 0x383fbff
		 0	 0x11	 AP, usable	 6	 11	 1	 0x383fbff
--
Bus:		Bus ID	Type
		 0	 PCI   
		 1	 PCI   
		 2	 PCI   
		 3	 ISA   
--
I/O APICs:	APIC ID	Version	State		Address
		 1	 0x11	 usable		 0xfec00000
		 2	 0x11	 usable		 0xfec01000
--
I/O Ints:	Type	Polarity    Trigger	Bus ID	 IRQ	APIC ID	PIN#
		INT	active-hi        edge	     3	   0	      1	   0
		INT	active-hi        edge	     3	   1	      1	   1
		INT	active-hi        edge	     3	   2	      1	   2
		INT	active-hi        edge	     3	   3	      1	   3
		INT	active-hi        edge	     3	   4	      1	   4
		INT	active-hi        edge	     3	   6	      1	   6
		INT	active-hi        edge	     3	   7	      1	   7
		INT	active-hi        edge	     3	   8	      1	   8
		INT	active-hi        edge	     3	  12	      1	  12
		INT	active-hi        edge	     3	  13	      1	  13
		INT	active-hi        edge	     3	  14	      1	  14
		INT	active-hi        edge	     3	  15	      1	  15
		INT	active-lo       level	     0	10:A	      2	  14
		INT	active-lo       level	     0	15:A	      2	  12
		INT	active-lo       level	     1	 8:A	      2	   4
		INT	active-lo       level	     1	10:A	      2	  13
--
Local Ints:	Type	Polarity    Trigger	Bus ID	 IRQ	APIC ID	PIN#
		ExtINT	active-hi        edge	     3	   0	    255	   0
		NMI	active-hi        edge	     0	 0:A	    255	   1

-------------------------------------------------------------------------------

MP Config Extended Table Entries:

--
System Address Space
 bus ID: 0 address type: I/O address
 address base: 0x0
 address range: 0x1c00
--
System Address Space
 bus ID: 1 address type: I/O address
 address base: 0x1c00
 address range: 0x500
--
System Address Space
 bus ID: 0 address type: I/O address
 address base: 0x2100
 address range: 0xdf00
--
System Address Space
 bus ID: 0 address type: memory address
 address base: 0xfc000000
 address range: 0x2000000
--
System Address Space
 bus ID: 1 address type: memory address
 address base: 0xfe000000
 address range: 0x3c0000
--
System Address Space
 bus ID: 0 address type: memory address
 address base: 0xfe3c0000
 address range: 0xa40000
--
System Address Space
 bus ID: 0 address type: memory address
 address base: 0xfee01000
 address range: 0x11ff000
--
System Address Space
 bus ID: 0 address type: memory address
 address base: 0xa0000
 address range: 0x20000
--
System Address Space
 bus ID: 0 address type: memory address
 address base: 0xd0000
 address range: 0x10000
--
Bus Heirarchy
 bus ID: 3 bus info: 0x01 parent bus ID: 0
--
Compatibility Bus Address
 bus ID: 0 address modifier: add
 predefined range: 0x00000000
--
Compatibility Bus Address
 bus ID: 0 address modifier: add
 predefined range: 0x00000001
--
Compatibility Bus Address
 bus ID: 1 address modifier: subtract
 predefined range: 0x00000000
--
Compatibility Bus Address
 bus ID: 1 address modifier: subtract
 predefined range: 0x00000001
--
Compatibility Bus Address
 bus ID: 2 address modifier: subtract
 predefined range: 0x00000000
--
Compatibility Bus Address
 bus ID: 2 address modifier: subtract
 predefined range: 0x00000001

===============================================================================


I try the same SMP kernel on another configuration (Fujitsu-Siemens
motherboard D1031 with 2 PIII 800MHz and symbios SCSI) without
problem (buildworld run great).

I install RedHat 7.3 on the C200 and all run well. In case it may
help, here is the dmesg of the RH 7.3:

Linux version 2.4.18-3smp (bhcompile@daffy.perf.redhat.com) (gcc version 2.96 20000731 (Red Hat Linux 7.3 2.96-110)) #1 SMP Thu Apr 18 07:27:31 EDT 2002
BIOS-provided physical RAM map:
 BIOS-e820: 0000000000000000 - 0000000000099c00 (usable)
 BIOS-e820: 0000000000099c00 - 00000000000a0000 (reserved)
 BIOS-e820: 00000000000ca000 - 00000000000d0000 (reserved)
 BIOS-e820: 00000000000e0000 - 0000000000100000 (reserved)
 BIOS-e820: 0000000000100000 - 000000003fef0000 (usable)
 BIOS-e820: 000000003fef0000 - 000000003feff000 (ACPI data)
 BIOS-e820: 000000003feff000 - 000000003ff00000 (ACPI NVS)
 BIOS-e820: 000000003ff00000 - 0000000040000000 (usable)
 BIOS-e820: 00000000fec00000 - 00000000fec10000 (reserved)
 BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved)
 BIOS-e820: 00000000ffc00000 - 0000000100000000 (reserved)
128MB HIGHMEM available.
found SMP MP-table at 000f6920
hm, page 000f6000 reserved twice.
hm, page 000f7000 reserved twice.
hm, page 0009a000 reserved twice.
hm, page 0009b000 reserved twice.
On node 0 totalpages: 262144
zone(0): 4096 pages.
zone(1): 225280 pages.
zone(2): 32768 pages.
Intel MultiProcessor Specification v1.4
    Virtual Wire compatibility mode.
OEM ID: FSCD1306 Product ID: PRIMERGY     APIC at: 0xFEE00000
Processor #3 Pentium(tm) Pro APIC version 17
Processor #0 Pentium(tm) Pro APIC version 17
I/O APIC #1 Version 17 at 0xFEC00000.
I/O APIC #2 Version 17 at 0xFEC01000.
Processors: 2
Kernel command line: ro root=/dev/sda2
Initializing CPU#0
Detected 1260.705 MHz processor.
Console: colour VGA+ 80x25
Calibrating delay loop... 2516.58 BogoMIPS
Memory: 1030452k/1048576k available (1232k kernel code, 17648k reserved, 842k data, 304k init, 131008k highmem)
Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes)
Inode cache hash table entries: 65536 (order: 7, 524288 bytes)
Mount-cache hash table entries: 16384 (order: 5, 131072 bytes)
Buffer cache hash table entries: 65536 (order: 6, 262144 bytes)
Page-cache hash table entries: 262144 (order: 8, 1048576 bytes)
CPU: Before vendor init, caps: 0383fbff 00000000 00000000, vendor = 0
CPU: L1 I cache: 16K, L1 D cache: 16K
CPU: L2 cache: 512K
CPU: After vendor init, caps: 0383fbff 00000000 00000000 00000000
Intel machine check architecture supported.
Intel machine check reporting enabled on CPU#0.
CPU:     After generic, caps: 0383fbff 00000000 00000000 00000000
CPU:             Common caps: 0383fbff 00000000 00000000 00000000
Enabling fast FPU save and restore... done.
Enabling unmasked SIMD FPU exception support... done.
Checking 'hlt' instruction... OK.
POSIX conformance testing by UNIFIX
mtrr: v1.40 (20010327) Richard Gooch (rgooch@atnf.csiro.au)
mtrr: detected mtrr type: Intel
CPU: Before vendor init, caps: 0383fbff 00000000 00000000, vendor = 0
CPU: L1 I cache: 16K, L1 D cache: 16K
CPU: L2 cache: 512K
CPU: After vendor init, caps: 0383fbff 00000000 00000000 00000000
Intel machine check reporting enabled on CPU#0.
CPU:     After generic, caps: 0383fbff 00000000 00000000 00000000
CPU:             Common caps: 0383fbff 00000000 00000000 00000000
CPU0: Intel(R) Pentium(R) III CPU family      1266MHz stepping 01
per-CPU timeslice cutoff: 1463.48 usecs.
task migration cache decay timeout: 10 msecs.
enabled ExtINT on CPU#0
ESR value before enabling vector: 00000000
ESR value after enabling vector: 00000000
Booting processor 1/0 eip 2000
Initializing CPU#1
masked ExtINT on CPU#1
ESR value before enabling vector: 00000000
ESR value after enabling vector: 00000000
Calibrating delay loop... 2516.58 BogoMIPS
CPU: Before vendor init, caps: 0383fbff 00000000 00000000, vendor = 0
CPU: L1 I cache: 16K, L1 D cache: 16K
CPU: L2 cache: 512K
CPU: After vendor init, caps: 0383fbff 00000000 00000000 00000000
Intel machine check reporting enabled on CPU#1.
CPU:     After generic, caps: 0383fbff 00000000 00000000 00000000
CPU:             Common caps: 0383fbff 00000000 00000000 00000000
CPU1: Intel(R) Pentium(R) III CPU family      1266MHz stepping 01
Total of 2 processors activated (5033.16 BogoMIPS).
ENABLING IO-APIC IRQs
Setting 1 in the phys_id_present_map
...changing IO-APIC physical APIC ID to 1 ... ok.
Setting 2 in the phys_id_present_map
...changing IO-APIC physical APIC ID to 2 ... ok.
init IO_APIC IRQs
 IO-APIC (apicid-pin) 1-5, 1-9, 1-10, 1-11, 2-0, 2-1, 2-2, 2-3, 2-5, 2-6, 2-7, 2-8, 2-9, 2-10, 2-11, 2-15 not connected.
..TIMER: vector=0x31 pin1=0 pin2=-1
number of MP IRQ sources: 16.
number of IO-APIC #1 registers: 16.
number of IO-APIC #2 registers: 16.
testing the IO APIC.......................

IO APIC #1......
.... register #00: 01000000
.......    : physical APIC id: 01
.... register #01: 000F0011
.......     : max redirection entries: 000F
.......     : PRQ implemented: 0
.......     : IO APIC version: 0011
.... register #02: 00000000
.......     : arbitration: 00
.... IRQ redirection table:
 NR Log Phy Mask Trig IRR Pol Stat Dest Deli Vect:   
 00 003 03  0    0    0   0   0    1    1    31
 01 003 03  0    0    0   0   0    1    1    39
 02 000 00  1    0    0   0   0    0    0    00
 03 003 03  0    0    0   0   0    1    1    41
 04 003 03  0    0    0   0   0    1    1    49
 05 000 00  1    0    0   0   0    0    0    00
 06 003 03  0    0    0   0   0    1    1    51
 07 003 03  0    0    0   0   0    1    1    59
 08 003 03  0    0    0   0   0    1    1    61
 09 000 00  1    0    0   0   0    0    0    00
 0a 000 00  1    0    0   0   0    0    0    00
 0b 000 00  1    0    0   0   0    0    0    00
 0c 003 03  0    0    0   0   0    1    1    69
 0d 003 03  0    0    0   0   0    1    1    71
 0e 003 03  0    0    0   0   0    1    1    79
 0f 003 03  0    0    0   0   0    1    1    81

IO APIC #2......
.... register #00: 02000000
.......    : physical APIC id: 02
.... register #01: 000F0011
.......     : max redirection entries: 000F
.......     : PRQ implemented: 0
.......     : IO APIC version: 0011
.... register #02: 0C000000
.......     : arbitration: 0C
.... IRQ redirection table:
 NR Log Phy Mask Trig IRR Pol Stat Dest Deli Vect:   
 00 000 00  1    0    0   0   0    0    0    00
 01 000 00  1    0    0   0   0    0    0    00
 02 000 00  1    0    0   0   0    0    0    00
 03 000 00  1    0    0   0   0    0    0    00
 04 003 03  1    1    0   1   0    1    1    89
 05 000 00  1    0    0   0   0    0    0    00
 06 000 00  1    0    0   0   0    0    0    00
 07 000 00  1    0    0   0   0    0    0    00
 08 000 00  1    0    0   0   0    0    0    00
 09 000 00  1    0    0   0   0    0    0    00
 0a 000 00  1    0    0   0   0    0    0    00
 0b 000 00  1    0    0   0   0    0    0    00
 0c 003 03  1    1    0   1   0    1    1    91
 0d 003 03  1    1    0   1   0    1    1    99
 0e 003 03  1    1    0   1   0    1    1    A1
 0f 000 00  1    0    0   0   0    0    0    00
IRQ to pin mappings:
IRQ0 -> 0:0
IRQ1 -> 0:1
IRQ2 -> 0:2
IRQ3 -> 0:3
IRQ4 -> 0:4
IRQ6 -> 0:6
IRQ7 -> 0:7
IRQ8 -> 0:8
IRQ12 -> 0:12
IRQ13 -> 0:13
IRQ14 -> 0:14
IRQ15 -> 0:15
IRQ20 -> 1:4
IRQ28 -> 1:12
IRQ29 -> 1:13
IRQ30 -> 1:14
.................................... done.
Using local APIC timer interrupts.
calibrating APIC timer ...
..... CPU clock speed is 1260.4169 MHz.
..... host bus clock speed is 132.6753 MHz.
cpu: 0, clocks: 1326753, slice: 442251
CPU0<T0:1326752,T1:884496,D:5,S:442251,C:1326753>
cpu: 1, clocks: 1326753, slice: 442251
CPU1<T0:1326752,T1:442240,D:10,S:442251,C:1326753>
checking TSC synchronization across CPUs: passed.
PCI: PCI BIOS revision 2.10 entry at 0xfd9aa, last bus=2
PCI: Using configuration type 1
PCI: Probing PCI hardware
PCI: Discovered primary peer bus 01 [IRQ]
PCI: Discovered primary peer bus 02 [IRQ]
PCI->APIC IRQ transform: (B0,I10,P0) -> 30
PCI->APIC IRQ transform: (B0,I15,P0) -> 28
PCI->APIC IRQ transform: (B1,I8,P0) -> 20
PCI->APIC IRQ transform: (B1,I10,P0) -> 29
isapnp: Scanning for PnP cards...
isapnp: No Plug & Play device found
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
apm: BIOS not found.
Starting kswapd
allocated 64 pages and 64 bhs reserved for the highmem bounces
VFS: Diskquotas version dquot_6.5.0 initialized
pty: 2048 Unix98 ptys configured
Serial driver version 5.05c (2001-07-08) with MANY_PORTS MULTIPORT SHARE_IRQ SERIAL_PCI ISAPNP enabled
ttyS00 at 0x03f8 (irq = 4) is a 16550A
ttyS01 at 0x02f8 (irq = 3) is a 16550A
Real Time Clock Driver v1.10e
block: 1024 slots per queue, batch=256
Uniform Multi-Platform E-IDE driver Revision: 6.31
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
SvrWks OSB4: IDE controller on PCI bus 00 dev 79
SvrWks OSB4: chipset revision 0
SvrWks OSB4: not 100% native mode: will probe irqs later
    ide0: BM-DMA at 0x1800-0x1807, BIOS settings: hda:pio, hdb:pio
    ide1: BM-DMA at 0x1808-0x180f, BIOS settings: hdc:DMA, hdd:pio
hdc: FX4830T, ATAPI CD/DVD-ROM drive
ide1 at 0x170-0x177,0x376 on irq 15
ide-floppy driver 0.99.newide
Floppy drive(s): fd0 is 1.44M
FDC 0 is a post-1991 82077
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
ide-floppy driver 0.99.newide
md: md driver 0.90.0 MAX_MD_DEVS=256, MD_SB_DISKS=27
md: Autodetecting RAID arrays.
md: autorun ...
md: ... autorun DONE.
pci_hotplug: PCI Hot Plug PCI Core version: 0.4
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP, IGMP
IP: routing cache hash table of 8192 buckets, 64Kbytes
TCP: Hash tables configured (established 262144 bind 65536)
Linux IP multicast router 0.06 plus PIM-SM
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
RAMDISK: Compressed image found at block 0
Freeing initrd memory: 219k freed
VFS: Mounted root (ext2 filesystem).
SCSI subsystem driver Revision: 1.00
kmod: failed to exec /sbin/modprobe -s -k scsi_hostadapter, errno = 2
sym53c8xx: at PCI bus 1, device 8, function 0
sym53c8xx: 53c1010-66 detected with Symbios NVRAM
sym53c8xx: at PCI bus 1, device 10, function 0
sym53c8xx: 53c1010-66 detected with Symbios NVRAM
sym53c1010-66-0: rev 0x1 on pci bus 1 device 10 function 0 irq 29
sym53c1010-66-0: Symbios format NVRAM, ID 7, Fast-80, Parity Checking
sym53c1010-66-0: on-chip RAM at 0xfe002000
sym53c1010-66-0: restart (scsi reset).
sym53c1010-66-0: handling phase mismatch from SCRIPTS.
sym53c1010-66-0: Downloading SCSI SCRIPTS.
sym53c1010-66-1: rev 0x1 on pci bus 1 device 8 function 0 irq 20
sym53c1010-66-1: Symbios format NVRAM, ID 7, Fast-80, Parity Checking
sym53c1010-66-1: on-chip RAM at 0xfe000000
sym53c1010-66-1: restart (scsi reset).
sym53c1010-66-1: handling phase mismatch from SCRIPTS.
sym53c1010-66-1: Downloading SCSI SCRIPTS.
scsi0 : sym53c8xx-1.7.3c-20010512
scsi1 : sym53c8xx-1.7.3c-20010512
blk: queue f7dcfe18, I/O limit 4095Mb (mask 0xffffffff)
  Vendor: SEAGATE   Model: ST39204LC         Rev: 3251
  Type:   Direct-Access                      ANSI SCSI revision: 03
blk: queue c1eab018, I/O limit 4095Mb (mask 0xffffffff)
  Vendor: SEAGATE   Model: ST318404LC        Rev: 3251
  Type:   Direct-Access                      ANSI SCSI revision: 03
blk: queue f7dcfc18, I/O limit 4095Mb (mask 0xffffffff)
  Vendor: SDR       Model: GEM318            Rev: 0   
  Type:   Processor                          ANSI SCSI revision: 02
blk: queue f7dcf018, I/O limit 4095Mb (mask 0xffffffff)
sym53c1010-66-0-<0,0>: tagged command queue depth set to 8
sym53c1010-66-0-<1,0>: tagged command queue depth set to 8
  Vendor: HP        Model: C5683A            Rev: C111
  Type:   Sequential-Access                  ANSI SCSI revision: 02
blk: queue f7816818, I/O limit 4095Mb (mask 0xffffffff)
Attached scsi disk sda at scsi0, channel 0, id 0, lun 0
Attached scsi disk sdb at scsi0, channel 0, id 1, lun 0
sym53c1010-66-0-<0,*>: FAST-80 WIDE SCSI 160.0 MB/s (12.5 ns, offset 62)
SCSI device sda: 17921835 512-byte hdwr sectors (9176 MB)
Partition check:
 sda: sda1 sda2 sda3
sym53c1010-66-0-<1,*>: FAST-80 WIDE SCSI 160.0 MB/s (12.5 ns, offset 62)
SCSI device sdb: 35843670 512-byte hdwr sectors (18352 MB)
 sdb: sdb1 sdb2 sdb3
Journalled Block Device driver loaded
kjournald starting.  Commit interval 5 seconds
EXT3-fs: mounted filesystem with ordered data mode.
Freeing unused kernel memory: 304k freed
Adding Swap: 1052248k swap-space (priority -1)
Adding Swap: 1052248k swap-space (priority -2)
usb.c: registered new driver usbdevfs
usb.c: registered new driver hub
usb-ohci.c: USB OHCI at membase 0xf898b000, IRQ 28
usb-ohci.c: usb-00:0f.2, ServerWorks OSB4/CSB5 OHCI USB Controller
usb.c: new USB bus registered, assigned bus number 1
hub.c: USB hub found
hub.c: 4 ports detected
EXT3 FS 2.4-0.9.17, 10 Jan 2002 on sd(8,2), internal journal
kjournald starting.  Commit interval 5 seconds
EXT3 FS 2.4-0.9.17, 10 Jan 2002 on sd(8,18), internal journal
EXT3-fs: mounted filesystem with ordered data mode.
kjournald starting.  Commit interval 5 seconds
EXT3 FS 2.4-0.9.17, 10 Jan 2002 on sd(8,1), internal journal
EXT3-fs: mounted filesystem with ordered data mode.
kjournald starting.  Commit interval 5 seconds
EXT3 FS 2.4-0.9.17, 10 Jan 2002 on sd(8,17), internal journal
EXT3-fs: mounted filesystem with ordered data mode.
st: Version 20020205, bufsize 32768, wrt 30720, max init. bufs 4, s/g segs 16
Attached scsi tape st0 at scsi1, channel 0, id 4, lun 0
parport0: PC-style at 0x378 [PCSPP,TRISTATE,EPP]
eepro100.c:v1.09j-t 9/29/99 Donald Becker http://www.scyld.com/network/eepro100.html
eepro100.c: $Revision: 1.36 $ 2000/11/17 Modified by Andrey V. Savochkin <saw@saw.sw.com.sg> and others
eth0: OEM i82557/i82558 10/100 Ethernet, 00:30:05:19:9F:A8, IRQ 30.
  Board assembly 000000-000, Physical connectors present: RJ45
  Primary interface chip i82555 PHY #1.
  General self-test: passed.
  Serial sub-system self-test: passed.
  Internal registers self-test: passed.
  ROM checksum self-test: passed (0xdbd8681d).
ide-floppy driver 0.99.newide
hdc: ATAPI 48X CD-ROM drive, 128kB Cache
Uniform CD-ROM driver Revision: 3.12
cdrom: This disc doesn't have any tracks I recognize!

Thanks for your time.

Henri

>How-To-Repeat:
I try at least 10 boot and SMP kernel freeze at the same place.
>Fix:
Same config without options SMP and APIC_IO work - I send this PR
from it but I need to go with the 2 PIII running.
PS it's not the advocacy category but let me say that I prefer
FreeBSD instead of Linux on my beast! - maybe I'm to old to change
my habits :-)

>Release-Note:
>Audit-Trail:

From: "Henri Hennebert" <HLH@CIGER.BE>
To: <freebsd-gnats-submit@FreeBSD.org>
Cc:  
Subject: Re: i386/39234: SMP 4.6-RC freezes during boot (Fujitsu-Siemens C200)
Date: Thu, 11 Jul 2002 17:01:16 +0200

 After many tests and comparisons with other case, I found
 that the main difference was that in my case, the mptable
 show that the entry of the isa bus with pin# 0 has an int
 type of INT instread of ExtINT (in my case entry 0). Just
 to try, to put i386/isa/clock.c on the right track, I patch
 i386/i386/mp_machdep.c to force this entry (0) with
 int type ExtINT (at the end of function mptable_pass2).
 
 make buildkernel && make installkernel give me a running
 SMP kernel.
 
 Just to be sure my dream come true, I make buildwold and all
 was running smoothly  :-)
 
 I'm sure that this patch is just ad hoc for my case but maybe
 a smp guru may find a better way to correct the problem.
 
 Anyway, tt can be usefull to someone else:
 
 --- mp_machdep.c.orig   Sun Apr 28 20:18:17 2002
 +++ mp_machdep.c        Thu Jul 11 16:34:28 2002
 @@ -977,6 +977,8 @@
                 panic("NO BSP found!");
 
         /* report fact that its NOT a default configuration */
 +       /*---- patch for Fujitsu Siemens C200 ---*/
 +       io_apic_ints[0].int_type =3D 3;
         return 0;
  }
 
 Henri

From: "Simon L. Nielsen" <simon@nitro.dk>
To: freebsd-gnats-submit@FreeBSD.org, hlh@ciger.be
Cc:  
Subject: Re: i386/39234: SMP 4.6-RC freezes during boot (Fujitsu-Siemens C200)
Date: Sun, 8 Dec 2002 15:34:37 +0100

 Hello
 
 Just for the "record" this fix also makes the Fujitsu Siemens Primergy
 P200 work with FreeBSD and SMP - tested with FreeBSD 4.7 and the above
 patch.
 
 -- 
 Simon L. Nielsen

From: Marco Wertejuk <wertejuk@mwcis.com>
To: freebsd-gnats-submit@freebsd.org, hlh@ciger.be
Cc:  
Subject: Re: i386/39234 SMP 4.6-RC freezes during boot (Fujitsu-Siemens C200)
Date: Mon, 28 Apr 2003 22:33:11 +0200

 --RnlQjJ0d97Da+TV1
 Content-Type: text/plain; charset=us-ascii
 Content-Disposition: inline
 
 I was fighting with the same problem during the last days.
 Since there's no solution found yet, it would be nice to
 have an easy workaround which is configurable within the
 kernel config file, because as discussed on -smp, it's no
 solution to make the change default.
 But on the other hand it doesn't make sense to patch 
 mp_machdep.c after every checkout just to retain the
 system bootable.
 
 Please apply the attached patches, which create a new
 kernel option for i386 config files (called
 SMP_PRIMERGY_BUG) which enable the workaround in the
 APIC I/O int table.
 The workaround itself is tested on multiple servers
 successfully and patches if applied make it easier
 to run smp on the affected machines, by just using
 the kernel option (documented in NOTES).
 
 Maybe this should be applied to -stable and -current
 because a lot of people running FreeBSD on SMP Hosts
 use it in a production system with RELENG_4, or even
 release.
 
 -- 
 Mit freundlichen Gruessen,
 Marco Wertejuk - mwcis.com
 Consulting & Internet Solutions
 
 --RnlQjJ0d97Da+TV1
 Content-Type: text/plain; charset=us-ascii
 Content-Disposition: attachment; filename="NOTES.diff"
 
 *** NOTES	Sun Apr 27 05:35:10 2003
 --- NOTES.primergy	Mon Apr 28 20:24:09 2003
 ***************
 *** 1067,1072 ****
 --- 1067,1073 ----
   # Note that documenting these are not considered an affront.
   
   options 	FB_INSTALL_CDEV		# install a CDEV entry in /dev
 + options		SMP_PRIMERGY_BUG	# use this if SMP on P200/C200 freezes
   
   # PECOFF module (Win32 Execution Format)
   options 	PECOFF_SUPPORT
 
 --RnlQjJ0d97Da+TV1
 Content-Type: text/plain; charset=us-ascii
 Content-Disposition: attachment; filename="mp_machdep.c.diff"
 
 *** mp_machdep.c	Wed Apr  2 23:53:28 2003
 --- mp_machdep.c.primergy	Mon Apr 28 19:15:37 2003
 ***************
 *** 1045,1050 ****
 --- 1045,1053 ----
   		panic("NO BSP found!");
   
   	/* report fact that its NOT a default configuration */
 + #if defined (SMP_PRIMERGY_BUG)
 + 		io_apic_ints[0].int_type = 3;
 + #endif /* SMP_PRIMERGY_BUG */
   	return 0;
   }
   
 
 --RnlQjJ0d97Da+TV1
 Content-Type: text/plain; charset=us-ascii
 Content-Disposition: attachment; filename="options.i386.diff"
 
 *** options.i386	Sat Apr 12 09:40:37 2003
 --- options.i386.primergy	Mon Apr 28 19:15:05 2003
 ***************
 *** 18,23 ****
 --- 18,24 ----
   I586_PMC_GUPROF		opt_i586_guprof.h
   COMPAT_OLDISA
   BROKEN_KEYBOARD_RESET	opt_reset.h
 + SMP_PRIMERGY_BUG
   
   # Options for emulators.  These should only be used at config time, so
   # they are handled like options for static filesystems
 
 --RnlQjJ0d97Da+TV1--
Responsible-Changed-From-To: freebsd-bugs->jhb 
Responsible-Changed-By: rwatson 
Responsible-Changed-When: Mon Jun 9 18:49:29 PDT 2003 
Responsible-Changed-Why:  
Assign to John, he likes this kind of thing. 


http://www.freebsd.org/cgi/query-pr.cgi?pr=39234 

From: John Baldwin <jhb@FreeBSD.org>
To: freebsd-gnats-submit@FreeBSD.org, hlh@ciger.be
Cc:  
Subject: Re: i386/39234: SMP 4.6-RC freezes during boot (Fujitsu-Siemens C200)
Date: Thu, 11 Dec 2003 14:49:06 -0500

 Can you try 5.2-BETA or one of the 5.2 RCs?  I am curious if they work.  I 
 rewrote all of the mptable handling code, and it might need tweaking to work
 around this issue.  Also, can you try this patch for 4.x:
 
 Index: mp_machdep.c
 ===================================================================
 RCS file: /usr/cvs/src/sys/i386/i386/mp_machdep.c,v
 retrieving revision 1.115.2.19
 diff -u -r1.115.2.19 mp_machdep.c
 --- mp_machdep.c	22 Oct 2003 20:15:10 -0000	1.115.2.19
 +++ mp_machdep.c	11 Dec 2003 19:48:15 -0000
 @@ -1357,6 +1357,15 @@
  		io_apic_ints[nintrs].dst_apic_id = IO_TO_ID(0);
  		io_apic_ints[nintrs].dst_apic_int = 0;	/* Pin 0 */
  		nintrs++;
 +	} else if (apic_int_type(0, 0) == 1) {
 +		printf("APIC_IO: MP table broken: ExtINT entry corrupt!\n");
 +		for (x = 0; x < nintrs; ++x)
 +			if ((0 == ID_TO_IO(io_apic_ints[x].dst_apic_id)) &&
 +			    (0 == io_apic_ints[x].dst_apic_int)) {
 +				io_apic_ints[x].int_type = 3;
 +				io_apic_ints[x].int_vector = 0xff;
 +				break;
 +			}
  	}
  }
  
 -- 
 John Baldwin <jhb@FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
 "Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/
 

From: Henri Hennebert <hlh@ciger.be>
To: freebsd-gnats-submit@freebsd.org, hlh@ciger.be
Cc:  
Subject: Re: i386/39234: SMP 4.6-RC freezes during boot (Fujitsu-Siemens C200)
Date: Fri, 12 Dec 2003 10:30:31 +0100

 This is my main production configuration, It's not really possible to 
 upgrade from 4.9-release
 to 5.2-RC for a check.
 
 Nevertheless, I try your patch on 4.9 and the boot free at the same spot.
 
 The last lines are:
 SMP: AP CPU #1 Launched!
 acd0: CDROM <FX4830T> at ata1-master PIO4 [I'm not sure of this one]
 Waiting 5 seconds for SCSI devices to settle
 (noperiph:sym0:0:-1:-1): SCSI BUS reset delivered.
 (noperiph:sym1:0:-1:-1): SCSI BUS reset delivered.
 
 ***FREEZE***
 
 I'm back to kernel.old
 
 
 Thank you for your time
 
 Henri
 
 
State-Changed-From-To: open->patched 
State-Changed-By: jhb 
State-Changed-When: Tue Dec 16 08:32:40 PST 2003 
State-Changed-Why:  
Fix committed to 4-stable.  Current may still need a patch, so haven't 
closed this yet. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=39234 
State-Changed-From-To: patched->closed 
State-Changed-By: jhb 
State-Changed-When: Fri Dec 19 14:56:01 PST 2003 
State-Changed-Why:  
Submitter was able to test that the new apic code in current works both with 
and without ACPI.  Thanks for all the testing! 

http://www.freebsd.org/cgi/query-pr.cgi?pr=39234 
>Unformatted:
