1 /*
2  * Copyright (c) 2010-2011, Code Aurora Forum. All rights reserved.
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License version 2 and
6  * only version 2 as published by the Free Software Foundation.
7  *
8  * This program is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11  * GNU General Public License for more details.
12  *
13  * You should have received a copy of the GNU General Public License
14  * along with this program; if not, write to the Free Software
15  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
16  * 02110-1301, USA.
17  */
18 
19 #ifndef HEXAGON_ASM_USER_H
20 #define HEXAGON_ASM_USER_H
21 
22 /*
23  * Layout for registers passed in elf core dumps to userspace.
24  *
25  * Basically a rearranged subset of "pt_regs".
26  *
27  * Interested parties:  libc, gdb...
28  */
29 
30 struct user_regs_struct {
31 	unsigned long r0;
32 	unsigned long r1;
33 	unsigned long r2;
34 	unsigned long r3;
35 	unsigned long r4;
36 	unsigned long r5;
37 	unsigned long r6;
38 	unsigned long r7;
39 	unsigned long r8;
40 	unsigned long r9;
41 	unsigned long r10;
42 	unsigned long r11;
43 	unsigned long r12;
44 	unsigned long r13;
45 	unsigned long r14;
46 	unsigned long r15;
47 	unsigned long r16;
48 	unsigned long r17;
49 	unsigned long r18;
50 	unsigned long r19;
51 	unsigned long r20;
52 	unsigned long r21;
53 	unsigned long r22;
54 	unsigned long r23;
55 	unsigned long r24;
56 	unsigned long r25;
57 	unsigned long r26;
58 	unsigned long r27;
59 	unsigned long r28;
60 	unsigned long r29;
61 	unsigned long r30;
62 	unsigned long r31;
63 	unsigned long sa0;
64 	unsigned long lc0;
65 	unsigned long sa1;
66 	unsigned long lc1;
67 	unsigned long m0;
68 	unsigned long m1;
69 	unsigned long usr;
70 	unsigned long p3_0;
71 	unsigned long gp;
72 	unsigned long ugp;
73 	unsigned long pc;
74 	unsigned long cause;
75 	unsigned long badva;
76 	unsigned long pad1;  /* pad out to 48 words total */
77 	unsigned long pad2;  /* pad out to 48 words total */
78 	unsigned long pad3;  /* pad out to 48 words total */
79 };
80 
81 #endif
82