]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - include/asm-xtensa/ptrace.h
Linux 2.6.28-rc2
[linux-2.6-omap-h63xx.git] / include / asm-xtensa / ptrace.h
index 77ff02d307bba119141aacfa733d51f01c137168..089b0db44816f30242a1c6b1db18e1da651855b1 100644 (file)
 
 /* Registers used by strace */
 
-#define REG_A_BASE     0xfc000000
-#define REG_AR_BASE    0x04000000
-#define REG_PC         0x14000000
-#define REG_PS         0x080000e6
-#define REG_WB         0x08000048
-#define REG_WS         0x08000049
-#define REG_LBEG       0x08000000
-#define REG_LEND       0x08000001
-#define REG_LCOUNT     0x08000002
-#define REG_SAR                0x08000003
-#define REG_DEPC       0x080000c0
-#define        REG_EXCCAUSE    0x080000e8
-#define REG_EXCVADDR   0x080000ee
-#define SYSCALL_NR     0x1
-
-#define AR_REGNO_TO_A_REGNO(ar, wb) (ar - wb*4) & ~(XCHAL_NUM_AREGS - 1)
+#define REG_A_BASE     0x0000
+#define REG_AR_BASE    0x0100
+#define REG_PC         0x0020
+#define REG_PS         0x02e6
+#define REG_WB         0x0248
+#define REG_WS         0x0249
+#define REG_LBEG       0x0200
+#define REG_LEND       0x0201
+#define REG_LCOUNT     0x0202
+#define REG_SAR                0x0203
+
+#define SYSCALL_NR     0x00ff
 
 /* Other PTRACE_ values defined in <linux/ptrace.h> using values 0-9,16,17,24 */
 
-#define PTRACE_GETREGS            12
-#define PTRACE_SETREGS            13
-#define PTRACE_GETFPREGS          14
-#define PTRACE_SETFPREGS          15
-#define PTRACE_GETFPREGSIZE       18
+#define PTRACE_GETREGS         12
+#define PTRACE_SETREGS         13
+#define PTRACE_GETXTREGS       18
+#define PTRACE_SETXTREGS       19
+
+#ifdef __KERNEL__
 
 #ifndef __ASSEMBLY__
 
@@ -102,6 +99,9 @@ struct pt_regs {
        unsigned long icountlevel;      /*  60 */
        int reserved[1];                /*  64 */
 
+       /* Additional configurable registers that are used by the compiler. */
+       xtregs_opt_t xtregs_opt;
+
        /* Make sure the areg field is 16 bytes aligned. */
        int align[0] __attribute__ ((aligned(16)));
 
@@ -111,8 +111,6 @@ struct pt_regs {
        unsigned long areg[16];         /* 128 (64) */
 };
 
-#ifdef __KERNEL__
-
 #include <asm/variant/core.h>
 
 # define task_pt_regs(tsk) ((struct pt_regs*) \
@@ -124,14 +122,14 @@ extern void show_regs(struct pt_regs *);
 # ifndef CONFIG_SMP
 #  define profile_pc(regs) instruction_pointer(regs)
 # endif
-#endif /* __KERNEL__ */
 
 #else  /* __ASSEMBLY__ */
 
-#ifdef __KERNEL__
 # include <asm/asm-offsets.h>
 #define PT_REGS_OFFSET   (KERNEL_STACK_SIZE - PT_USER_SIZE)
-#endif
 
 #endif /* !__ASSEMBLY__ */
+
+#endif  /* __KERNEL__ */
+
 #endif /* _XTENSA_PTRACE_H */