Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6
[sfrench/cifs-2.6.git] / include / asm-sparc / elf.h
index 83a3dd15a6edffa502634290d3d3b4d910bf85de..d2516eed3a3890efb8bf4edc2172eb1ae3a4312e 100644 (file)
@@ -8,11 +8,6 @@
 
 #include <asm/ptrace.h>
 
-#ifdef __KERNEL__
-#include <asm/mbus.h>
-#include <asm/uaccess.h>
-#endif
-
 /*
  * Sparc section types
  */
 #define HWCAP_SPARC_V9         16
 #define HWCAP_SPARC_ULTRA3     32
 
-/* For the most part we present code dumps in the format
- * Solaris does.
- */
-typedef unsigned long elf_greg_t;
-#define ELF_NGREG 38
-typedef elf_greg_t elf_gregset_t[ELF_NGREG];
+#define CORE_DUMP_USE_REGSET
 
 /* Format is:
  *     G0 --> G7
@@ -84,22 +74,9 @@ typedef elf_greg_t elf_gregset_t[ELF_NGREG];
  *     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 colon. */
+typedef unsigned long elf_greg_t;
+#define ELF_NGREG 38
+typedef elf_greg_t elf_gregset_t[ELF_NGREG];
 
 typedef struct {
        union {
@@ -114,8 +91,7 @@ typedef struct {
        unsigned int    pr_q[64];
 } elf_fpregset_t;
 
-#define ELF_CORE_COPY_TASK_REGS(__tsk, __elf_regs)     \
-       ({ ELF_CORE_COPY_REGS((*(__elf_regs)), (__tsk)->thread.kregs); 1; })
+#include <asm/mbus.h>
 
 /*
  * This is used to ensure we don't load something for the wrong architecture.
@@ -165,8 +141,6 @@ typedef struct {
 
 #define ELF_PLATFORM   (NULL)
 
-#ifdef __KERNEL__
 #define SET_PERSONALITY(ex, ibcs2) set_personality((ibcs2)?PER_SVR4:PER_LINUX)
-#endif
 
 #endif /* !(__ASMSPARC_ELF_H) */