[PATCH] force 64bit mode in system_reset_fwnmi for broken POWER4 firmware

Paul Mackerras paulus at samba.org
Fri May 26 21:30:05 EST 2006


Olaf Hering writes:

> According to this change for EXCEPTION_PROLOG_COMMON, I get still into
> decremeter_common, but its not fatal anymore because the cpu is now in
> 64bit mode and the stack is forced to PACAKSAVE(r13).
> 
>         subi    r1,r1,INT_FRAME_SIZE;   /* alloc frame on kernel stack  */ \
>         beq-    1f;                                                        \
>         ld      r1,PACAKSAVE(r13);      /* kernel stack to use          */ \
> -1:     cmpdi   cr1,r1,0;               /* check if r1 is in userspace  */ \
> +1:                                     \
> +       cmpdi   cr1,r29,0x42;           \

Ummm, what's r29 supposed to have in it here?

> +       bne     cr1,2f;                 \
> +       li      r29,2f at l;               \

And why are we setting it?

Does it look like the SRR0 and SRR1 values are correct when we get
this problem occurring?  Is it just the MSR that is bogus?

Paul.



More information about the Linuxppc-dev mailing list