[U-Boot-Users] MPC8xx boards broken by commit some weeks ago
Martin Krause
Martin.Krause at tqs.de
Tue Jul 17 13:32:18 CEST 2007
Hi Stefan,
Stefan Roese wrote on Tuesday, July 17, 2007 1:15 PM:
> Hi Martin,
>
> On Monday 16 July 2007, Martin Krause wrote:
> > support for - at least some - MPC8xx boards seems broken. To
> > prepare some new patches, I build a current U-Boot (top of tree)
> > for our TQM885D board. With this U-Boot, some time after relocation
> > to RAM the board hangs:
>
> <snip>
>
> > I tracked the problem down (git bisect is great!) to the commit
> > "ppc4xx: Clean up 440 exceptions handling" from Stefan Roese on 15
> > Jun 2007 (efa35cf12d914d4caba942acd5a6c45f217de302).
> >
> > More precisely to the following patch:
> >
> > --- a/include/ppc_asm.tmpl
> > +++ b/include/ppc_asm.tmpl
> > @@ -217,7 +217,7 @@
> > * We assume sprg3 has the physical address of the current
> > * task's thread_struct.
> > */
> > -#define EXCEPTION_PROLOG \
> > +#define EXCEPTION_PROLOG(reg1, reg2) \
> > mtspr SPRG0,r20; \
> > mtspr SPRG1,r21; \
> > mfcr r20; \
> > @@ -235,8 +235,10 @@
> > stw r22,_CTR(r21); \
> > mfspr r20,XER; \
> > stw r20,_XER(r21); \
> > - mfspr r22,SRR0; \
> > - mfspr r23,SRR1; \
> > + mfspr r20,DEAR; \ <--
> > + stw r20,_DAR(r21); \ <--
>
> We are currently working on a fix for this. Sorry for the
Great! I tried to figure out what's going on myself, but get
stuck because I'm no ppc assembler expert. It seems, that the
"DEAR" special purpose register is not available on the MPC885D
(and other MPC8xx processors?)?
Best regards,
Martin Krause
Development
Tel. +49 8153 93 08-157, Fax +49 8153 93 08-7157
mailto:martin.krause at tqs.de
TQ-Systems GmbH
Muehlstrasse 2, Gut Delling, D-82229 Seefeld
Amtsgericht Muenchen, HRB 105 018, UST-IdNr. DE 811 607 913
Geschaeftsfuehrer: Dipl.-Ing. (FH) Detlef Schneider, Dipl.-Ing. (FH) Ruediger Stahl
http://www.tq-group.com
More information about the U-Boot
mailing list