1 //===-- RegisterContextPOSIXCore_arm64.h ------------------------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 #ifndef liblldb_RegisterContextCorePOSIX_arm64_h_
11 #define liblldb_RegisterContextCorePOSIX_arm64_h_
15 // Other libraries and framework includes
17 #include "Plugins/Process/Utility/RegisterContextPOSIX_arm64.h"
18 #include "lldb/Core/DataBufferHeap.h"
19 #include "lldb/Core/DataExtractor.h"
21 class RegisterContextCorePOSIX_arm64 : public RegisterContextPOSIX_arm64 {
23 RegisterContextCorePOSIX_arm64(
24 lldb_private::Thread &thread,
25 lldb_private::RegisterInfoInterface *register_info,
26 const lldb_private::DataExtractor &gpregset,
27 const lldb_private::DataExtractor &fpregset);
29 ~RegisterContextCorePOSIX_arm64() override;
31 bool ReadRegister(const lldb_private::RegisterInfo *reg_info,
32 lldb_private::RegisterValue &value) override;
34 bool WriteRegister(const lldb_private::RegisterInfo *reg_info,
35 const lldb_private::RegisterValue &value) override;
37 bool ReadAllRegisterValues(lldb::DataBufferSP &data_sp) override;
39 bool WriteAllRegisterValues(const lldb::DataBufferSP &data_sp) override;
41 bool HardwareSingleStep(bool enable) override;
44 bool ReadGPR() override;
46 bool ReadFPR() override;
48 bool WriteGPR() override;
50 bool WriteFPR() override;
53 lldb::DataBufferSP m_gpr_buffer;
54 lldb_private::DataExtractor m_gpr;
57 #endif // liblldb_RegisterContextCorePOSIX_arm64_h_