1 #ifndef HEXAGON_ASM_USER_H 2 #define HEXAGON_ASM_USER_H 3 4 /* 5 * Layout for registers passed in elf core dumps to userspace. 6 * 7 * Basically a rearranged subset of "pt_regs". 8 * 9 * Interested parties: libc, gdb... 10 */ 11 12 struct user_regs_struct { 13 unsigned long r0; 14 unsigned long r1; 15 unsigned long r2; 16 unsigned long r3; 17 unsigned long r4; 18 unsigned long r5; 19 unsigned long r6; 20 unsigned long r7; 21 unsigned long r8; 22 unsigned long r9; 23 unsigned long r10; 24 unsigned long r11; 25 unsigned long r12; 26 unsigned long r13; 27 unsigned long r14; 28 unsigned long r15; 29 unsigned long r16; 30 unsigned long r17; 31 unsigned long r18; 32 unsigned long r19; 33 unsigned long r20; 34 unsigned long r21; 35 unsigned long r22; 36 unsigned long r23; 37 unsigned long r24; 38 unsigned long r25; 39 unsigned long r26; 40 unsigned long r27; 41 unsigned long r28; 42 unsigned long r29; 43 unsigned long r30; 44 unsigned long r31; 45 unsigned long sa0; 46 unsigned long lc0; 47 unsigned long sa1; 48 unsigned long lc1; 49 unsigned long m0; 50 unsigned long m1; 51 unsigned long usr; 52 unsigned long p3_0; 53 unsigned long gp; 54 unsigned long ugp; 55 unsigned long pc; 56 unsigned long cause; 57 unsigned long badva; 58 #if CONFIG_HEXAGON_ARCH_VERSION < 4 59 unsigned long pad1; /* pad out to 48 words total */ 60 unsigned long pad2; /* pad out to 48 words total */ 61 unsigned long pad3; /* pad out to 48 words total */ 62 #else 63 unsigned long cs0; 64 unsigned long cs1; 65 unsigned long pad1; /* pad out to 48 words total */ 66 #endif 67 }; 68 69 #endif 70