ureg.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  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. uint32_t r0; /* unnecessary; just for symmetry */
  12. union{
  13. uint32_t sp; /* r1 */
  14. uint32_t usp; /* r1 */
  15. uint32_t r1;
  16. };
  17. uint32_t r2;
  18. uint32_t r3;
  19. uint32_t r4;
  20. uint32_t r5;
  21. uint32_t r6;
  22. uint32_t r7;
  23. uint32_t r8;
  24. uint32_t r9;
  25. uint32_t r10;
  26. uint32_t r11;
  27. uint32_t r12;
  28. uint32_t r13;
  29. uint32_t r14;
  30. uint32_t r15;
  31. uint32_t r16;
  32. uint32_t r17;
  33. uint32_t r18;
  34. uint32_t r19;
  35. uint32_t r20;
  36. uint32_t r21;
  37. uint32_t r22;
  38. uint32_t r23;
  39. uint32_t r24;
  40. uint32_t r25;
  41. uint32_t r26;
  42. uint32_t r27;
  43. uint32_t r28;
  44. uint32_t r29;
  45. uint32_t r30;
  46. uint32_t r31;
  47. uint32_t y;
  48. uint32_t tbr;
  49. uint32_t psr;
  50. uint32_t npc;
  51. uint32_t pc;
  52. uint32_t pad; /* so structure is double word aligned */
  53. };