/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ #ifndef HEXAGON_ASM_USER_H #define HEXAGON_ASM_USER_H /* * Layout for registers passed in elf core dumps to userspace. * * Basically a rearranged subset of "pt_regs". * * Interested parties: libc, gdb... */ struct user_regs_struct { unsigned long r0; unsigned long r1; unsigned long r2; unsigned long r3; unsigned long r4; unsigned long r5; unsigned long r6; unsigned long r7; unsigned long r8; unsigned long r9; unsigned long r10; unsigned long r11; unsigned long r12; unsigned long r13; unsigned long r14; unsigned long r15; unsigned long r16; unsigned long r17; unsigned long r18; unsigned long r19; unsigned long r20; unsigned long r21; unsigned long r22; unsigned long r23; unsigned long r24; unsigned long r25; unsigned long r26; unsigned long r27; unsigned long r28; unsigned long r29; unsigned long r30; unsigned long r31; unsigned long sa0; unsigned long lc0; unsigned long sa1; unsigned long lc1; unsigned long m0; unsigned long m1; unsigned long usr; unsigned long p3_0; unsigned long gp; unsigned long ugp; unsigned long pc; unsigned long cause; unsigned long badva; #if [31mCONFIG_HEXAGON_ARCH_VERSION[0m < 4 unsigned long pad1; /* pad out to 48 words total */ unsigned long pad2; /* pad out to 48 words total */ unsigned long pad3; /* pad out to 48 words total */ #else unsigned long cs0; unsigned long cs1; unsigned long pad1; /* pad out to 48 words total */ #endif }; #endif |