1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2*4882a593Smuzhiyun /* 3*4882a593Smuzhiyun * Copyright (C) 2006 Atmark Techno, Inc. 4*4882a593Smuzhiyun * 5*4882a593Smuzhiyun * This file is subject to the terms and conditions of the GNU General Public 6*4882a593Smuzhiyun * License. See the file "COPYING" in the main directory of this archive 7*4882a593Smuzhiyun * for more details. 8*4882a593Smuzhiyun */ 9*4882a593Smuzhiyun 10*4882a593Smuzhiyun #ifndef _UAPI_ASM_MICROBLAZE_PTRACE_H 11*4882a593Smuzhiyun #define _UAPI_ASM_MICROBLAZE_PTRACE_H 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun #ifndef __ASSEMBLY__ 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun typedef unsigned long microblaze_reg_t; 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun struct pt_regs { 18*4882a593Smuzhiyun microblaze_reg_t r0; 19*4882a593Smuzhiyun microblaze_reg_t r1; 20*4882a593Smuzhiyun microblaze_reg_t r2; 21*4882a593Smuzhiyun microblaze_reg_t r3; 22*4882a593Smuzhiyun microblaze_reg_t r4; 23*4882a593Smuzhiyun microblaze_reg_t r5; 24*4882a593Smuzhiyun microblaze_reg_t r6; 25*4882a593Smuzhiyun microblaze_reg_t r7; 26*4882a593Smuzhiyun microblaze_reg_t r8; 27*4882a593Smuzhiyun microblaze_reg_t r9; 28*4882a593Smuzhiyun microblaze_reg_t r10; 29*4882a593Smuzhiyun microblaze_reg_t r11; 30*4882a593Smuzhiyun microblaze_reg_t r12; 31*4882a593Smuzhiyun microblaze_reg_t r13; 32*4882a593Smuzhiyun microblaze_reg_t r14; 33*4882a593Smuzhiyun microblaze_reg_t r15; 34*4882a593Smuzhiyun microblaze_reg_t r16; 35*4882a593Smuzhiyun microblaze_reg_t r17; 36*4882a593Smuzhiyun microblaze_reg_t r18; 37*4882a593Smuzhiyun microblaze_reg_t r19; 38*4882a593Smuzhiyun microblaze_reg_t r20; 39*4882a593Smuzhiyun microblaze_reg_t r21; 40*4882a593Smuzhiyun microblaze_reg_t r22; 41*4882a593Smuzhiyun microblaze_reg_t r23; 42*4882a593Smuzhiyun microblaze_reg_t r24; 43*4882a593Smuzhiyun microblaze_reg_t r25; 44*4882a593Smuzhiyun microblaze_reg_t r26; 45*4882a593Smuzhiyun microblaze_reg_t r27; 46*4882a593Smuzhiyun microblaze_reg_t r28; 47*4882a593Smuzhiyun microblaze_reg_t r29; 48*4882a593Smuzhiyun microblaze_reg_t r30; 49*4882a593Smuzhiyun microblaze_reg_t r31; 50*4882a593Smuzhiyun microblaze_reg_t pc; 51*4882a593Smuzhiyun microblaze_reg_t msr; 52*4882a593Smuzhiyun microblaze_reg_t ear; 53*4882a593Smuzhiyun microblaze_reg_t esr; 54*4882a593Smuzhiyun microblaze_reg_t fsr; 55*4882a593Smuzhiyun int pt_mode; 56*4882a593Smuzhiyun }; 57*4882a593Smuzhiyun 58*4882a593Smuzhiyun #ifndef __KERNEL__ 59*4882a593Smuzhiyun 60*4882a593Smuzhiyun /* pt_regs offsets used by gdbserver etc in ptrace syscalls */ 61*4882a593Smuzhiyun #define PT_GPR(n) ((n) * sizeof(microblaze_reg_t)) 62*4882a593Smuzhiyun #define PT_PC (32 * sizeof(microblaze_reg_t)) 63*4882a593Smuzhiyun #define PT_MSR (33 * sizeof(microblaze_reg_t)) 64*4882a593Smuzhiyun #define PT_EAR (34 * sizeof(microblaze_reg_t)) 65*4882a593Smuzhiyun #define PT_ESR (35 * sizeof(microblaze_reg_t)) 66*4882a593Smuzhiyun #define PT_FSR (36 * sizeof(microblaze_reg_t)) 67*4882a593Smuzhiyun #define PT_KERNEL_MODE (37 * sizeof(microblaze_reg_t)) 68*4882a593Smuzhiyun 69*4882a593Smuzhiyun #endif /* __KERNEL */ 70*4882a593Smuzhiyun 71*4882a593Smuzhiyun #endif /* __ASSEMBLY__ */ 72*4882a593Smuzhiyun 73*4882a593Smuzhiyun #endif /* _UAPI_ASM_MICROBLAZE_PTRACE_H */ 74