9#if defined(__aarch64__) || defined(_M_ARM64)
10#ifndef liblldb_NativeRegisterContextWindows_arm64_h_
11#define liblldb_NativeRegisterContextWindows_arm64_h_
25class NativeRegisterContextWindows_arm64
29 NativeRegisterContextWindows_arm64(
const ArchSpec &target_arch,
30 NativeThreadProtocol &native_thread);
32 uint32_t GetRegisterSetCount()
const override;
34 const RegisterSet *GetRegisterSet(uint32_t set_index)
const override;
36 Status ReadRegister(
const RegisterInfo *reg_info,
37 RegisterValue ®_value)
override;
39 Status WriteRegister(
const RegisterInfo *reg_info,
40 const RegisterValue ®_value)
override;
46 void InvalidateAllRegisters()
override;
49 Status GPRRead(
const uint32_t reg, RegisterValue ®_value);
51 Status GPRWrite(
const uint32_t reg,
const RegisterValue ®_value);
53 Status FPRRead(
const uint32_t reg, RegisterValue ®_value);
55 Status FPRWrite(
const uint32_t reg,
const RegisterValue ®_value);
59 std::shared_ptr<DataBufferHeap> m_context_buffer;
61 bool IsGPR(uint32_t reg_index)
const;
63 bool IsFPR(uint32_t reg_index)
const;
69 Status CacheAllRegisterValues();
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