powerpc: merge ptrace.h
[linux-block.git] / include / asm-ppc64 / ppc32.h
index 6b44a8caf39564db93bce628b5eee68f859182cf..90e5627717911a6bdb80c761d71183a4d7ec61e6 100644 (file)
@@ -70,18 +70,18 @@ typedef struct compat_siginfo {
 #define __old_sigaction32      old_sigaction32
 
 struct __old_sigaction32 {
-       unsigned                sa_handler;
+       compat_uptr_t           sa_handler;
        compat_old_sigset_t     sa_mask;
        unsigned int            sa_flags;
-       unsigned                sa_restorer;     /* not used by Linux/SPARC yet */
+       compat_uptr_t           sa_restorer;     /* not used by Linux/SPARC yet */
 };
 
 
 
 struct sigaction32 {
-       unsigned int  sa_handler;       /* Really a pointer, but need to deal with 32 bits */
+       compat_uptr_t  sa_handler;      /* Really a pointer, but need to deal with 32 bits */
        unsigned int sa_flags;
-       unsigned int sa_restorer;       /* Another 32 bit pointer */
+       compat_uptr_t sa_restorer;      /* Another 32 bit pointer */
        compat_sigset_t sa_mask;                /* A 32 bit mask */
 };
 
@@ -91,12 +91,28 @@ typedef struct sigaltstack_32 {
        compat_size_t ss_size;
 } stack_32_t;
 
+struct pt_regs32 {
+       unsigned int gpr[32];
+       unsigned int nip;
+       unsigned int msr;
+       unsigned int orig_gpr3;         /* Used for restarting system calls */
+       unsigned int ctr;
+       unsigned int link;
+       unsigned int xer;
+       unsigned int ccr;
+       unsigned int mq;                /* 601 only (not used at present) */
+       unsigned int trap;              /* Reason for being here */
+       unsigned int dar;               /* Fault registers */
+       unsigned int dsisr;
+       unsigned int result;            /* Result of a system call */
+};
+
 struct sigcontext32 {
        unsigned int    _unused[4];
        int             signal;
-       unsigned int    handler;
+       compat_uptr_t   handler;
        unsigned int    oldmask;
-       u32 regs;  /* 4 byte pointer to the pt_regs32 structure. */
+       compat_uptr_t   regs;  /* 4 byte pointer to the pt_regs32 structure. */
 };
 
 struct mcontext32 {
@@ -111,7 +127,7 @@ struct ucontext32 {
        unsigned int            uc_link;
        stack_32_t              uc_stack;
        int                     uc_pad[7];
-       u32                     uc_regs;        /* points to uc_mcontext field */
+       compat_uptr_t           uc_regs;        /* points to uc_mcontext field */
        compat_sigset_t         uc_sigmask;     /* mask last for extensibility */
        /* glibc has 1024-bit signal masks, ours are 64-bit */
        int                     uc_maskext[30];