1 //===-- RegisterContextLinux_s390x.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_s390x_h_ 11 #define liblldb_RegisterContextLinux_s390x_h_ 12 13 #include "RegisterInfoInterface.h" 14 15 class RegisterContextLinux_s390x : public lldb_private::RegisterInfoInterface 16 { 17 public: 18 RegisterContextLinux_s390x(const lldb_private::ArchSpec &target_arch); 19 20 size_t 21 GetGPRSize() const override; 22 23 const lldb_private::RegisterInfo * 24 GetRegisterInfo() const override; 25 26 uint32_t 27 GetRegisterCount() const override; 28 29 uint32_t 30 GetUserRegisterCount() const override; 31 32 const std::vector<lldb_private::RegisterInfo> * 33 GetDynamicRegisterInfoP() const override; 34 35 private: 36 const lldb_private::RegisterInfo *m_register_info_p; 37 uint32_t m_register_info_count; 38 uint32_t m_user_register_count; 39 std::vector<lldb_private::RegisterInfo> d_register_infos; 40 }; 41 42 #endif 43