[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#639949: linux-image-3.0.0-1-sparc64-smp: Kernel fails to boot with illegal instruction on ultrasparc V240



On Thu, 2011-09-01 at 00:38 +0200, Sebastien Bernard wrote:
> Package: linux-2.6
> Version: 3.0.0-3
> Severity: important
> 
> Dear Maintainer,
> Kernel fails to boot on my V240 dual processor ultrasparc machine. It does not boot at all. Last kernel known to work 
> is 2.6.39.
> 
> I join to the but report the output of the boot capture through the serial port.
[...]
> [    0.000000] swapper(0): Kernel illegal instruction [#1]
> [    0.000000] TSTATE: 0000001180e01605 TPC: 00000000005e0920 TNPC: 00000000005e0924 Y: 00000000    Not tainted
> [    0.000000] TPC: <__ffs+0x8/0x88>
> [    0.000000] g0: 00000000008af351 g1: 0000000000040000 g2: 000000000093ff74 g3: fffff8003fed8008
> [    0.000000] g4: 00000000008ca850 g5: 0000000000000000 g6: 00000000008ac000 g7: 0000000000000000
> [    0.000000] o0: fffffffffffc0000 o1: 000000000007ffff o2: ffffffffffffffff o3: 00000000008afe48
> [    0.000000] o4: 0000000000000005 o5: 00000000009950b0 sp: 00000000008af3b1 ret_pc: 00000000005d0540
> [    0.000000] RPC: <find_next_zero_bit+0xa0/0xb4>
> [    0.000000] l0: 0000000000000000 l1: 0000000000000d84 l2: 0000000000000d84 l3: 00000000008d3790
> [    0.000000] l4: fffffffffffff27c l5: 000000000000000e l6: 00000000008d3400 l7: 00000000008d3400
> [    0.000000] i0: fffff8003fed8000 i1: 000000000093ff74 i2: ffffffffffffffee i3: ffffffffffffffff
> [    0.000000] i4: 00000000009950a0 i5: 00000000009b5000 i6: 00000000008af461 i7: 000000000092d5a8
> [    0.000000] I7: <alloc_bootmem_core+0x1ac/0x340>
> [    0.000000]  [000000000092daec] ___alloc_bootmem_nopanic+0x70/0xa8
> [    0.000000]  [000000000092db34] ___alloc_bootmem+0x10/0x44
> [    0.000000]  [000000000091e4f4] start_kernel+0xac/0x3bc
> [    0.000000]  [0000000000777768] tlb_fixup_done+0x98/0xa0
> [    0.000000]  [0000000000000000]           (null)
> [    0.000000] Disabling lock debugging due to kernel taint
> [    0.000000] Caller[000000000092d5a8]: alloc_bootmem_core+0x1ac/0x340
> [    0.000000] Caller[000000000092daec]: ___alloc_bootmem_nopanic+0x70/0xa8
> [    0.000000] Caller[000000000092db34]: ___alloc_bootmem+0x10/0x44
> [    0.000000] Caller[000000000091e4f4]: start_kernel+0xac/0x3bc
> [    0.000000] Caller[0000000000777768]: tlb_fixup_done+0x98/0xa0
> [    0.000000] Caller[0000000000000000]:           (null)
> [    0.000000] Instruction DUMP: 01000000  82200008  923a0001 
> [    0.000000]  81c3e008  90222001  01000000  832a3030  85323010 
> [    0.000000] Kernel panic - not syncing: Attempted to kill the idle task!
> [    0.000000] Call Trace:
> [    0.000000]  [0000000000468c70] do_exit+0xb4/0x770
> [    0.000000]  [000000000042774c] die_if_kernel+0x29c/0x2c4
> [    0.000000]  [0000000000429770] do_illegal_instruction+0x4c/0x174
> [    0.000000]  [0000000000420210] tl0_ill+0x10/0x20
> [    0.000000]  [00000000005e0920] __ffs+0x8/0x88
> [    0.000000]  [000000000092d5a8] alloc_bootmem_core+0x1ac/0x340
> [    0.000000]  [000000000092daec] ___alloc_bootmem_nopanic+0x70/0xa8
> [    0.000000]  [000000000092db34] ___alloc_bootmem+0x10/0x44
> [    0.000000]  [000000000091e4f4] start_kernel+0xac/0x3bc
> [    0.000000]  [0000000000777768] tlb_fixup_done+0x98/0xa0
> [    0.000000]  [0000000000000000]           (null)
> [    0.000000] Press Stop-A (L1-A) to return to the boot prom
> 
> 
> ** Model information
> cpu		: TI UltraSparc IIIi (Jalapeno)
> fpu		: UltraSparc IIIi integrated FPU
> pmu		: ultra3i
> prom		: OBP 4.22.33 2007/06/18 12:45
> type		: sun4u
[...]

The code dump above has:

   0:	01 00 00 00 	nop 
   4:	82 20 00 08 	neg  %o0, %g1
   8:	92 3a 00 01 	xnor  %o0, %g1, %o1
   c:	81 c3 e0 08 	retl 
  10:	90 22 20 01 	dec  %o0
  14:	01 00 00 00 	nop 
  18:	83 2a 30 30 	sllx  %o0, 0x30, %g1
  1c:	85 32 30 10 	srlx  %o0, 0x10, %g2

Which looks like an incomplete replacement of the generic __ffs with the
code from popc_6insn_patch, but I suspect the critical 'popc'
instruction has been eaten somewhere along the way to email.

So anyway, this CPU doesn't implement popc and is wrongly being detected
as doing so.

Ben.

Attachment: signature.asc
Description: This is a digitally signed message part


Reply to: