Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 24 Nov 2002 21:02:44 -0400 (AST)
From:      "Marc G. Fournier" <scrappy@hub.org>
To:        freebsd-smp@freebsd.org
Subject:   CPU not detected after firmware upgrade ... 
Message-ID:  <20021124210158.H16724-100000@hub.org>

index | next in thread | raw e-mail


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



home | help

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