LLDB mainline
RegisterContextPOSIXCore_riscv32.h
Go to the documentation of this file.
1//===-- RegisterContextPOSIXCore_riscv32.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_RISCV32_H
10#define LLDB_SOURCE_PLUGINS_PROCESS_ELF_CORE_REGISTERCONTEXTPOSIXCORE_RISCV32_H
11
15#include "lldb/Target/Thread.h"
18
19#include <memory>
20
22public:
23 static std::unique_ptr<RegisterContextCorePOSIX_riscv32>
25 const lldb_private::DataExtractor &gpregset,
26 llvm::ArrayRef<lldb_private::CoreNote> notes);
27
29
30 bool ReadRegister(const lldb_private::RegisterInfo *reg_info,
31 lldb_private::RegisterValue &value) override;
32
33 bool WriteRegister(const lldb_private::RegisterInfo *reg_info,
34 const lldb_private::RegisterValue &value) override;
35
36protected:
39 std::unique_ptr<RegisterInfoPOSIX_riscv32> register_info,
40 const lldb_private::DataExtractor &gpregset,
41 llvm::ArrayRef<lldb_private::CoreNote> notes);
42
43 bool ReadGPR() override;
44
45 bool ReadFPR() override;
46
47 bool WriteGPR() override;
48
49 bool WriteFPR() override;
50
51private:
54};
55
56#endif // LLDB_SOURCE_PLUGINS_PROCESS_ELF_CORE_REGISTERCONTEXTPOSIXCORE_RISCV32_H
static std::unique_ptr< RegisterContextCorePOSIX_riscv32 > Create(lldb_private::Thread &thread, const lldb_private::ArchSpec &arch, const lldb_private::DataExtractor &gpregset, llvm::ArrayRef< lldb_private::CoreNote > notes)
bool WriteRegister(const lldb_private::RegisterInfo *reg_info, const lldb_private::RegisterValue &value) override
bool ReadRegister(const lldb_private::RegisterInfo *reg_info, lldb_private::RegisterValue &value) override
RegisterContextCorePOSIX_riscv32(lldb_private::Thread &thread, std::unique_ptr< RegisterInfoPOSIX_riscv32 > register_info, const lldb_private::DataExtractor &gpregset, llvm::ArrayRef< lldb_private::CoreNote > notes)
RegisterContextPOSIX_riscv32(lldb_private::Thread &thread, std::unique_ptr< RegisterInfoPOSIX_riscv32 > register_info)
An architecture specification class.
Definition ArchSpec.h:31
An data extractor class.
Every register is described in detail including its name, alternate name (optional),...