ureg.h 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  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*/ uint32_t cause;
  12. /* 4*/ union { uint32_t srr1; uint32_t status;};
  13. /* 8*/ uint32_t pc; /* SRR0 */
  14. /* 12*/ uint32_t pad;
  15. /* 16*/ uint32_t lr;
  16. /* 20*/ uint32_t cr;
  17. /* 24*/ uint32_t xer;
  18. /* 28*/ uint32_t ctr;
  19. /* 32*/ uint32_t r0;
  20. /* 36*/ union{ uint32_t r1; uint32_t sp; uint32_t usp; };
  21. /* 40*/ uint32_t r2;
  22. /* 44*/ uint32_t r3;
  23. /* 48*/ uint32_t r4;
  24. /* 52*/ uint32_t r5;
  25. /* 56*/ uint32_t r6;
  26. /* 60*/ uint32_t r7;
  27. /* 64*/ uint32_t r8;
  28. /* 68*/ uint32_t r9;
  29. /* 72*/ uint32_t r10;
  30. /* 76*/ uint32_t r11;
  31. /* 80*/ uint32_t r12;
  32. /* 84*/ uint32_t r13;
  33. /* 88*/ uint32_t r14;
  34. /* 92*/ uint32_t r15;
  35. /* 96*/ uint32_t r16;
  36. /*100*/ uint32_t r17;
  37. /*104*/ uint32_t r18;
  38. /*108*/ uint32_t r19;
  39. /*112*/ uint32_t r20;
  40. /*116*/ uint32_t r21;
  41. /*120*/ uint32_t r22;
  42. /*124*/ uint32_t r23;
  43. /*128*/ uint32_t r24;
  44. /*132*/ uint32_t r25;
  45. /*136*/ uint32_t r26;
  46. /*140*/ uint32_t r27;
  47. /*144*/ uint32_t r28;
  48. /*148*/ uint32_t r29;
  49. /*152*/ uint32_t r30;
  50. /*156*/ uint32_t r31;
  51. /*160*/ uint32_t dcmp;
  52. /*164*/ uint32_t icmp;
  53. /*168*/ uint32_t dmiss;
  54. /*172*/ uint32_t imiss;
  55. /*176*/ uint32_t hash1;
  56. /*180*/ uint32_t hash2;
  57. /*184*/ uint32_t dar;
  58. /*188*/ uint32_t dsisr;
  59. };