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.
signature.asc
Description: This is a digitally signed message part