ureg.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #ifndef __UREG_H
  2. #define __UREG_H
  3. #if !defined(_PLAN9_SOURCE)
  4. This header file is an extension to ANSI/POSIX
  5. #endif
  6. struct Ureg
  7. {
  8. unsigned long long status;
  9. unsigned long long pc;
  10. union{
  11. unsigned long long sp; /* r29 */
  12. unsigned long long usp; /* r29 */
  13. };
  14. unsigned long long cause;
  15. unsigned long long badvaddr;
  16. unsigned long long tlbvirt;
  17. unsigned long long hi;
  18. unsigned long long lo;
  19. unsigned long long r31;
  20. unsigned long long r30;
  21. unsigned long long r28;
  22. unsigned long long r27; /* unused */
  23. unsigned long long r26; /* unused */
  24. unsigned long long r25;
  25. unsigned long long r24;
  26. unsigned long long r23;
  27. unsigned long long r22;
  28. unsigned long long r21;
  29. unsigned long long r20;
  30. unsigned long long r19;
  31. unsigned long long r18;
  32. unsigned long long r17;
  33. unsigned long long r16;
  34. unsigned long long r15;
  35. unsigned long long r14;
  36. unsigned long long r13;
  37. unsigned long long r12;
  38. unsigned long long r11;
  39. unsigned long long r10;
  40. unsigned long long r9;
  41. unsigned long long r8;
  42. unsigned long long r7;
  43. unsigned long long r6;
  44. unsigned long long r5;
  45. unsigned long long r4;
  46. unsigned long long r3;
  47. unsigned long long r2;
  48. unsigned long long r1;
  49. };
  50. #endif