1 //===-- RegisterContextLinux_mips64.h ---------------------------*- C++ -*-===//
2 //
3 //                     The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9 
10 #if defined (__mips__)
11 
12 #ifndef liblldb_RegisterContextLinux_mips64_H_
13 #define liblldb_RegisterContextLinux_mips64_H_
14 
15 #include "lldb/lldb-private.h"
16 #include "RegisterInfoInterface.h"
17 
18 class RegisterContextLinux_mips64
19     : public lldb_private::RegisterInfoInterface
20 {
21 public:
22     RegisterContextLinux_mips64(const lldb_private::ArchSpec &target_arch, bool msa_present = true);
23 
24     size_t
25     GetGPRSize() const override;
26 
27     const lldb_private::RegisterInfo *
28     GetRegisterInfo() const override;
29 
30     uint32_t
31     GetRegisterCount () const override;
32 
33     uint32_t
34     GetUserRegisterCount () const override;
35 
36 private:
37     const lldb_private::RegisterInfo *m_register_info_p;
38     uint32_t m_register_info_count;
39     uint32_t m_user_register_count;
40 };
41 
42 #endif
43 
44 #endif
45