1
0

ureg.h 926 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. /*
  2. * This file is part of the Harvey operating system. It is subject to the
  3. * license terms of the GNU GPL v2 in LICENSE.gpl found in the top-level
  4. * directory of this distribution and at http://www.gnu.org/licenses/gpl-2.0.txt
  5. *
  6. * No part of Harvey operating system, including this file, may be copied,
  7. * modified, propagated, or distributed except according to the terms
  8. * contained in the LICENSE.gpl file.
  9. */
  10. typedef struct Ureg {
  11. u64 x0;
  12. u64 x1;
  13. u64 x2;
  14. u64 x3;
  15. u64 x4;
  16. u64 x5;
  17. u64 x6;
  18. u64 x7;
  19. u64 x8;
  20. u64 x9;
  21. u64 x10;
  22. u64 x11;
  23. u64 x12;
  24. u64 x13;
  25. u64 x14;
  26. u64 x15;
  27. union {
  28. u64 x16;
  29. u64 ip0;
  30. };
  31. union {
  32. u64 x17;
  33. u64 ip1;
  34. };
  35. u64 x18;
  36. u64 x19;
  37. u64 x20;
  38. u64 x21;
  39. u64 x22;
  40. u64 x23;
  41. u64 x24;
  42. u64 x25;
  43. u64 x26;
  44. u64 x27;
  45. u64 x28;
  46. union {
  47. u64 x29;
  48. u64 fp;
  49. };
  50. union {
  51. u64 x30;
  52. u64 lr;
  53. };
  54. u64 sp;
  55. u64 type; // of exception
  56. u64 psr;
  57. u64 pc; // interrupted addr
  58. } Ureg;