Arm64 Fix Rtl*Context (#25745)
[platform/upstream/coreclr.git] / src / pal / src / arch / arm64 / asmconstants.h
1 // Licensed to the .NET Foundation under one or more agreements.
2 // The .NET Foundation licenses this file to you under the MIT license.
3 // See the LICENSE file in the project root for more information.
4
5 #ifndef __PAL_ARM64_ASMCONSTANTS_H__
6 #define __PAL_ARM64_ASMCONSTANTS_H__
7
8 #define CONTEXT_ARM64   0x00400000L
9
10 #define CONTEXT_CONTROL_BIT (0)
11 #define CONTEXT_INTEGER_BIT (1)
12 #define CONTEXT_FLOATING_POINT_BIT (2)
13 #define CONTEXT_DEBUG_REGISTERS_BIT (3)
14
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
20 #define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_FLOATING_POINT)
21
22
23 #define CONTEXT_ContextFlags 0
24 #define CONTEXT_Cpsr         CONTEXT_ContextFlags+4
25 #define CONTEXT_X0           CONTEXT_Cpsr+4
26 #define CONTEXT_X1           CONTEXT_X0+8
27 #define CONTEXT_X2           CONTEXT_X1+8
28 #define CONTEXT_X3           CONTEXT_X2+8
29 #define CONTEXT_X4           CONTEXT_X3+8
30 #define CONTEXT_X5           CONTEXT_X4+8
31 #define CONTEXT_X6           CONTEXT_X5+8
32 #define CONTEXT_X7           CONTEXT_X6+8
33 #define CONTEXT_X8           CONTEXT_X7+8
34 #define CONTEXT_X9           CONTEXT_X8+8
35 #define CONTEXT_X10          CONTEXT_X9+8
36 #define CONTEXT_X11          CONTEXT_X10+8
37 #define CONTEXT_X12          CONTEXT_X11+8
38 #define CONTEXT_X13          CONTEXT_X12+8
39 #define CONTEXT_X14          CONTEXT_X13+8
40 #define CONTEXT_X15          CONTEXT_X14+8
41 #define CONTEXT_X16          CONTEXT_X15+8
42 #define CONTEXT_X17          CONTEXT_X16+8
43 #define CONTEXT_X18          CONTEXT_X17+8
44 #define CONTEXT_X19          CONTEXT_X18+8
45 #define CONTEXT_X20          CONTEXT_X19+8
46 #define CONTEXT_X21          CONTEXT_X20+8
47 #define CONTEXT_X22          CONTEXT_X21+8
48 #define CONTEXT_X23          CONTEXT_X22+8
49 #define CONTEXT_X24          CONTEXT_X23+8
50 #define CONTEXT_X25          CONTEXT_X24+8
51 #define CONTEXT_X26          CONTEXT_X25+8
52 #define CONTEXT_X27          CONTEXT_X26+8
53 #define CONTEXT_X28          CONTEXT_X27+8
54 #define CONTEXT_Fp           CONTEXT_X28+8
55 #define CONTEXT_Lr           CONTEXT_Fp+8
56 #define CONTEXT_Sp           CONTEXT_Lr+8
57 #define CONTEXT_Pc           CONTEXT_Sp+8
58 #define CONTEXT_NEON_OFFSET  CONTEXT_Pc+8
59 #define CONTEXT_V0           0
60 #define CONTEXT_V1           CONTEXT_V0+16
61 #define CONTEXT_V2           CONTEXT_V1+16
62 #define CONTEXT_V3           CONTEXT_V2+16
63 #define CONTEXT_V4           CONTEXT_V3+16
64 #define CONTEXT_V5           CONTEXT_V4+16
65 #define CONTEXT_V6           CONTEXT_V5+16
66 #define CONTEXT_V7           CONTEXT_V6+16
67 #define CONTEXT_V8           CONTEXT_V7+16
68 #define CONTEXT_V9           CONTEXT_V8+16
69 #define CONTEXT_V10          CONTEXT_V9+16
70 #define CONTEXT_V11          CONTEXT_V10+16
71 #define CONTEXT_V12          CONTEXT_V11+16
72 #define CONTEXT_V13          CONTEXT_V12+16
73 #define CONTEXT_V14          CONTEXT_V13+16
74 #define CONTEXT_V15          CONTEXT_V14+16
75 #define CONTEXT_V16          CONTEXT_V15+16
76 #define CONTEXT_V17          CONTEXT_V16+16
77 #define CONTEXT_V18          CONTEXT_V17+16
78 #define CONTEXT_V19          CONTEXT_V18+16
79 #define CONTEXT_V20          CONTEXT_V19+16
80 #define CONTEXT_V21          CONTEXT_V20+16
81 #define CONTEXT_V22          CONTEXT_V21+16
82 #define CONTEXT_V23          CONTEXT_V22+16
83 #define CONTEXT_V24          CONTEXT_V23+16
84 #define CONTEXT_V25          CONTEXT_V24+16
85 #define CONTEXT_V26          CONTEXT_V25+16
86 #define CONTEXT_V27          CONTEXT_V26+16
87 #define CONTEXT_V28          CONTEXT_V27+16
88 #define CONTEXT_V29          CONTEXT_V28+16
89 #define CONTEXT_V30          CONTEXT_V29+16
90 #define CONTEXT_V31          CONTEXT_V30+16
91 #define CONTEXT_FLOAT_CONTROL_OFFSET  CONTEXT_V31+16
92 #define CONTEXT_Fpcr         0
93 #define CONTEXT_Fpsr         CONTEXT_Fpcr+8
94
95 #endif