1 //===-- RegisterContextCoreLinux_x86_64.cpp -------------------------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 #include "lldb/Core/DataExtractor.h"
11 #include "lldb/Core/RegisterValue.h"
12 #include "lldb/Target/Thread.h"
13 #include "RegisterContextCoreLinux_x86_64.h"
15 RegisterContextCoreLinux_x86_64::RegisterContextCoreLinux_x86_64(Thread &thread,
16 const DataExtractor &gpregset,
17 const DataExtractor &fpregset)
18 : RegisterContextLinux_x86_64(thread, 0)
23 m_gpregset = new uint8_t[size];
24 len = gpregset.ExtractBytes(0, size, lldb::eByteOrderLittle, m_gpregset);
28 RegisterContextCoreLinux_x86_64::~RegisterContextCoreLinux_x86_64()
34 RegisterContextCoreLinux_x86_64::ReadRegister(const RegisterInfo *reg_info, RegisterValue &value)
36 value = *(uint64_t *)(m_gpregset + reg_info->byte_offset);
41 RegisterContextCoreLinux_x86_64::ReadAllRegisterValues(lldb::DataBufferSP &data_sp)
47 RegisterContextCoreLinux_x86_64::WriteRegister(const RegisterInfo *reg_info, const RegisterValue &value)
53 RegisterContextCoreLinux_x86_64::WriteAllRegisterValues(const lldb::DataBufferSP &data_sp)
59 RegisterContextCoreLinux_x86_64::UpdateAfterBreakpoint()
65 RegisterContextCoreLinux_x86_64::HardwareSingleStep(bool enable)