LLDB mainline
RegisterContextPOSIXCore_riscv64.h
Go to the documentation of this file.
1//===-- RegisterContextPOSIXCore_riscv64.h ----------------------*- C++ -*-===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8
9#ifndef LLDB_SOURCE_PLUGINS_PROCESS_ELF_CORE_REGISTERCONTEXTPOSIXCORE_RISCV64_H
10#define LLDB_SOURCE_PLUGINS_PROCESS_ELF_CORE_REGISTERCONTEXTPOSIXCORE_RISCV64_H
11
14
16#include "lldb/Target/Thread.h"
19
20#include <memory>
21
23public:
24 static std::unique_ptr<RegisterContextCorePOSIX_riscv64>
26 const lldb_private::DataExtractor &gpregset,
27 llvm::ArrayRef<lldb_private::CoreNote> notes);
28
30
31 bool ReadRegister(const lldb_private::RegisterInfo *reg_info,
32 lldb_private::RegisterValue &value) override;
33
34 bool WriteRegister(const lldb_private::RegisterInfo *reg_info,
35 const lldb_private::RegisterValue &value) override;
36
37protected:
40 std::unique_ptr<RegisterInfoPOSIX_riscv64> register_info,
41 const lldb_private::DataExtractor &gpregset,
42 llvm::ArrayRef<lldb_private::CoreNote> notes);
43
44 bool ReadGPR() override;
45
46 bool ReadFPR() override;
47
48 bool WriteGPR() override;
49
50 bool WriteFPR() override;
51
52private:
55};
56
57#endif // LLDB_SOURCE_PLUGINS_PROCESS_ELF_CORE_REGISTERCONTEXTPOSIXCORE_RISCV64_H
bool WriteRegister(const lldb_private::RegisterInfo *reg_info, const lldb_private::RegisterValue &value) override
static std::unique_ptr< RegisterContextCorePOSIX_riscv64 > Create(lldb_private::Thread &thread, const lldb_private::ArchSpec &arch, const lldb_private::DataExtractor &gpregset, llvm::ArrayRef< lldb_private::CoreNote > notes)
bool ReadRegister(const lldb_private::RegisterInfo *reg_info, lldb_private::RegisterValue &value) override
An architecture specification class.
Definition: ArchSpec.h:31
An data extractor class.
Definition: DataExtractor.h:48
Every register is described in detail including its name, alternate name (optional),...