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>