1061da546Spatrick //===-- RegisterContextLinux_s390x.h ----------------------------*- C++ -*-===// 2061da546Spatrick // 3061da546Spatrick // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4061da546Spatrick // See https://llvm.org/LICENSE.txt for license information. 5061da546Spatrick // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6061da546Spatrick // 7061da546Spatrick //===----------------------------------------------------------------------===// 8061da546Spatrick 9*dda28197Spatrick #ifndef LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_REGISTERCONTEXTLINUX_S390X_H 10*dda28197Spatrick #define LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_REGISTERCONTEXTLINUX_S390X_H 11061da546Spatrick 12061da546Spatrick #include "RegisterInfoInterface.h" 13061da546Spatrick 14061da546Spatrick class RegisterContextLinux_s390x : public lldb_private::RegisterInfoInterface { 15061da546Spatrick public: 16061da546Spatrick RegisterContextLinux_s390x(const lldb_private::ArchSpec &target_arch); 17061da546Spatrick 18061da546Spatrick size_t GetGPRSize() const override; 19061da546Spatrick 20061da546Spatrick const lldb_private::RegisterInfo *GetRegisterInfo() const override; 21061da546Spatrick 22061da546Spatrick uint32_t GetRegisterCount() const override; 23061da546Spatrick 24061da546Spatrick uint32_t GetUserRegisterCount() const override; 25061da546Spatrick 26061da546Spatrick const std::vector<lldb_private::RegisterInfo> * 27061da546Spatrick GetDynamicRegisterInfoP() const override; 28061da546Spatrick 29061da546Spatrick private: 30061da546Spatrick const lldb_private::RegisterInfo *m_register_info_p; 31061da546Spatrick uint32_t m_register_info_count; 32061da546Spatrick uint32_t m_user_register_count; 33061da546Spatrick std::vector<lldb_private::RegisterInfo> d_register_infos; 34061da546Spatrick }; 35061da546Spatrick 36061da546Spatrick #endif 37