linux-2.6.9-rc* ppc64 broken on UNI?

Linas Vepstas linas at austin.ibm.com
Wed Sep 15 03:15:11 EST 2004


On Tue, Sep 14, 2004 at 11:56:27AM +0500, Ananth N Mavinakayanahalli was heard to remark:
> Hi,
> 
> I am using linux-2.6.9-rc* on an old Power3 box here and looks like
> the tree is broken for UNI (SMP works fine). I am not too familiar
> with the fpu stuff to figure out the issue myself. 

the fault is in arch/ppc64/kernel/head.S ...

I don't have disassembly for  copy_to_here+0xb0, 
but I'm guessing its a null pointer deref in 

  /* Disable FP for last_task_used_math */
   ld r5,PT_REGS(r4)
   ld r4,_MSR-STACK_FRAME_OVERHEAD(r5)

That is, PT_REGS(r4) is zero.  I assume r4 is a valid value, 
but you should check that it is.
You need to figure out why PT_REGS(r4) wasn't set at
some earlier time.  This happens somewhere in switch_to, I think.

I'm guessing this affects power4 and 5 as well; it looks generic 
to me.

Make sure that asm-offsets.c is new and up-to-date, 
and not old.

--linas

> I get the following exception:
> 
> The system is going down for reboot NOW!INIT: Sending pVector: 300 (Data Access) at [c00000003f617bb0]
>     pc: c00000000000b8b0: copy_to_here+0xb0/0x16c
>     lr: 00000000100419dc
>     sp: c00000003f617e30
>    msr: a000000000003032
>    dar: 108
>  dsisr: 40000000
>   current = 0xc000000001b3d900
>   paca    = 0xc000000000320000
>     pid   = 1298, comm = bash
> enter ? for help
> mon> r
> R00 = 00000000100419dc   R16 = 0000000080000000
> R01 = c00000003f617e30   R17 = 0000000010010000
> R02 = c0000000004273b0   R18 = 0000000000000000
> R03 = c000000000428e68   R19 = 00000000ffffee5c
> R04 = c00000000ff81c60   R20 = 0000000010020000
> R05 = 0000000000000000   R21 = 00000000ffff67b0
> R06 = 00000000616e6400   R22 = 0000000010010000
> R07 = fffffffffefefeff   R23 = 00000000000055d0
> R08 = 000000007f7f7f7f   R24 = 0000000000000001
> R09 = 0000000000000801   R25 = 0000000000000001
> R10 = 0000000000000000   R26 = 00000000f800fa98
> R11 = 7265677368657265   R27 = 00000000f800fa9c
> R12 = 200000000000d032   R28 = 000000001008e930
> R13 = c000000000320000   R29 = 000000001008e930
> R14 = 0000000000000000   R30 = 0000000000000001
> R15 = 0000000010020000   R31 = 0000000000000001
> pc  = c00000000000b8b0 copy_to_here+0xb0/0x16c
> lr  = 00000000100419dc
> msr = a000000000003032   cr  = 88000422
> ctr = 0000000110049db0   xer = 0000000020000000   trap =      300
> mon> s
> Vector: 300 (Data Access) at [c00000003f617bb0]
>     pc: c00000000000b8b0: copy_to_here+0xb0/0x16c
>     lr: 00000000100419dc
>     sp: c00000003f617e30
>    msr: a000000000003432
>    dar: 108
>  dsisr: 40000000
>   current = 0xc000000001b3d900
>   paca    = 0xc000000000320000
>     pid   = 1298, comm = bash
> enter ? for help
> mon> zr
> 
> Has anyone seen a similar problem? Any ideas?
> 
> Thanks,
> Ananth
> _______________________________________________
> Linuxppc64-dev mailing list
> Linuxppc64-dev at ozlabs.org
> https://ozlabs.org/cgi-bin/mailman/listinfo/linuxppc64-dev
> 



More information about the Linuxppc64-dev mailing list