1314564Sdim//===-- RegisterContextPOSIXCore_mips64.h -----------------------*- C++ -*-===// 2257752Semaste// 3353358Sdim// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4353358Sdim// See https://llvm.org/LICENSE.txt for license information. 5353358Sdim// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6257752Semaste// 7296417Sdim//===----------------------------------------------------------------------===// 8257752Semaste 9296417Sdim#ifndef liblldb_RegisterContextCorePOSIX_mips64_h_ 10296417Sdim#define liblldb_RegisterContextCorePOSIX_mips64_h_ 11257752Semaste 12314564Sdim#include "Plugins/Process/Utility/RegisterContextPOSIX_mips64.h" 13327952Sdim#include "Plugins/Process/elf-core/RegisterUtilities.h" 14321369Sdim#include "lldb/Utility/DataBufferHeap.h" 15321369Sdim#include "lldb/Utility/DataExtractor.h" 16257752Semaste 17314564Sdimclass RegisterContextCorePOSIX_mips64 : public RegisterContextPOSIX_mips64 { 18257752Semastepublic: 19314564Sdim RegisterContextCorePOSIX_mips64( 20314564Sdim lldb_private::Thread &thread, 21314564Sdim lldb_private::RegisterInfoInterface *register_info, 22314564Sdim const lldb_private::DataExtractor &gpregset, 23327952Sdim llvm::ArrayRef<lldb_private::CoreNote> notes); 24257752Semaste 25314564Sdim ~RegisterContextCorePOSIX_mips64() override; 26257752Semaste 27314564Sdim bool ReadRegister(const lldb_private::RegisterInfo *reg_info, 28314564Sdim lldb_private::RegisterValue &value) override; 29257752Semaste 30314564Sdim bool WriteRegister(const lldb_private::RegisterInfo *reg_info, 31314564Sdim const lldb_private::RegisterValue &value) override; 32257752Semaste 33314564Sdim bool ReadAllRegisterValues(lldb::DataBufferSP &data_sp) override; 34257752Semaste 35314564Sdim bool WriteAllRegisterValues(const lldb::DataBufferSP &data_sp) override; 36257752Semaste 37314564Sdim bool HardwareSingleStep(bool enable) override; 38257752Semaste 39257752Semasteprotected: 40314564Sdim bool ReadGPR() override; 41257752Semaste 42314564Sdim bool ReadFPR() override; 43257752Semaste 44314564Sdim bool WriteGPR() override; 45257752Semaste 46314564Sdim bool WriteFPR() override; 47257752Semaste 48257752Semasteprivate: 49314564Sdim lldb::DataBufferSP m_gpr_buffer; 50321369Sdim lldb::DataBufferSP m_fpr_buffer; 51314564Sdim lldb_private::DataExtractor m_gpr; 52321369Sdim lldb_private::DataExtractor m_fpr; 53257752Semaste}; 54257752Semaste 55296417Sdim#endif // liblldb_RegisterContextCorePOSIX_mips64_h_ 56