9 #if defined(__x86_64__) || defined(_M_X64)
10 #ifndef liblldb_NativeRegisterContextWindows_x86_64_h_
11 #define liblldb_NativeRegisterContextWindows_x86_64_h_
20 class NativeThreadWindows;
22 class NativeRegisterContextWindows_x86_64
23 :
public NativeRegisterContextWindows {
25 NativeRegisterContextWindows_x86_64(
const ArchSpec &target_arch,
26 NativeThreadProtocol &native_thread);
28 uint32_t GetRegisterSetCount()
const override;
30 const RegisterSet *GetRegisterSet(
uint32_t set_index)
const override;
32 Status ReadRegister(
const RegisterInfo *reg_info,
33 RegisterValue ®_value)
override;
35 Status WriteRegister(
const RegisterInfo *reg_info,
36 const RegisterValue ®_value)
override;
38 Status ReadAllRegisterValues(lldb::WritableDataBufferSP &data_sp)
override;
40 Status WriteAllRegisterValues(
const lldb::DataBufferSP &data_sp)
override;
47 Status IsWatchpointVacant(
uint32_t wp_index,
bool &is_vacant)
override;
49 bool ClearHardwareWatchpoint(
uint32_t wp_index)
override;
51 Status ClearAllHardwareWatchpoints()
override;
58 uint32_t NumSupportedHardwareWatchpoints()
override;
62 Status GPRWrite(
const uint32_t reg,
const RegisterValue ®_value);
65 Status FPRWrite(
const uint32_t reg,
const RegisterValue ®_value);
68 Status DRWrite(
const uint32_t reg,
const RegisterValue ®_value);
74 bool IsGPR(
uint32_t reg_index)
const;
75 bool IsFPR(
uint32_t reg_index)
const;
81 #endif // liblldb_NativeRegisterContextWindows_x86_64_h_
82 #endif // defined(__x86_64__) || defined(_M_X64)