Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 23 Nov 2002 23:34:00 -0400 (AST)
From:      "Marc G. Fournier" <scrappy@hub.org>
To:        freebsd-stable@freebsd.org
Cc:        freebsd-hardware@freebsd.org, "Moore, Eric Dean" <emoore@lsil.com>
Subject:   CPU not detected after firmware upgrade ...
Message-ID:  <20021123222059.N16724-100000@hub.org>

next in thread | raw e-mail | index | archive | help

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 ...

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





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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20021123222059.N16724-100000>