9 #if defined(__aarch64__) || defined(_M_ARM64)
10 #ifndef liblldb_NativeRegisterContextWindows_arm64_h_
11 #define liblldb_NativeRegisterContextWindows_arm64_h_
19 class NativeThreadWindows;
21 class NativeRegisterContextWindows_arm64 :
public NativeRegisterContextWindows {
23 NativeRegisterContextWindows_arm64(
const ArchSpec &target_arch,
24 NativeThreadProtocol &native_thread);
26 uint32_t GetRegisterSetCount()
const override;
28 const RegisterSet *GetRegisterSet(
uint32_t set_index)
const override;
30 Status ReadRegister(
const RegisterInfo *reg_info,
31 RegisterValue ®_value)
override;
33 Status WriteRegister(
const RegisterInfo *reg_info,
34 const RegisterValue ®_value)
override;
36 Status ReadAllRegisterValues(lldb::WritableDataBufferSP &data_sp)
override;
38 Status WriteAllRegisterValues(
const lldb::DataBufferSP &data_sp)
override;
45 Status IsWatchpointVacant(
uint32_t wp_index,
bool &is_vacant)
override;
47 bool ClearHardwareWatchpoint(
uint32_t wp_index)
override;
49 Status ClearAllHardwareWatchpoints()
override;
60 uint32_t NumSupportedHardwareWatchpoints()
override;
65 Status GPRWrite(
const uint32_t reg,
const RegisterValue ®_value);
69 Status FPRWrite(
const uint32_t reg,
const RegisterValue ®_value);
72 bool IsGPR(
uint32_t reg_index)
const;
74 bool IsFPR(
uint32_t reg_index)
const;
79 #endif // liblldb_NativeRegisterContextWindows_arm64_h_
80 #endif // defined(__aarch64__) || defined(_M_ARM64)