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
12namespace lldb_private {
13// LLDB register codes (e.g. RegisterKind == eRegisterKindLLDB)
14
15// Internal codes for all s390x registers.
16enum {
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