unsigned int pr_q[64];
} elf_fpregset_t;
-#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.