From owner-freebsd-smp Sun Nov 24 17: 3: 2 2002 Delivered-To: freebsd-smp@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 230FC37B401 for ; Sun, 24 Nov 2002 17:02:55 -0800 (PST) Received: from hub.org (hub.org [64.49.215.141]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9C3B143EA3 for ; Sun, 24 Nov 2002 17:02:54 -0800 (PST) (envelope-from scrappy@hub.org) Received: from hub.org (hub.org [64.49.215.141]) by hub.org (Postfix) with ESMTP id 611D08A1994 for ; Sun, 24 Nov 2002 21:02:44 -0400 (AST) Date: Sun, 24 Nov 2002 21:02:44 -0400 (AST) From: "Marc G. Fournier" To: freebsd-smp@freebsd.org Subject: CPU not detected after firmware upgrade ... Message-ID: <20021124210158.H16724-100000@hub.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-smp@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org Over the past couple of weeks, I've been experiencing a problem where -STABLE after Oct 28th would hang on booting. The only change that appeared to be on the 29th was the amr driver changes that Eric committed, and he suggested upgrading the firmware on my MegaRAID controller to 'correct' the issue. Last night, Rackspace performed that upgrade for us, and powered up using the same kernel (RELENG_4_7) we had installed ... it hung on reboot. They could boot off of the GENERIC kernel that I still had on that machine, but not the kernel that I had running several hours previous ... after playing with the kernel config for a period of time, I finally figured out that as long as I didn't enable SMP, the kernel would boot. Not good, but better then nothing ... Today, after getting some rest, I dove back into things again, finally thinking to setup /boot.config to enable -v on boot, figuring that was hte only way I was going to more detailed information ... After looking through /var/run/dmesg.boot after trying to boot an SMP kernel, I noticed that the kernel isn't detecting the second CPU in the machine: IOAPIC #0 intpin 2 -> irq 0 Programming 16 pins in IOAPIC #1 SMP: CPU0 apic_initialize(): lint0: 0x00000700 lint1: 0x00010400 TPR: 0x00000010 SVR: 0x000001ff FreeBSD/SMP: Multiprocessor motherboard cpu0 (BSP): apic id: 0, version: 0x00040011, at 0xfee00000 io0 (APIC): apic id: 4, version: 0x000f0011, at 0xfec00000 io1 (APIC): apic id: 5, version: 0x000f0011, at 0xfec01000 bios32: Found BIOS32 Service Directory header at 0xc00fdb90 bios32: Entry = 0xfdba0 (c00fdba0) Rev = 0 Len = 1 pcibios: PCI BIOS entry at 0xdbc1 pnpbios: Found PnP BIOS data at 0xc00f4c50 pnpbios: Entry = f0000:3954 Rev = 1.0 Other BIOS signatures found: ACPI: 00000000 whereas my other server, same motherboard and BIOS level, shows: FreeBSD/SMP: Multiprocessor motherboard cpu0 (BSP): apic id: 0, version: 0x00040011, at 0xfee00000 cpu1 (AP): apic id: 1, version: 0x00040011, at 0xfee00000 io0 (APIC): apic id: 4, version: 0x000f0011, at 0xfec00000 io1 (APIC): apic id: 5, version: 0x000f0011, at 0xfec01000 Now, I've had Rackspace check to make sure that the second CPU is, in fact, in the machine, and they went to the extent of swap out the CPUs and put new ones in ... the CPUs are detected by the BIOs itself, its only once it gets to the OS level that it seems to "lose" the second CPU ... The kernel config I'm trying to boot is quite basic, and included at the bottom of this, as well as the output of mptable -verbose: What would cause a CPU to "disappear" as far as the operating system is concerned? And how could a firmware upgrade (and/or driver upgrade) cause this? This is a totally new one for me, and I haven't got a clue what direction to go at next ... ___machine i386 ___cpu I686_CPU ___ident kernel ___maxusers 0 ___makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols ___options INET #InterNETworking ___options FFS #Berkeley Fast Filesystem ___options FFS_ROOT #FFS usable as root device [keep this!] ___options SOFTUPDATES #Enable FFS soft updates support ___options UFS_DIRHASH #Improve performance on big directories ___options PROCFS #Process filesystem ___options COMPAT_43 #Compatible with BSD 4.3 [KEEP THIS!] ___options SCSI_DELAY=15000 #Delay (in ms) before probing SCSI ___options KTRACE #ktrace(1) support ___options SYSVSHM ___options SHMMAXPGS=199608 ___options SHMMAX=(SHMMAXPGS*PAGE_SIZE+1) ___options SYSVSEM ___options SEMMNI=4096 ___options SEMMNS=8192 ___options SYSVMSG #SYSV-style message queues ___options IPFIREWALL #firewall ___options IPFIREWALL_FORWARD #enable transparent proxy support ___options IPFIREWALL_DEFAULT_TO_ACCEPT #allow everything by default ___options P1003_1B #Posix P1003_1B real-time extensions ___options _KPOSIX_PRIORITY_SCHEDULING ___options ICMP_BANDLIM #Rate limit bad replies ___options KBD_INSTALL_CDEV # install a CDEV entry in /dev ___# To make an SMP kernel, the next two are needed ___options SMP # Symmetric MultiProcessor Kernel ___options APIC_IO # Symmetric (APIC) I/O ___device isa ___device pci ___device sym # NCR/Symbios Logic (newer chipsets) ___device scbus # SCSI bus (required) ___device da # Direct Access (disks) ___device sa # Sequential Access (tape etc) ___device pass # Passthrough device (direct SCSI access) ___device amr # AMI MegaRAID ___device atkbdc0 at isa? port IO_KBD ___device atkbd0 at atkbdc? irq 1 flags 0x1 ___device psm0 at atkbdc? irq 12 ___device vga0 at isa? ___pseudo-device splash ___device sc0 at isa? flags 0x100 ___device npx0 at nexus? port IO_NPX irq 13 ___device miibus # MII bus support ___device fxp # Intel EtherExpress PRO/100B (82557, 82558) ___pseudo-device loop # Network loopback ___pseudo-device ether # Ethernet support ___pseudo-device pty 256 # Pseudo-ttys (telnet etc) ___pseudo-device bpf #Berkeley packet filter ___options DDB ___options DDB_UNATTENDED ___options INCLUDE_CONFIG_FILE # Include this file in kernel =============================================================================== MPTable, version 2.0.15 looking for EBDA pointer @ 0x040e, found, searching EBDA @ 0x0009fc00 searching CMOS 'top of mem' @ 0x0009f800 (638K) searching default 'top of mem' @ 0x0009fc00 (639K) searching BIOS @ 0x000f0000 MP FPS found in BIOS @ physical addr: 0x000ff780 ------------------------------------------------------------------------------- MP Floating Pointer Structure: location: BIOS physical address: 0x000ff780 signature: '_MP_' length: 16 bytes version: 1.4 checksum: 0xd4 mode: Virtual Wire ------------------------------------------------------------------------------- MP Config Table Header: physical address: 0x000f0db0 signature: 'PCMP' base table length: 268 version: 1.4 checksum: 0x45 OEM ID: 'AMI ' Product ID: 'CNB30LE ' OEM table pointer: 0x00000000 OEM table size: 0 entry count: 25 local APIC address: 0xfee00000 extended table length: 200 extended table checksum: 171 ------------------------------------------------------------------------------- MP Config Base Table Entries: -- Processors: APIC ID Version State Family Model Step Flags 0 0x11 BSP, usable 6 11 1 0x383fbff 1 0x11 AP, usable 6 11 1 0x383fbff -- Bus: Bus ID Type 0 PCI 1 PCI 2 ISA -- I/O APICs: APIC ID Version State Address 4 0x11 usable 0xfec00000 5 0x11 usable 0xfec01000 -- I/O Ints: Type Polarity Trigger Bus ID IRQ APIC ID PIN# INT active-lo level 0 1:A 5 6 INT active-lo level 1 2:A 5 11 INT active-lo level 0 4:A 5 4 INT active-lo level 1 3:B 5 8 INT active-lo level 1 3:A 5 7 ExtINT active-hi edge 2 0 4 0 INT active-hi edge 2 1 4 1 INT active-hi edge 2 0 4 2 INT active-hi edge 2 4 4 4 INT active-hi edge 2 6 4 6 INT active-hi edge 2 7 4 7 INT active-hi edge 2 8 4 8 INT active-hi edge 2 12 4 12 INT active-hi edge 2 13 4 13 INT active-hi edge 2 14 4 14 INT active-hi edge 2 15 4 15 -- Local Ints: Type Polarity Trigger Bus ID IRQ APIC ID PIN# ExtINT active-hi edge 2 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: 0xd000 address range: 0x1000 -- System Address Space bus ID: 0 address type: I/O address address base: 0x0 address range: 0x100 -- System Address Space bus ID: 0 address type: memory address address base: 0xfc600000 address range: 0x2500000 -- System Address Space bus ID: 0 address type: prefetch address address base: 0xfc400000 address range: 0x100000 -- System Address Space bus ID: 1 address type: I/O address address base: 0xe000 address range: 0x1000 -- System Address Space bus ID: 1 address type: memory address address base: 0xfeb00000 address range: 0x100000 -- System Address Space bus ID: 1 address type: prefetch address address base: 0xfc500000 address range: 0x100000 -- Bus Heirarchy bus ID: 2 bus info: 0x01 parent bus ID: 0 -- Compatibility Bus Address bus ID: 0 address modifier: add predefined range: 0x00000000 -- Compatibility Bus Address bus ID: 1 address modifier: subtract predefined range: 0x00000000 -- System Address Space bus ID: 0 address type: memory address address base: 0xa0000 address range: 0x20000 -- Compatibility Bus Address bus ID: 0 address modifier: add predefined range: 0x00000001 -- Compatibility Bus Address bus ID: 1 address modifier: subtract predefined range: 0x00000001 =============================================================================== To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-smp" in the body of the message