1 //===-- RegisterContextPOSIXCore_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 #ifndef liblldb_RegisterContextCorePOSIX_mips64_h_ 11 #define liblldb_RegisterContextCorePOSIX_mips64_h_ 12 13 #include "Plugins/Process/Utility/RegisterContextPOSIX_mips64.h" 14 #include "Plugins/Process/elf-core/RegisterUtilities.h" 15 #include "lldb/Utility/DataBufferHeap.h" 16 #include "lldb/Utility/DataExtractor.h" 17 18 class RegisterContextCorePOSIX_mips64 : public RegisterContextPOSIX_mips64 { 19 public: 20 RegisterContextCorePOSIX_mips64( 21 lldb_private::Thread &thread, 22 lldb_private::RegisterInfoInterface *register_info, 23 const lldb_private::DataExtractor &gpregset, 24 llvm::ArrayRef<lldb_private::CoreNote> notes); 25 26 ~RegisterContextCorePOSIX_mips64() override; 27 28 bool ReadRegister(const lldb_private::RegisterInfo *reg_info, 29 lldb_private::RegisterValue &value) override; 30 31 bool WriteRegister(const lldb_private::RegisterInfo *reg_info, 32 const lldb_private::RegisterValue &value) override; 33 34 bool ReadAllRegisterValues(lldb::DataBufferSP &data_sp) override; 35 36 bool WriteAllRegisterValues(const lldb::DataBufferSP &data_sp) override; 37 38 bool HardwareSingleStep(bool enable) override; 39 40 protected: 41 bool ReadGPR() override; 42 43 bool ReadFPR() override; 44 45 bool WriteGPR() override; 46 47 bool WriteFPR() override; 48 49 private: 50 lldb::DataBufferSP m_gpr_buffer; 51 lldb::DataBufferSP m_fpr_buffer; 52 lldb_private::DataExtractor m_gpr; 53 lldb_private::DataExtractor m_fpr; 54 }; 55 56 #endif // liblldb_RegisterContextCorePOSIX_mips64_h_ 57