ureg.h 905 B

12345678910111213141516171819202122232425262728293031323334353637
  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;
  12. uint32_t r1;
  13. uint32_t r2;
  14. uint32_t r3;
  15. uint32_t r4;
  16. uint32_t r5;
  17. uint32_t r6;
  18. uint32_t r7;
  19. uint32_t a0;
  20. uint32_t a1;
  21. uint32_t a2;
  22. uint32_t a3;
  23. uint32_t a4;
  24. uint32_t a5;
  25. uint32_t a6;
  26. uint32_t sp;
  27. uint32_t usp;
  28. uint32_t magic; /* for db to find bottom of ureg */
  29. ushort sr;
  30. uint32_t pc;
  31. ushort vo;
  32. #ifndef UREGVARSZ
  33. #define UREGVARSZ 23 /* for 68040; 15 is enough on 68020 */
  34. #endif
  35. uchar microstate[UREGVARSZ]; /* variable-sized portion */
  36. };