ureg.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. /*
  2. * This file is part of the UCB release of Plan 9. It is subject to the license
  3. * terms in the LICENSE file found in the top-level directory of this
  4. * distribution and at http://akaros.cs.berkeley.edu/files/Plan9License. No
  5. * part of the UCB release of Plan 9, including this file, may be copied,
  6. * modified, propagated, or distributed except according to the terms contained
  7. * in the LICENSE file.
  8. */
  9. struct Ureg
  10. {
  11. /* 0*/ u64int cause; /* trap or interrupt vector */
  12. /* 8*/ u64int msr; /* SRR1 */
  13. /* 16*/ u64int pc; /* SRR0 */
  14. /* 24*/ u64int unused;
  15. /* 32*/ u64int lr;
  16. /* 36*/ u32int pad;
  17. /* 40*/ u32int cr;
  18. /* 48*/ u64int xer;
  19. /* 56*/ u64int ctr;
  20. /* 64*/ u64int r0;
  21. /* 72*/ union{ u64int r1; u64int sp; u64int usp; };
  22. /* 80*/ u64int r2;
  23. /* 88*/ u64int r3;
  24. /* 96*/ u64int r4;
  25. /*104*/ u64int r5;
  26. /*112*/ u64int r6;
  27. /*120*/ u64int r7;
  28. /*128*/ u64int r8;
  29. /*136*/ u64int r9;
  30. /*144*/ u64int r10;
  31. /*152*/ u64int r11;
  32. /*160*/ u64int r12;
  33. /*168*/ u64int r13;
  34. /*176*/ u64int r14;
  35. /*184*/ u64int r15;
  36. /*192*/ u64int r16;
  37. /*200*/ u64int r17;
  38. /*208*/ u64int r18;
  39. /*216*/ u64int r19;
  40. /*224*/ u64int r20;
  41. /*232*/ u64int r21;
  42. /*240*/ u64int r22;
  43. /*248*/ u64int r23;
  44. /*256*/ u64int r24;
  45. /*264*/ u64int r25;
  46. /*272*/ u64int r26;
  47. /*280*/ u64int r27;
  48. /*288*/ u64int r28;
  49. /*296*/ u64int r29;
  50. /*304*/ u64int r30;
  51. /*312*/ u64int r31;
  52. };