summary refs log tree commit diff
path: root/include
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2008-02-07 04:36:02 -0800
committerDavid S. Miller <davem@davemloft.net>2008-02-07 04:36:02 -0800
commit5a4924d7be5df430132e109d3d2f26be610b4707 (patch)
treeaecba49d6f6d3f633ab14ecf8e08aa23b9393e35 /include
parent3389742f3c346d9ef5fb46e7baa04972bdd6d151 (diff)
downloadlinux-5a4924d7be5df430132e109d3d2f26be610b4707.tar.gz
[SPARC32]: Use regsets for ELF core dumping.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
-rw-r--r--include/asm-sparc/elf.h38
1 files changed, 8 insertions, 30 deletions
diff --git a/include/asm-sparc/elf.h b/include/asm-sparc/elf.h
index aaf6ef40ee2f..2f8ff3fa0957 100644
--- a/include/asm-sparc/elf.h
+++ b/include/asm-sparc/elf.h
@@ -65,8 +65,14 @@
 #define HWCAP_SPARC_V9		16
 #define HWCAP_SPARC_ULTRA3	32
 
-/* For the most part we present code dumps in the format
- * Solaris does.
+#define CORE_DUMP_USE_REGSET
+
+/* Format is:
+ * 	G0 --> G7
+ *	O0 --> O7
+ *	L0 --> L7
+ *	I0 --> I7
+ *	PSR, PC, nPC, Y, WIM, TBR
  */
 typedef unsigned long elf_greg_t;
 #define ELF_NGREG 38
@@ -87,34 +93,6 @@ typedef struct {
 
 #ifdef __KERNEL__
 #include <asm/mbus.h>
-#include <asm/uaccess.h>
-
-/* Format is:
- * 	G0 --> G7
- *	O0 --> O7
- *	L0 --> L7
- *	I0 --> I7
- *	PSR, PC, nPC, Y, WIM, TBR
- */
-#define ELF_CORE_COPY_REGS(__elf_regs, __pt_regs)	\
-do {	unsigned long *dest = &(__elf_regs[0]);		\
-	struct pt_regs *src = (__pt_regs);		\
-	unsigned long __user *sp;			\
-	memcpy(&dest[0], &src->u_regs[0],		\
-	       sizeof(unsigned long) * 16);		\
-	/* Don't try this at home kids... */		\
-	sp = (unsigned long __user *) src->u_regs[14];	\
-	copy_from_user(&dest[16], sp,			\
-		       sizeof(unsigned long) * 16);	\
-	dest[32] = src->psr;				\
-	dest[33] = src->pc;				\
-	dest[34] = src->npc;				\
-	dest[35] = src->y;				\
-	dest[36] = dest[37] = 0; /* XXX */		\
-} while(0); /* Janitors: Don't touch this semicolon. */
-
-#define ELF_CORE_COPY_TASK_REGS(__tsk, __elf_regs)	\
-	({ ELF_CORE_COPY_REGS((*(__elf_regs)), (__tsk)->thread.kregs); 1; })
 
 /*
  * This is used to ensure we don't load something for the wrong architecture.