9#if defined(__x86_64__) || defined(_M_X64)
10#ifndef liblldb_NativeRegisterContextWindows_x86_64_h_
11#define liblldb_NativeRegisterContextWindows_x86_64_h_
20class NativeThreadWindows;
22class 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;
42 Status IsWatchpointHit(uint32_t wp_index,
bool &is_hit)
override;
44 Status GetWatchpointHitIndex(uint32_t &wp_index,
47 Status IsWatchpointVacant(uint32_t wp_index,
bool &is_vacant)
override;
49 bool ClearHardwareWatchpoint(uint32_t wp_index)
override;
51 Status ClearAllHardwareWatchpoints()
override;
53 uint32_t SetHardwareWatchpoint(
lldb::addr_t addr,
size_t size,
54 uint32_t watch_flags)
override;
56 lldb::addr_t GetWatchpointAddress(uint32_t wp_index)
override;
58 uint32_t NumSupportedHardwareWatchpoints()
override;
61 Status GPRRead(
const uint32_t reg, RegisterValue ®_value);
62 Status GPRWrite(
const uint32_t reg,
const RegisterValue ®_value);
64 Status FPRRead(
const uint32_t reg, RegisterValue ®_value);
65 Status FPRWrite(
const uint32_t reg,
const RegisterValue ®_value);
67 Status DRRead(
const uint32_t reg, RegisterValue ®_value);
68 Status DRWrite(
const uint32_t reg,
const RegisterValue ®_value);
72 size_t size, uint32_t flags);
74 bool IsGPR(uint32_t reg_index)
const;
75 bool IsFPR(uint32_t reg_index)
const;
76 bool IsDR(uint32_t reg_index)
const;
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