1 //===-- RegisterContextLinux_mips.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 #ifndef liblldb_RegisterContextLinux_mips_H_
11 #define liblldb_RegisterContextLinux_mips_H_
12 
13 #include "RegisterInfoInterface.h"
14 #include "lldb/lldb-private.h"
15 
16 class RegisterContextLinux_mips : public lldb_private::RegisterInfoInterface {
17 public:
18   RegisterContextLinux_mips(const lldb_private::ArchSpec &target_arch,
19                             bool msa_present = true);
20 
21   size_t GetGPRSize() const override;
22 
23   const lldb_private::RegisterInfo *GetRegisterInfo() const override;
24 
25   const lldb_private::RegisterSet *GetRegisterSet(size_t set) const;
26 
27   size_t GetRegisterSetCount() const;
28 
29   uint32_t GetRegisterCount() const override;
30 
31   uint32_t GetUserRegisterCount() const override;
32 
33 private:
34   uint32_t m_user_register_count;
35 };
36 
37 #endif
38