1*6f52b16cSGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 23ed8d115SDavid Howells #ifndef HEXAGON_ASM_USER_H 33ed8d115SDavid Howells #define HEXAGON_ASM_USER_H 43ed8d115SDavid Howells 53ed8d115SDavid Howells /* 63ed8d115SDavid Howells * Layout for registers passed in elf core dumps to userspace. 73ed8d115SDavid Howells * 83ed8d115SDavid Howells * Basically a rearranged subset of "pt_regs". 93ed8d115SDavid Howells * 103ed8d115SDavid Howells * Interested parties: libc, gdb... 113ed8d115SDavid Howells */ 123ed8d115SDavid Howells 133ed8d115SDavid Howells struct user_regs_struct { 143ed8d115SDavid Howells unsigned long r0; 153ed8d115SDavid Howells unsigned long r1; 163ed8d115SDavid Howells unsigned long r2; 173ed8d115SDavid Howells unsigned long r3; 183ed8d115SDavid Howells unsigned long r4; 193ed8d115SDavid Howells unsigned long r5; 203ed8d115SDavid Howells unsigned long r6; 213ed8d115SDavid Howells unsigned long r7; 223ed8d115SDavid Howells unsigned long r8; 233ed8d115SDavid Howells unsigned long r9; 243ed8d115SDavid Howells unsigned long r10; 253ed8d115SDavid Howells unsigned long r11; 263ed8d115SDavid Howells unsigned long r12; 273ed8d115SDavid Howells unsigned long r13; 283ed8d115SDavid Howells unsigned long r14; 293ed8d115SDavid Howells unsigned long r15; 303ed8d115SDavid Howells unsigned long r16; 313ed8d115SDavid Howells unsigned long r17; 323ed8d115SDavid Howells unsigned long r18; 333ed8d115SDavid Howells unsigned long r19; 343ed8d115SDavid Howells unsigned long r20; 353ed8d115SDavid Howells unsigned long r21; 363ed8d115SDavid Howells unsigned long r22; 373ed8d115SDavid Howells unsigned long r23; 383ed8d115SDavid Howells unsigned long r24; 393ed8d115SDavid Howells unsigned long r25; 403ed8d115SDavid Howells unsigned long r26; 413ed8d115SDavid Howells unsigned long r27; 423ed8d115SDavid Howells unsigned long r28; 433ed8d115SDavid Howells unsigned long r29; 443ed8d115SDavid Howells unsigned long r30; 453ed8d115SDavid Howells unsigned long r31; 463ed8d115SDavid Howells unsigned long sa0; 473ed8d115SDavid Howells unsigned long lc0; 483ed8d115SDavid Howells unsigned long sa1; 493ed8d115SDavid Howells unsigned long lc1; 503ed8d115SDavid Howells unsigned long m0; 513ed8d115SDavid Howells unsigned long m1; 523ed8d115SDavid Howells unsigned long usr; 533ed8d115SDavid Howells unsigned long p3_0; 543ed8d115SDavid Howells unsigned long gp; 553ed8d115SDavid Howells unsigned long ugp; 563ed8d115SDavid Howells unsigned long pc; 573ed8d115SDavid Howells unsigned long cause; 583ed8d115SDavid Howells unsigned long badva; 5960c4ba99SRichard Kuo #if CONFIG_HEXAGON_ARCH_VERSION < 4 603ed8d115SDavid Howells unsigned long pad1; /* pad out to 48 words total */ 613ed8d115SDavid Howells unsigned long pad2; /* pad out to 48 words total */ 623ed8d115SDavid Howells unsigned long pad3; /* pad out to 48 words total */ 6360c4ba99SRichard Kuo #else 6460c4ba99SRichard Kuo unsigned long cs0; 6560c4ba99SRichard Kuo unsigned long cs1; 6660c4ba99SRichard Kuo unsigned long pad1; /* pad out to 48 words total */ 6760c4ba99SRichard Kuo #endif 683ed8d115SDavid Howells }; 693ed8d115SDavid Howells 703ed8d115SDavid Howells #endif 71