15std::unique_ptr<RegisterContextCorePOSIX_riscv64>
18 llvm::ArrayRef<CoreNote> notes) {
26 return std::unique_ptr<RegisterContextCorePOSIX_riscv64>(
29 std::make_unique<RegisterInfoPOSIX_riscv64>(arch, opt_regsets),
34 Thread &thread, std::unique_ptr<RegisterInfoPOSIX_riscv64> register_info,
35 const DataExtractor &gpregset, llvm::ArrayRef<CoreNote> notes)
55 assert(
false &&
"Writing registers is not allowed for core dumps");
60 assert(
false &&
"Writing registers is not allowed for core dumps");
66 const uint8_t *src =
nullptr;
81 return error.Success();
static llvm::raw_ostream & error(Stream &strm)
RegisterContextCorePOSIX_riscv64(lldb_private::Thread &thread, std::unique_ptr< RegisterInfoPOSIX_riscv64 > register_info, const lldb_private::DataExtractor &gpregset, llvm::ArrayRef< lldb_private::CoreNote > notes)
lldb_private::DataExtractor m_gpr
bool WriteRegister(const lldb_private::RegisterInfo *reg_info, const lldb_private::RegisterValue &value) override
~RegisterContextCorePOSIX_riscv64() 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)
lldb_private::DataExtractor m_fpr
bool ReadRegister(const lldb_private::RegisterInfo *reg_info, lldb_private::RegisterValue &value) override
virtual size_t GetGPRSize()
std::unique_ptr< RegisterInfoPOSIX_riscv64 > m_register_info_up
An architecture specification class.
llvm::Triple & GetTriple()
Architecture triple accessor.
ValueType Set(ValueType mask)
Set one or more flags by logical OR'ing mask with the current flags.
uint32_t SetFromMemoryData(const RegisterInfo ®_info, const void *src, uint32_t src_len, lldb::ByteOrder src_byte_order, Status &error)
A class that represents a running process on the host machine.
DataExtractor getRegset(llvm::ArrayRef< CoreNote > Notes, const llvm::Triple &Triple, llvm::ArrayRef< RegsetDesc > RegsetDescs)
constexpr RegsetDesc FPR_Desc[]
@ eRegisterKindLLDB
lldb's internal register numbers
Every register is described in detail including its name, alternate name (optional),...
uint32_t byte_offset
The byte offset in the register context data where this register's value is found.
uint32_t byte_size
Size in bytes of the register.
uint32_t kinds[lldb::kNumRegisterKinds]
Holds all of the various register numbers for all register kinds.