1 //===-- lldb-s390x-register-enums.h -----------------------------*- C++ -*-===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 
9 #ifndef LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_LLDB_S390X_REGISTER_ENUMS_H
10 #define LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_LLDB_S390X_REGISTER_ENUMS_H
11 
12 namespace lldb_private {
13 // LLDB register codes (e.g. RegisterKind == eRegisterKindLLDB)
14 
15 // Internal codes for all s390x registers.
16 enum {
17   k_first_gpr_s390x,
18   lldb_r0_s390x = k_first_gpr_s390x,
19   lldb_r1_s390x,
20   lldb_r2_s390x,
21   lldb_r3_s390x,
22   lldb_r4_s390x,
23   lldb_r5_s390x,
24   lldb_r6_s390x,
25   lldb_r7_s390x,
26   lldb_r8_s390x,
27   lldb_r9_s390x,
28   lldb_r10_s390x,
29   lldb_r11_s390x,
30   lldb_r12_s390x,
31   lldb_r13_s390x,
32   lldb_r14_s390x,
33   lldb_r15_s390x,
34   lldb_acr0_s390x,
35   lldb_acr1_s390x,
36   lldb_acr2_s390x,
37   lldb_acr3_s390x,
38   lldb_acr4_s390x,
39   lldb_acr5_s390x,
40   lldb_acr6_s390x,
41   lldb_acr7_s390x,
42   lldb_acr8_s390x,
43   lldb_acr9_s390x,
44   lldb_acr10_s390x,
45   lldb_acr11_s390x,
46   lldb_acr12_s390x,
47   lldb_acr13_s390x,
48   lldb_acr14_s390x,
49   lldb_acr15_s390x,
50   lldb_pswm_s390x,
51   lldb_pswa_s390x,
52   k_last_gpr_s390x = lldb_pswa_s390x,
53 
54   k_first_fpr_s390x,
55   lldb_f0_s390x = k_first_fpr_s390x,
56   lldb_f1_s390x,
57   lldb_f2_s390x,
58   lldb_f3_s390x,
59   lldb_f4_s390x,
60   lldb_f5_s390x,
61   lldb_f6_s390x,
62   lldb_f7_s390x,
63   lldb_f8_s390x,
64   lldb_f9_s390x,
65   lldb_f10_s390x,
66   lldb_f11_s390x,
67   lldb_f12_s390x,
68   lldb_f13_s390x,
69   lldb_f14_s390x,
70   lldb_f15_s390x,
71   lldb_fpc_s390x,
72   k_last_fpr_s390x = lldb_fpc_s390x,
73 
74   // These are only available on Linux.
75   k_first_linux_s390x,
76   lldb_orig_r2_s390x = k_first_linux_s390x,
77   lldb_last_break_s390x,
78   lldb_system_call_s390x,
79   k_last_linux_s390x = lldb_system_call_s390x,
80 
81   k_num_registers_s390x,
82   k_num_gpr_registers_s390x = k_last_gpr_s390x - k_first_gpr_s390x + 1,
83   k_num_fpr_registers_s390x = k_last_fpr_s390x - k_first_fpr_s390x + 1,
84   k_num_linux_registers_s390x = k_last_linux_s390x - k_first_linux_s390x + 1,
85   k_num_user_registers_s390x =
86       k_num_gpr_registers_s390x + k_num_fpr_registers_s390x,
87 };
88 }
89 
90 #endif // LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_LLDB_S390X_REGISTER_ENUMS_H
91