user.h 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #ifndef __ASM_CRIS_ARCH_USER_H
  2. #define __ASM_CRIS_ARCH_USER_H
  3. /* User mode registers, used for core dumps. In order to keep ELF_NGREG
  4. sensible we let all registers be 32 bits. The csr registers are included
  5. for future use. */
  6. struct user_regs_struct {
  7. unsigned long r0; /* General registers. */
  8. unsigned long r1;
  9. unsigned long r2;
  10. unsigned long r3;
  11. unsigned long r4;
  12. unsigned long r5;
  13. unsigned long r6;
  14. unsigned long r7;
  15. unsigned long r8;
  16. unsigned long r9;
  17. unsigned long r10;
  18. unsigned long r11;
  19. unsigned long r12;
  20. unsigned long r13;
  21. unsigned long sp; /* Stack pointer. */
  22. unsigned long pc; /* Program counter. */
  23. unsigned long p0; /* Constant zero (only 8 bits). */
  24. unsigned long vr; /* Version register (only 8 bits). */
  25. unsigned long p2; /* Reserved. */
  26. unsigned long p3; /* Reserved. */
  27. unsigned long p4; /* Constant zero (only 16 bits). */
  28. unsigned long ccr; /* Condition code register (only 16 bits). */
  29. unsigned long p6; /* Reserved. */
  30. unsigned long mof; /* Multiply overflow register. */
  31. unsigned long p8; /* Constant zero. */
  32. unsigned long ibr; /* Not accessible. */
  33. unsigned long irp; /* Not accessible. */
  34. unsigned long srp; /* Subroutine return pointer. */
  35. unsigned long bar; /* Not accessible. */
  36. unsigned long dccr; /* Dword condition code register. */
  37. unsigned long brp; /* Not accessible. */
  38. unsigned long usp; /* User-mode stack pointer. Same as sp when
  39. in user mode. */
  40. unsigned long csrinstr; /* Internal status registers. */
  41. unsigned long csraddr;
  42. unsigned long csrdata;
  43. };
  44. #endif