Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 18 Apr 2000 20:44:23 +0900
From:      Osamu MIHARA <mihara@prd.fc.nec.co.jp>
To:        freebsd-smp@freebsd.org
Subject:   Multiple APIC support (RE: Issues with Spankin' new Poweredge 4400 w/ dual 866's and 133MHz FSB?)
Message-ID:  <86hfczbpm0.wl@oz.prd.fc.nec.co.jp>
In-Reply-To: In your message of "Sat, 15 Apr 2000 18:57:53 -0500" <NDBBIMCDELJLMJDJPOFIIEPJCDAA.eric@cdc.net>
References:  <NDBBLJLIKLNKLNOLEJIKCEKMCDAA.bvaughn@pns.net> <NDBBIMCDELJLMJDJPOFIIEPJCDAA.eric@cdc.net>

next in thread | previous in thread | raw e-mail | index | archive | help
I have tested SMP kernel on another machine which has 2 IO-APICs. The
machine is NEC's Express5800/140, with dual Pentium 100Mhz CPUs and
Intel's chipset.  This machine has a bios menu which I can choose
disable/enable second IO-APIC.  When disabling the second IO-APIC, the
SMP kernel boot up without problem.  However, if I enables the second
IO-APIC, the kernel causes panic while booting (after detecting adv1,
maybe while testing APIC_IO).

The question is if FreeBSD supports multiple APICs?  If it's not, it
is not a RCC chipset specific problem.  I would like to know if there
are machines with multiple APICs which can run SMP kernel.

Boot message when the second APIC is disabled and mptable output
follows.
-- 
  Osamu MIHARA // NEC Printers Division

Copyright (c) 1992-2000 The FreeBSD Project.
Copyright (c) 1982, 1986, 1989, 1991, 1993
	The Regents of the University of California. All rights reserved.
FreeBSD 5.0-CURRENT #0: Tue Apr 18 20:16:45 JST 2000
    root@swd-poseidon.prd.fc.nec.co.jp:/usr/src/sys/compile/POSEIDON
Timecounter "i8254"  frequency 1193182 Hz
CPU: Pentium/P54C (97.00-MHz 586-class CPU)
  Origin = "GenuineIntel"  Id = 0x525  Stepping = 5
  Features=0x3bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8,APIC>
real memory  = 100663296 (98304K bytes)
FreeBSD Kernel Configuration Utility - Version 1.2
 Type "help" for help or "visual" to go to the visual
 configuration interface (requires MGA/VGA display or
 serial terminal capable of displaying ANSI graphics).
Programming 16 pins in IOAPIC #0
IOAPIC #0 intpin 2 -> irq 0
Programming 16 pins in IOAPIC #1
FreeBSD/SMP: Multiprocessor motherboard
 cpu0 (BSP): apic id:  0, version: 0x00030010, at 0xfee00000
 cpu1 (AP):  apic id:  3, version: 0x00030010, at 0xfee00000
 io0 (APIC): apic id: 14, version: 0x000f0011, at 0xfec00000
 io1 (APIC): apic id: 13, version: 0x000f0011, at 0xfff7ec00
Intel Pentium detected, installing workaround for F00F bug
md0: Malloc disk
npx0: <math processor> on motherboard
npx0: INT 16 interface
pcib0: <Intel 824?? host to PCI bridge> on motherboard
pci0: <PCI bus> on pcib0
isab0: <Intel 82375EB PCI-EISA bridge> at device 14.0 on pci0
eisa0: <EISA bus> on isab0
mainboard0: <INT3190 (System Board)> on eisa0 slot 0
ep0: <3Com 3C579-TP EISA Network Adapter> at 0x2000-0x200f, 0x2c80-0x2c89
ep0: irq 5 (level) on eisa0 slot 2
ep0: Ethernet address 00:20:af:ee:b5:04
ep0: supplying EUI64: 00:20:af:ff:fe:ee:b5:04
isa0: <ISA bus> on isab0
chip1: <> mem 0xfff7ec00-0xfff7efff at device 15.0 on pci0
pcib1: <Intel 824?? host to PCI bridge> on motherboard
pci1: <PCI bus> on pcib1
ahc0: <Adaptec aic7870 SCSI adapter> port 0xfc00-0xfcff mem 0xff9fe000-0xff9fefff irq 10 at device 13.0 on pci1
ahc0: Using left over BIOS settings
ahc0: aic7870 Wide Channel A, SCSI Id=7, 16/255 SCBs
ahc1: <Adaptec aic7870 SCSI adapter> port 0xf800-0xf8ff mem 0xff9ff000-0xff9fffff irq 10 at device 14.0 on pci1
ahc1: Using left over BIOS settings
ahc1: aic7870 Wide Channel A, SCSI Id=7, 16/255 SCBs
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> irq 1 on atkbdc0
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model Generic PS/2 mouse, device ID 0
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
sc0: <System console> on isa0
sc0: VGA <16 virtual consoles, flags=0x200>
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: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/8 bytes threshold
ppi0: <Parallel I/O> on ppbus0
ppi0: can't allocate irq
device_probe_and_attach: ppi0 attach returned 12
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven port
plip0: <PLIP network interface> on ppbus0
adv1: Invalid baseport of 0x20 specified. Neerest valid baseport is 0x100.  Failing probe.
unknown0: <PNP0000> at port 0x20-0x21,0xa0-0xa1 irq 2 on isa0
adv1: Invalid baseport of 0x0 specified. Neerest valid baseport is 0x100.  Failing probe.
unknown1: <PNP0201> at port 0-0xf,0x80-0x90,0x94-0x9f,0xc0-0xde,0x40b,0x410-0x43f,0x481-0x483,0x487,0x489-0x48c,0x4d6 drq 4 on isa0
adv1: Invalid baseport of 0x40 specified. Neerest valid baseport is 0x100.  Failing probe.
unknown2: <PNP0100> at port 0x40-0x43 irq 0 on isa0
adv1: Invalid baseport of 0x70 specified. Neerest valid baseport is 0x100.  Failing probe.
unknown3: <PNP0b00> at port 0x70-0x71 irq 8 on isa0
adv1: Invalid baseport of 0x61 specified. Neerest valid baseport is 0x100.  Failing probe.
unknown4: <PNP0800> at port 0x61 on isa0
adv1: Invalid baseport of 0xf0 specified. Neerest valid baseport is 0x100.  Failing probe.
unknown5: <PNP0c04> at port 0xf0-0xff irq 13 on isa0
unknown: <PNP0303> can't assign resources
unknown: <PNP0f13> can't assign resources
unknown6: <PNP0c01> at port 0x330 iomem 0xe8000-0xfffff,0-0x9ffff,0x100000-0x5ffffff,0xfff80000-0xffffffff,0xfee00000-0xfee00fff,0xfec00000-0xfec003ff on isa0
unknown: <PNP0003> can't assign resources
unknown: <PNP0a01> can't assign resources
unknown: <PNP0700> can't assign resources
adv1: Invalid baseport of 0x1f0 specified. Neerest valid baseport is 0x210.  Failing probe.
unknown7: <Generic ESDI/IDE/ATA controller> at port 0x1f0-0x1f7,0x3f6 irq 14 drq 7 on isa0
unknown: <PNP0400> can't assign resources
unknown: <PNP0500> can't assign resources
unknown: <PNP0500> can't assign resources
unknown: <PNP0003> can't assign resources
adv1: Invalid baseport of 0xd000 specified. Neerest valid baseport is 0x330.  Failing probe.
unknown8: <PNP0c02> at port 0xd000-0xd053,0xd080-0xd0a5,0xdc80-0xdc83,0x10,0x11,0x12 on isa0
adv1: Invalid baseport of 0x72 specified. Neerest valid baseport is 0x100.  Failing probe.
unknown9: <PNP0c02> at port 0x72-0x73 on isa0
APIC_IO: Testing 8254 interrupt delivery
APIC_IO: routing 8254 via IOAPIC #0 intpin 2
Waiting 15 seconds for SCSI devices to settle
SMP: AP CPU #1 Launched!
Mounting root from ufs:da0s1a
da0 at ahc0 bus 0 target 0 lun 0
da0: <SEAGATE ST32430W 0640> Fixed Direct Access SCSI-2 device 
da0: 20.000MB/s transfers (10.000MHz, offset 8, 16bit), Tagged Queueing Enabled
da0: 2049MB (4197405 512 byte sectors: 64H 32S/T 2049C)
cd0 at ahc0 bus 0 target 2 lun 0
cd0: <SONY CD-ROM CDU-76S 1.0a> Removable CD-ROM SCSI-2 device 
cd0: 4.901MB/s transfers (4.901MHz, offset 15)
cd0: Attempt to query device size failed: NOT READY, Medium not present
WARNING: run /dev/MAKEDEV before 2000-06-01 to get rid of block devices
ep0: starting DAD for fe80:0001::0220:afff:feee:b504
ep0: DAD complete for fe80:0001::0220:afff:feee:b504 - no duplicates found
ahc1: Data Parity Error Detected during address or write data phase



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

MPTable, version 2.0.15

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

MP Floating Pointer Structure:

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

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

MP Config Table Header:

  physical address:		0x000f2710
  signature:			'PCMP'
  base table length:		276
  version:			1.4
  checksum:			0xf5
  OEM ID:			'INTEL   '
  Product ID:			'XXPRESS     '
  OEM table pointer:		0x00000000
  OEM table size:		0
  entry count:			26
  local APIC address:		0xfee00000
  extended table length:	244
  extended table checksum:	162

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

MP Config Base Table Entries:

--
Processors:	APIC ID	Version	State		Family	Model	Step	Flags
		 0	 0x10	 BSP, usable	 5	 2	 5	 0x03bf
		 3	 0x10	 AP, usable	 5	 2	 5	 0x03bf
--
Bus:		Bus ID	Type
		 0	 PCI   
		 1	 PCI   
		18	 XPRESS
		19	 EISA  
--
I/O APICs:	APIC ID	Version	State		Address
		14	 0x11	 usable		 0xfec00000
		13	 0x11	 usable		 0xfff7ec00
--
I/O Ints:	Type	Polarity    Trigger	Bus ID	 IRQ	APIC ID	PIN#
		ExtINT	active-hi        edge	    19	   0	     14	   0
		INT	active-hi        edge	    19	   1	     14	   1
		INT	active-hi        edge	    19	   0	     14	   2
		INT	active-hi        edge	    19	   3	     14	   3
		INT	active-hi        edge	    19	   4	     14	   4
		INT	active-hi        edge	    19	   5	     14	   5
		INT	active-hi        edge	    19	   6	     14	   6
		INT	active-hi        edge	    19	   7	     14	   7
		INT	active-hi        edge	    19	   8	     14	   8
		INT	active-hi        edge	    19	   9	     14	   9
		INT	 conforms       level	    19	  10	     14	  10
		INT	active-hi        edge	    19	  11	     14	  11
		INT	active-hi        edge	    19	  12	     14	  12
		INT	active-hi        edge	    19	  13	     14	  13
		INT	active-hi        edge	    19	  14	     14	  14
		INT	active-hi        edge	    19	  15	     14	  15
--
Local Ints:	Type	Polarity    Trigger	Bus ID	 IRQ	APIC ID	PIN#
		ExtINT	active-hi        edge	    19	   0	    255	   0
		NMI	active-hi        edge	     0	 0:A	    255	   1

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

MP Config Extended Table Entries:

--

 bus ID: 18 address type: memory address
 address base: 0x0
 address range: 0xa0000
--

 bus ID: 18 address type: memory address
 address base: 0xc0000
 address range: 0x5f40000
--

 bus ID: 1 address type: memory address
 address base: 0xff900000
 address range: 0x100000
--

 bus ID: 1 address type: I/O address
 address base: 0xf000
 address range: 0x400
--

 bus ID: 1 address type: I/O address
 address base: 0xf400
 address range: 0x400
--

 bus ID: 1 address type: I/O address
 address base: 0xf800
 address range: 0x400
--

 bus ID: 1 address type: I/O address
 address base: 0xfc00
 address range: 0x400
--

 bus ID: 0 address type: memory address
 address base: 0xa0000
 address range: 0x20000
--

 bus ID: 0 address type: memory address
 address base: 0x6000000
 address range: 0xf9900000
--

 bus ID: 0 address type: memory address
 address base: 0xffa00000
 address range: 0x600000
--

 bus ID: 0 address type: I/O address
 address base: 0x0
 address range: 0xf000
--

 bus ID: 19 bus info: 0x01 parent bus ID: 0--

 bus ID: 0 address modifier: add
 predefined range: 0x00000000--

 bus ID: 1 address modifier: subtract
 predefined range: 0x00000000
-------------------------------------------------------------------------------

# SMP kernel config file options:


# Required:
options		SMP			# Symmetric MultiProcessor Kernel
options		APIC_IO			# Symmetric (APIC) I/O

# Optional (built-in defaults will work in most cases):
#options		NCPU=2			# number of CPUs
#options		NBUS=4			# number of busses
#options		NAPIC=2			# number of IO APICs
#options		NINTR=24		# number of INTs

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



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-smp" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?86hfczbpm0.wl>