asmconstants.h 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. //-------------------------------------------------------------------------------------------------------
  2. // ChakraCore/Pal
  3. // Contains portions (c) copyright Microsoft, portions copyright (c) the .NET Foundation and Contributors
  4. // and edits (c) copyright the ChakraCore Contributors.
  5. // See THIRD-PARTY-NOTICES.txt in the project root for .NET Foundation license
  6. // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
  7. //-------------------------------------------------------------------------------------------------------
  8. #ifndef __PAL_ARM64_ASMCONSTANTS_H__
  9. #define __PAL_ARM64_ASMCONSTANTS_H__
  10. #define CONTEXT_ARM64 0x00400000L
  11. #define CONTEXT_CONTROL_BIT (0)
  12. #define CONTEXT_INTEGER_BIT (1)
  13. #define CONTEXT_FLOATING_POINT_BIT (2)
  14. #define CONTEXT_DEBUG_REGISTERS_BIT (3)
  15. #define CONTEXT_CONTROL (CONTEXT_ARM64 | (1L << CONTEXT_CONTROL_BIT))
  16. #define CONTEXT_INTEGER (CONTEXT_ARM64 | (1 << CONTEXT_INTEGER_BIT))
  17. #define CONTEXT_FLOATING_POINT (CONTEXT_ARM64 | (1 << CONTEXT_FLOATING_POINT_BIT))
  18. #define CONTEXT_DEBUG_REGISTERS (CONTEXT_ARM64 | (1 << CONTEXT_DEBUG_REGISTERS_BIT))
  19. #define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_FLOATING_POINT)
  20. #define CONTEXT_ContextFlags 0
  21. #define CONTEXT_Cpsr CONTEXT_ContextFlags+4
  22. #define CONTEXT_X0 CONTEXT_Cpsr+4
  23. #define CONTEXT_X1 CONTEXT_X0+8
  24. #define CONTEXT_X2 CONTEXT_X1+8
  25. #define CONTEXT_X3 CONTEXT_X2+8
  26. #define CONTEXT_X4 CONTEXT_X3+8
  27. #define CONTEXT_X5 CONTEXT_X4+8
  28. #define CONTEXT_X6 CONTEXT_X5+8
  29. #define CONTEXT_X7 CONTEXT_X6+8
  30. #define CONTEXT_X8 CONTEXT_X7+8
  31. #define CONTEXT_X9 CONTEXT_X8+8
  32. #define CONTEXT_X10 CONTEXT_X9+8
  33. #define CONTEXT_X11 CONTEXT_X10+8
  34. #define CONTEXT_X12 CONTEXT_X11+8
  35. #define CONTEXT_X13 CONTEXT_X12+8
  36. #define CONTEXT_X14 CONTEXT_X13+8
  37. #define CONTEXT_X15 CONTEXT_X14+8
  38. #define CONTEXT_X16 CONTEXT_X15+8
  39. #define CONTEXT_X17 CONTEXT_X16+8
  40. #define CONTEXT_X18 CONTEXT_X17+8
  41. #define CONTEXT_X19 CONTEXT_X18+8
  42. #define CONTEXT_X20 CONTEXT_X19+8
  43. #define CONTEXT_X21 CONTEXT_X20+8
  44. #define CONTEXT_X22 CONTEXT_X21+8
  45. #define CONTEXT_X23 CONTEXT_X22+8
  46. #define CONTEXT_X24 CONTEXT_X23+8
  47. #define CONTEXT_X25 CONTEXT_X24+8
  48. #define CONTEXT_X26 CONTEXT_X25+8
  49. #define CONTEXT_X27 CONTEXT_X26+8
  50. #define CONTEXT_X28 CONTEXT_X27+8
  51. #define CONTEXT_Fp CONTEXT_X28+8
  52. #define CONTEXT_Lr CONTEXT_Fp+8
  53. #define CONTEXT_Sp CONTEXT_Lr+8
  54. #define CONTEXT_Pc CONTEXT_Sp+8
  55. #define CONTEXT_NEON_OFFSET CONTEXT_Pc+8
  56. #define CONTEXT_V0 0
  57. #define CONTEXT_V1 CONTEXT_V0+16
  58. #define CONTEXT_V2 CONTEXT_V1+16
  59. #define CONTEXT_V3 CONTEXT_V2+16
  60. #define CONTEXT_V4 CONTEXT_V3+16
  61. #define CONTEXT_V5 CONTEXT_V4+16
  62. #define CONTEXT_V6 CONTEXT_V5+16
  63. #define CONTEXT_V7 CONTEXT_V6+16
  64. #define CONTEXT_V8 CONTEXT_V7+16
  65. #define CONTEXT_V9 CONTEXT_V8+16
  66. #define CONTEXT_V10 CONTEXT_V9+16
  67. #define CONTEXT_V11 CONTEXT_V10+16
  68. #define CONTEXT_V12 CONTEXT_V11+16
  69. #define CONTEXT_V13 CONTEXT_V12+16
  70. #define CONTEXT_V14 CONTEXT_V13+16
  71. #define CONTEXT_V15 CONTEXT_V14+16
  72. #define CONTEXT_V16 CONTEXT_V15+16
  73. #define CONTEXT_V17 CONTEXT_V16+16
  74. #define CONTEXT_V18 CONTEXT_V17+16
  75. #define CONTEXT_V19 CONTEXT_V18+16
  76. #define CONTEXT_V20 CONTEXT_V19+16
  77. #define CONTEXT_V21 CONTEXT_V20+16
  78. #define CONTEXT_V22 CONTEXT_V21+16
  79. #define CONTEXT_V23 CONTEXT_V22+16
  80. #define CONTEXT_V24 CONTEXT_V23+16
  81. #define CONTEXT_V25 CONTEXT_V24+16
  82. #define CONTEXT_V26 CONTEXT_V25+16
  83. #define CONTEXT_V27 CONTEXT_V26+16
  84. #define CONTEXT_V28 CONTEXT_V27+16
  85. #define CONTEXT_V29 CONTEXT_V28+16
  86. #define CONTEXT_V30 CONTEXT_V29+16
  87. #define CONTEXT_V31 CONTEXT_V30+16
  88. #define CONTEXT_FLOAT_CONTROL_OFFSET CONTEXT_V31+16
  89. #define CONTEXT_Fpcr 0
  90. #define CONTEXT_Fpsr CONTEXT_Fpcr+8
  91. #define CONTEXT_Size ((CONTEXT_NEON_OFFSET + CONTEXT_Fpsr + 8 + 0xf) & ~0xf)
  92. #endif