1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2*4882a593Smuzhiyun #ifndef _ASM_IA64_PTRACE_OFFSETS_H 3*4882a593Smuzhiyun #define _ASM_IA64_PTRACE_OFFSETS_H 4*4882a593Smuzhiyun 5*4882a593Smuzhiyun /* 6*4882a593Smuzhiyun * Copyright (C) 1999, 2003 Hewlett-Packard Co 7*4882a593Smuzhiyun * David Mosberger-Tang <davidm@hpl.hp.com> 8*4882a593Smuzhiyun */ 9*4882a593Smuzhiyun /* 10*4882a593Smuzhiyun * The "uarea" that can be accessed via PEEKUSER and POKEUSER is a 11*4882a593Smuzhiyun * virtual structure that would have the following definition: 12*4882a593Smuzhiyun * 13*4882a593Smuzhiyun * struct uarea { 14*4882a593Smuzhiyun * struct ia64_fpreg fph[96]; // f32-f127 15*4882a593Smuzhiyun * unsigned long nat_bits; 16*4882a593Smuzhiyun * unsigned long empty1; 17*4882a593Smuzhiyun * struct ia64_fpreg f2; // f2-f5 18*4882a593Smuzhiyun * : 19*4882a593Smuzhiyun * struct ia64_fpreg f5; 20*4882a593Smuzhiyun * struct ia64_fpreg f10; // f10-f31 21*4882a593Smuzhiyun * : 22*4882a593Smuzhiyun * struct ia64_fpreg f31; 23*4882a593Smuzhiyun * unsigned long r4; // r4-r7 24*4882a593Smuzhiyun * : 25*4882a593Smuzhiyun * unsigned long r7; 26*4882a593Smuzhiyun * unsigned long b1; // b1-b5 27*4882a593Smuzhiyun * : 28*4882a593Smuzhiyun * unsigned long b5; 29*4882a593Smuzhiyun * unsigned long ar_ec; 30*4882a593Smuzhiyun * unsigned long ar_lc; 31*4882a593Smuzhiyun * unsigned long empty2[5]; 32*4882a593Smuzhiyun * unsigned long cr_ipsr; 33*4882a593Smuzhiyun * unsigned long cr_iip; 34*4882a593Smuzhiyun * unsigned long cfm; 35*4882a593Smuzhiyun * unsigned long ar_unat; 36*4882a593Smuzhiyun * unsigned long ar_pfs; 37*4882a593Smuzhiyun * unsigned long ar_rsc; 38*4882a593Smuzhiyun * unsigned long ar_rnat; 39*4882a593Smuzhiyun * unsigned long ar_bspstore; 40*4882a593Smuzhiyun * unsigned long pr; 41*4882a593Smuzhiyun * unsigned long b6; 42*4882a593Smuzhiyun * unsigned long ar_bsp; 43*4882a593Smuzhiyun * unsigned long r1; 44*4882a593Smuzhiyun * unsigned long r2; 45*4882a593Smuzhiyun * unsigned long r3; 46*4882a593Smuzhiyun * unsigned long r12; 47*4882a593Smuzhiyun * unsigned long r13; 48*4882a593Smuzhiyun * unsigned long r14; 49*4882a593Smuzhiyun * unsigned long r15; 50*4882a593Smuzhiyun * unsigned long r8; 51*4882a593Smuzhiyun * unsigned long r9; 52*4882a593Smuzhiyun * unsigned long r10; 53*4882a593Smuzhiyun * unsigned long r11; 54*4882a593Smuzhiyun * unsigned long r16; 55*4882a593Smuzhiyun * : 56*4882a593Smuzhiyun * unsigned long r31; 57*4882a593Smuzhiyun * unsigned long ar_ccv; 58*4882a593Smuzhiyun * unsigned long ar_fpsr; 59*4882a593Smuzhiyun * unsigned long b0; 60*4882a593Smuzhiyun * unsigned long b7; 61*4882a593Smuzhiyun * unsigned long f6; 62*4882a593Smuzhiyun * unsigned long f7; 63*4882a593Smuzhiyun * unsigned long f8; 64*4882a593Smuzhiyun * unsigned long f9; 65*4882a593Smuzhiyun * unsigned long ar_csd; 66*4882a593Smuzhiyun * unsigned long ar_ssd; 67*4882a593Smuzhiyun * unsigned long rsvd1[710]; 68*4882a593Smuzhiyun * unsigned long dbr[8]; 69*4882a593Smuzhiyun * unsigned long rsvd2[504]; 70*4882a593Smuzhiyun * unsigned long ibr[8]; 71*4882a593Smuzhiyun * unsigned long rsvd3[504]; 72*4882a593Smuzhiyun * unsigned long pmd[4]; 73*4882a593Smuzhiyun * } 74*4882a593Smuzhiyun */ 75*4882a593Smuzhiyun 76*4882a593Smuzhiyun /* fph: */ 77*4882a593Smuzhiyun #define PT_F32 0x0000 78*4882a593Smuzhiyun #define PT_F33 0x0010 79*4882a593Smuzhiyun #define PT_F34 0x0020 80*4882a593Smuzhiyun #define PT_F35 0x0030 81*4882a593Smuzhiyun #define PT_F36 0x0040 82*4882a593Smuzhiyun #define PT_F37 0x0050 83*4882a593Smuzhiyun #define PT_F38 0x0060 84*4882a593Smuzhiyun #define PT_F39 0x0070 85*4882a593Smuzhiyun #define PT_F40 0x0080 86*4882a593Smuzhiyun #define PT_F41 0x0090 87*4882a593Smuzhiyun #define PT_F42 0x00a0 88*4882a593Smuzhiyun #define PT_F43 0x00b0 89*4882a593Smuzhiyun #define PT_F44 0x00c0 90*4882a593Smuzhiyun #define PT_F45 0x00d0 91*4882a593Smuzhiyun #define PT_F46 0x00e0 92*4882a593Smuzhiyun #define PT_F47 0x00f0 93*4882a593Smuzhiyun #define PT_F48 0x0100 94*4882a593Smuzhiyun #define PT_F49 0x0110 95*4882a593Smuzhiyun #define PT_F50 0x0120 96*4882a593Smuzhiyun #define PT_F51 0x0130 97*4882a593Smuzhiyun #define PT_F52 0x0140 98*4882a593Smuzhiyun #define PT_F53 0x0150 99*4882a593Smuzhiyun #define PT_F54 0x0160 100*4882a593Smuzhiyun #define PT_F55 0x0170 101*4882a593Smuzhiyun #define PT_F56 0x0180 102*4882a593Smuzhiyun #define PT_F57 0x0190 103*4882a593Smuzhiyun #define PT_F58 0x01a0 104*4882a593Smuzhiyun #define PT_F59 0x01b0 105*4882a593Smuzhiyun #define PT_F60 0x01c0 106*4882a593Smuzhiyun #define PT_F61 0x01d0 107*4882a593Smuzhiyun #define PT_F62 0x01e0 108*4882a593Smuzhiyun #define PT_F63 0x01f0 109*4882a593Smuzhiyun #define PT_F64 0x0200 110*4882a593Smuzhiyun #define PT_F65 0x0210 111*4882a593Smuzhiyun #define PT_F66 0x0220 112*4882a593Smuzhiyun #define PT_F67 0x0230 113*4882a593Smuzhiyun #define PT_F68 0x0240 114*4882a593Smuzhiyun #define PT_F69 0x0250 115*4882a593Smuzhiyun #define PT_F70 0x0260 116*4882a593Smuzhiyun #define PT_F71 0x0270 117*4882a593Smuzhiyun #define PT_F72 0x0280 118*4882a593Smuzhiyun #define PT_F73 0x0290 119*4882a593Smuzhiyun #define PT_F74 0x02a0 120*4882a593Smuzhiyun #define PT_F75 0x02b0 121*4882a593Smuzhiyun #define PT_F76 0x02c0 122*4882a593Smuzhiyun #define PT_F77 0x02d0 123*4882a593Smuzhiyun #define PT_F78 0x02e0 124*4882a593Smuzhiyun #define PT_F79 0x02f0 125*4882a593Smuzhiyun #define PT_F80 0x0300 126*4882a593Smuzhiyun #define PT_F81 0x0310 127*4882a593Smuzhiyun #define PT_F82 0x0320 128*4882a593Smuzhiyun #define PT_F83 0x0330 129*4882a593Smuzhiyun #define PT_F84 0x0340 130*4882a593Smuzhiyun #define PT_F85 0x0350 131*4882a593Smuzhiyun #define PT_F86 0x0360 132*4882a593Smuzhiyun #define PT_F87 0x0370 133*4882a593Smuzhiyun #define PT_F88 0x0380 134*4882a593Smuzhiyun #define PT_F89 0x0390 135*4882a593Smuzhiyun #define PT_F90 0x03a0 136*4882a593Smuzhiyun #define PT_F91 0x03b0 137*4882a593Smuzhiyun #define PT_F92 0x03c0 138*4882a593Smuzhiyun #define PT_F93 0x03d0 139*4882a593Smuzhiyun #define PT_F94 0x03e0 140*4882a593Smuzhiyun #define PT_F95 0x03f0 141*4882a593Smuzhiyun #define PT_F96 0x0400 142*4882a593Smuzhiyun #define PT_F97 0x0410 143*4882a593Smuzhiyun #define PT_F98 0x0420 144*4882a593Smuzhiyun #define PT_F99 0x0430 145*4882a593Smuzhiyun #define PT_F100 0x0440 146*4882a593Smuzhiyun #define PT_F101 0x0450 147*4882a593Smuzhiyun #define PT_F102 0x0460 148*4882a593Smuzhiyun #define PT_F103 0x0470 149*4882a593Smuzhiyun #define PT_F104 0x0480 150*4882a593Smuzhiyun #define PT_F105 0x0490 151*4882a593Smuzhiyun #define PT_F106 0x04a0 152*4882a593Smuzhiyun #define PT_F107 0x04b0 153*4882a593Smuzhiyun #define PT_F108 0x04c0 154*4882a593Smuzhiyun #define PT_F109 0x04d0 155*4882a593Smuzhiyun #define PT_F110 0x04e0 156*4882a593Smuzhiyun #define PT_F111 0x04f0 157*4882a593Smuzhiyun #define PT_F112 0x0500 158*4882a593Smuzhiyun #define PT_F113 0x0510 159*4882a593Smuzhiyun #define PT_F114 0x0520 160*4882a593Smuzhiyun #define PT_F115 0x0530 161*4882a593Smuzhiyun #define PT_F116 0x0540 162*4882a593Smuzhiyun #define PT_F117 0x0550 163*4882a593Smuzhiyun #define PT_F118 0x0560 164*4882a593Smuzhiyun #define PT_F119 0x0570 165*4882a593Smuzhiyun #define PT_F120 0x0580 166*4882a593Smuzhiyun #define PT_F121 0x0590 167*4882a593Smuzhiyun #define PT_F122 0x05a0 168*4882a593Smuzhiyun #define PT_F123 0x05b0 169*4882a593Smuzhiyun #define PT_F124 0x05c0 170*4882a593Smuzhiyun #define PT_F125 0x05d0 171*4882a593Smuzhiyun #define PT_F126 0x05e0 172*4882a593Smuzhiyun #define PT_F127 0x05f0 173*4882a593Smuzhiyun 174*4882a593Smuzhiyun #define PT_NAT_BITS 0x0600 175*4882a593Smuzhiyun 176*4882a593Smuzhiyun #define PT_F2 0x0610 177*4882a593Smuzhiyun #define PT_F3 0x0620 178*4882a593Smuzhiyun #define PT_F4 0x0630 179*4882a593Smuzhiyun #define PT_F5 0x0640 180*4882a593Smuzhiyun #define PT_F10 0x0650 181*4882a593Smuzhiyun #define PT_F11 0x0660 182*4882a593Smuzhiyun #define PT_F12 0x0670 183*4882a593Smuzhiyun #define PT_F13 0x0680 184*4882a593Smuzhiyun #define PT_F14 0x0690 185*4882a593Smuzhiyun #define PT_F15 0x06a0 186*4882a593Smuzhiyun #define PT_F16 0x06b0 187*4882a593Smuzhiyun #define PT_F17 0x06c0 188*4882a593Smuzhiyun #define PT_F18 0x06d0 189*4882a593Smuzhiyun #define PT_F19 0x06e0 190*4882a593Smuzhiyun #define PT_F20 0x06f0 191*4882a593Smuzhiyun #define PT_F21 0x0700 192*4882a593Smuzhiyun #define PT_F22 0x0710 193*4882a593Smuzhiyun #define PT_F23 0x0720 194*4882a593Smuzhiyun #define PT_F24 0x0730 195*4882a593Smuzhiyun #define PT_F25 0x0740 196*4882a593Smuzhiyun #define PT_F26 0x0750 197*4882a593Smuzhiyun #define PT_F27 0x0760 198*4882a593Smuzhiyun #define PT_F28 0x0770 199*4882a593Smuzhiyun #define PT_F29 0x0780 200*4882a593Smuzhiyun #define PT_F30 0x0790 201*4882a593Smuzhiyun #define PT_F31 0x07a0 202*4882a593Smuzhiyun #define PT_R4 0x07b0 203*4882a593Smuzhiyun #define PT_R5 0x07b8 204*4882a593Smuzhiyun #define PT_R6 0x07c0 205*4882a593Smuzhiyun #define PT_R7 0x07c8 206*4882a593Smuzhiyun 207*4882a593Smuzhiyun #define PT_B1 0x07d8 208*4882a593Smuzhiyun #define PT_B2 0x07e0 209*4882a593Smuzhiyun #define PT_B3 0x07e8 210*4882a593Smuzhiyun #define PT_B4 0x07f0 211*4882a593Smuzhiyun #define PT_B5 0x07f8 212*4882a593Smuzhiyun 213*4882a593Smuzhiyun #define PT_AR_EC 0x0800 214*4882a593Smuzhiyun #define PT_AR_LC 0x0808 215*4882a593Smuzhiyun 216*4882a593Smuzhiyun #define PT_CR_IPSR 0x0830 217*4882a593Smuzhiyun #define PT_CR_IIP 0x0838 218*4882a593Smuzhiyun #define PT_CFM 0x0840 219*4882a593Smuzhiyun #define PT_AR_UNAT 0x0848 220*4882a593Smuzhiyun #define PT_AR_PFS 0x0850 221*4882a593Smuzhiyun #define PT_AR_RSC 0x0858 222*4882a593Smuzhiyun #define PT_AR_RNAT 0x0860 223*4882a593Smuzhiyun #define PT_AR_BSPSTORE 0x0868 224*4882a593Smuzhiyun #define PT_PR 0x0870 225*4882a593Smuzhiyun #define PT_B6 0x0878 226*4882a593Smuzhiyun #define PT_AR_BSP 0x0880 /* note: this points to the *end* of the backing store! */ 227*4882a593Smuzhiyun #define PT_R1 0x0888 228*4882a593Smuzhiyun #define PT_R2 0x0890 229*4882a593Smuzhiyun #define PT_R3 0x0898 230*4882a593Smuzhiyun #define PT_R12 0x08a0 231*4882a593Smuzhiyun #define PT_R13 0x08a8 232*4882a593Smuzhiyun #define PT_R14 0x08b0 233*4882a593Smuzhiyun #define PT_R15 0x08b8 234*4882a593Smuzhiyun #define PT_R8 0x08c0 235*4882a593Smuzhiyun #define PT_R9 0x08c8 236*4882a593Smuzhiyun #define PT_R10 0x08d0 237*4882a593Smuzhiyun #define PT_R11 0x08d8 238*4882a593Smuzhiyun #define PT_R16 0x08e0 239*4882a593Smuzhiyun #define PT_R17 0x08e8 240*4882a593Smuzhiyun #define PT_R18 0x08f0 241*4882a593Smuzhiyun #define PT_R19 0x08f8 242*4882a593Smuzhiyun #define PT_R20 0x0900 243*4882a593Smuzhiyun #define PT_R21 0x0908 244*4882a593Smuzhiyun #define PT_R22 0x0910 245*4882a593Smuzhiyun #define PT_R23 0x0918 246*4882a593Smuzhiyun #define PT_R24 0x0920 247*4882a593Smuzhiyun #define PT_R25 0x0928 248*4882a593Smuzhiyun #define PT_R26 0x0930 249*4882a593Smuzhiyun #define PT_R27 0x0938 250*4882a593Smuzhiyun #define PT_R28 0x0940 251*4882a593Smuzhiyun #define PT_R29 0x0948 252*4882a593Smuzhiyun #define PT_R30 0x0950 253*4882a593Smuzhiyun #define PT_R31 0x0958 254*4882a593Smuzhiyun #define PT_AR_CCV 0x0960 255*4882a593Smuzhiyun #define PT_AR_FPSR 0x0968 256*4882a593Smuzhiyun #define PT_B0 0x0970 257*4882a593Smuzhiyun #define PT_B7 0x0978 258*4882a593Smuzhiyun #define PT_F6 0x0980 259*4882a593Smuzhiyun #define PT_F7 0x0990 260*4882a593Smuzhiyun #define PT_F8 0x09a0 261*4882a593Smuzhiyun #define PT_F9 0x09b0 262*4882a593Smuzhiyun #define PT_AR_CSD 0x09c0 263*4882a593Smuzhiyun #define PT_AR_SSD 0x09c8 264*4882a593Smuzhiyun 265*4882a593Smuzhiyun #define PT_DBR 0x2000 /* data breakpoint registers */ 266*4882a593Smuzhiyun #define PT_IBR 0x3000 /* instruction breakpoint registers */ 267*4882a593Smuzhiyun #define PT_PMD 0x4000 /* performance monitoring counters */ 268*4882a593Smuzhiyun 269*4882a593Smuzhiyun #endif /* _ASM_IA64_PTRACE_OFFSETS_H */ 270