LLDB mainline
RegisterContextFreeBSDKernelCore_arm64.h
Go to the documentation of this file.
1//===----------------------------------------------------------------------===//
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_FREEBSDKERNEL_REGISTERCONTEXTFREEBSDKERNELCORE_ARM64_H
10#define LLDB_SOURCE_PLUGINS_PROCESS_FREEBSDKERNEL_REGISTERCONTEXTFREEBSDKERNELCORE_ARM64_H
11
14
15#include <optional>
16
19public:
22 std::unique_ptr<RegisterInfoPOSIX_arm64> register_info_up,
23 lldb::addr_t pcb_addr);
24
25 bool ReadRegister(const lldb_private::RegisterInfo *reg_info,
26 lldb_private::RegisterValue &value) override;
27
28 bool WriteRegister(const lldb_private::RegisterInfo *reg_info,
29 const lldb_private::RegisterValue &value) override;
30
31protected:
32 bool ReadGPR() override;
33
34 bool ReadFPR() override;
35
36 bool WriteGPR() override;
37
38 bool WriteFPR() override;
39
40private:
42
43 std::optional<int> GetOsreldate();
44};
45
46#endif // LLDB_SOURCE_PLUGINS_PROCESS_FREEBSDKERNEL_REGISTERCONTEXTFREEBSDKERNELCORE_ARM64_H
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
RegisterContextFreeBSDKernelCore_arm64(lldb_private::Thread &thread, std::unique_ptr< RegisterInfoPOSIX_arm64 > register_info_up, lldb::addr_t pcb_addr)
RegisterContextPOSIX_arm64(lldb_private::Thread &thread, std::unique_ptr< RegisterInfoPOSIX_arm64 > register_info)
uint64_t addr_t
Definition lldb-types.h:80
Every register is described in detail including its name, alternate name (optional),...