cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

ptrace_offsets.h (6538B)


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