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>
