
Martin Krause wrote:
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?)?
Hi Martin,
Could you please test with the attached patch? This switches to using DAR on all PPC variants that do not really have DEAR.
kind reagards, Rafal
diff --git a/include/asm-ppc/processor.h b/include/asm-ppc/processor.h index 9780fe1..4898dd4 100644 --- a/include/asm-ppc/processor.h +++ b/include/asm-ppc/processor.h @@ -628,6 +628,12 @@ #define MAS6 SPRN_MAS6 #define MAS7 SPRN_MAS7
+#if defined(CONFIG_4xx) || defined(CONFIG_44x) || defined(CONFIG_MPC85xx) +#define DAR_DEAR DEAR +#else +#define DAR_DEAR DAR +#endif + /* Device Control Registers */
#define DCRN_BEAR 0x090 /* Bus Error Address Register */ diff --git a/include/ppc_asm.tmpl b/include/ppc_asm.tmpl index 9f4029f..ac8f317 100644 --- a/include/ppc_asm.tmpl +++ b/include/ppc_asm.tmpl @@ -235,7 +235,7 @@ stw r22,_CTR(r21); \ mfspr r20,XER; \ stw r20,_XER(r21); \ - mfspr r20,DEAR; \ + mfspr r20, DAR_DEAR; \ stw r20,_DAR(r21); \ mfspr r22,reg1; \ mfspr r23,reg2; \