9#if defined(__aarch64__)
11#ifndef lldb_NativeRegisterContextFreeBSD_arm64_h
12#define lldb_NativeRegisterContextFreeBSD_arm64_h
17#include <machine/reg.h>
31class NativeRegisterContextFreeBSD_arm64
33 public NativeRegisterContextDBReg_arm64 {
35 NativeRegisterContextFreeBSD_arm64(
const ArchSpec &target_arch,
36 NativeThreadFreeBSD &native_thread);
38 uint32_t GetRegisterSetCount()
const override;
40 uint32_t GetUserRegisterCount()
const override;
42 const RegisterSet *GetRegisterSet(uint32_t set_index)
const override;
44 Status ReadRegister(
const RegisterInfo *reg_info,
45 RegisterValue ®_value)
override;
47 Status WriteRegister(
const RegisterInfo *reg_info,
48 const RegisterValue ®_value)
override;
55 CopyHardwareWatchpointsFrom(NativeRegisterContextFreeBSD &source)
override;
62 std::array<uint8_t,
sizeof(reg) +
sizeof(fpreg)> m_reg_data;
66 Status ReadRegisterSet(uint32_t set);
67 Status WriteRegisterSet(uint32_t set);
72 RegisterInfoPOSIX_arm64 &GetRegisterInfo()
const;
Manages communication with the inferior (debugee) process.
Status WriteHardwareDebugRegs(int hwbType, ::pid_t tid, uint32_t max_supported, const std::array< NativeRegisterContextDBReg::DREG, 16 > ®s)
Status ReadHardwareDebugInfo(::pid_t tid, uint32_t &max_hwp_supported, uint32_t &max_hbp_supported)
A class that represents a running process on the host machine.
std::shared_ptr< lldb_private::DataBuffer > DataBufferSP
std::shared_ptr< lldb_private::WritableDataBuffer > WritableDataBufferSP