@@ -46,14 +46,17 @@ static inline void arch_kgdb_breakpoint(void)
#define NUMREGBYTES ((68 * 8) + (3 * 4))
#define NUMCRITREGBYTES 184
#else /* CONFIG_PPC32 */
-/* On non-E500 family PPC32 we determine the size by picking the last
- * register we need, but on E500 we skip sections so we list what we
- * need to store, and add it up. */
-#ifndef CONFIG_E500
-#define MAXREG (PT_FPSCR+1)
-#else
+/*
+ * On FreeScale e500v1 or e500v2 processors we need to skip some register
+ * sections, so just add up a list of what we need to store.
+ *
+ * On all other 32-bit PowerPC we can just pick the last needed register.
+ */
+#ifdef CONFIG_FSL_E500_V1_V2
/* 32 GPRs (8 bytes), nip, msr, ccr, link, ctr, xer, acc (8 bytes), spefscr*/
-#define MAXREG ((32*2)+6+2+1)
+#define MAXREG ((32*2)+6+2+1)
+#else
+#define MAXREG (PT_FPSCR+1)
#endif
#define NUMREGBYTES (MAXREG * sizeof(int))
/* CR/LR, R1, R2, R13-R31 inclusive. */
The only systems which need the sparse PowerPC register map are the e500v1/e500v2. NOTE: The kgdb code does not otherwise use CONFIG_E500, so this support is probably still buggy on e500v1/e500v2, but I don't know kgdb enough to fix it. Signed-off-by: Kyle Moffett <Kyle.D.Moffett@boeing.com> --- arch/powerpc/include/asm/kgdb.h | 17 ++++++++++------- 1 files changed, 10 insertions(+), 7 deletions(-)