RegisterContextPOSIXCore_mips64.h revision 263363
1//===-- RegisterContextCorePOSIX_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/POSIX/RegisterContextPOSIX_mips64.h" 14 15class RegisterContextCorePOSIX_mips64 : 16 public RegisterContextPOSIX_mips64 17{ 18public: 19 RegisterContextCorePOSIX_mips64 (lldb_private::Thread &thread, 20 RegisterInfoInterface *register_info, 21 const lldb_private::DataExtractor &gpregset, 22 const lldb_private::DataExtractor &fpregset); 23 24 ~RegisterContextCorePOSIX_mips64(); 25 26 virtual bool 27 ReadRegister(const lldb_private::RegisterInfo *reg_info, lldb_private::RegisterValue &value); 28 29 virtual bool 30 WriteRegister(const lldb_private::RegisterInfo *reg_info, const lldb_private::RegisterValue &value); 31 32 bool 33 ReadAllRegisterValues(lldb::DataBufferSP &data_sp); 34 35 bool 36 WriteAllRegisterValues(const lldb::DataBufferSP &data_sp); 37 38 bool 39 HardwareSingleStep(bool enable); 40 41protected: 42 bool 43 ReadGPR(); 44 45 bool 46 ReadFPR(); 47 48 bool 49 WriteGPR(); 50 51 bool 52 WriteFPR(); 53 54private: 55 uint64_t m_reg[40]; 56}; 57 58#endif // #ifndef liblldb_RegisterContextCorePOSIX_mips64_H_ 59