1 /* 2 * Copyright (C) 2006 Atmark Techno, Inc. 3 * 4 * This file is subject to the terms and conditions of the GNU General Public 5 * License. See the file "COPYING" in the main directory of this archive 6 * for more details. 7 */ 8 9 #ifndef _ASM_MICROBLAZE_PTRACE_H 10 #define _ASM_MICROBLAZE_PTRACE_H 11 12 #ifndef __ASSEMBLY__ 13 #include <linux/types.h> 14 15 typedef unsigned long microblaze_reg_t; 16 17 struct pt_regs { 18 microblaze_reg_t r0; 19 microblaze_reg_t r1; 20 microblaze_reg_t r2; 21 microblaze_reg_t r3; 22 microblaze_reg_t r4; 23 microblaze_reg_t r5; 24 microblaze_reg_t r6; 25 microblaze_reg_t r7; 26 microblaze_reg_t r8; 27 microblaze_reg_t r9; 28 microblaze_reg_t r10; 29 microblaze_reg_t r11; 30 microblaze_reg_t r12; 31 microblaze_reg_t r13; 32 microblaze_reg_t r14; 33 microblaze_reg_t r15; 34 microblaze_reg_t r16; 35 microblaze_reg_t r17; 36 microblaze_reg_t r18; 37 microblaze_reg_t r19; 38 microblaze_reg_t r20; 39 microblaze_reg_t r21; 40 microblaze_reg_t r22; 41 microblaze_reg_t r23; 42 microblaze_reg_t r24; 43 microblaze_reg_t r25; 44 microblaze_reg_t r26; 45 microblaze_reg_t r27; 46 microblaze_reg_t r28; 47 microblaze_reg_t r29; 48 microblaze_reg_t r30; 49 microblaze_reg_t r31; 50 microblaze_reg_t pc; 51 microblaze_reg_t msr; 52 microblaze_reg_t ear; 53 microblaze_reg_t esr; 54 microblaze_reg_t fsr; 55 int pt_mode; 56 }; 57 58 #define kernel_mode(regs) ((regs)->pt_mode) 59 #define user_mode(regs) (!kernel_mode(regs)) 60 61 #define instruction_pointer(regs) ((regs)->pc) 62 #define profile_pc(regs) instruction_pointer(regs) 63 64 void show_regs(struct pt_regs *); 65 66 #endif /* __ASSEMBLY__ */ 67 68 #endif /* _ASM_MICROBLAZE_PTRACE_H */ 69