1//===-- RegisterContextCoreFreeBSD_x86_64.cpp -------------------------*- C++ -*-===//
2//
3//                     The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9
10#include "lldb/Core/DataExtractor.h"
11#include "lldb/Core/RegisterValue.h"
12#include "lldb/Target/Thread.h"
13#include "RegisterContextCoreFreeBSD_x86_64.h"
14
15RegisterContextCoreFreeBSD_x86_64::RegisterContextCoreFreeBSD_x86_64(Thread &thread,
16                        const DataExtractor &gpregset, const DataExtractor &fpregset)
17    : RegisterContextFreeBSD_x86_64(thread, 0)
18{
19    size_t size, len;
20
21    size = GetGPRSize();
22    m_gpregset = new uint8_t[size];
23    len = gpregset.ExtractBytes(0, size, lldb::eByteOrderLittle, m_gpregset);
24    assert(len == size);
25}
26
27RegisterContextCoreFreeBSD_x86_64::~RegisterContextCoreFreeBSD_x86_64()
28{
29    delete [] m_gpregset;
30}
31
32bool
33RegisterContextCoreFreeBSD_x86_64::ReadRegister(const RegisterInfo *reg_info, RegisterValue &value)
34{
35    value = *(uint64_t *)(m_gpregset + reg_info->byte_offset);
36    return true;
37}
38
39bool
40RegisterContextCoreFreeBSD_x86_64::ReadAllRegisterValues(lldb::DataBufferSP &data_sp)
41{
42    return false;
43}
44
45bool
46RegisterContextCoreFreeBSD_x86_64::WriteRegister(const RegisterInfo *reg_info, const RegisterValue &value)
47{
48    return false;
49}
50
51bool
52RegisterContextCoreFreeBSD_x86_64::WriteAllRegisterValues(const lldb::DataBufferSP &data_sp)
53{
54    return false;
55}
56
57bool
58RegisterContextCoreFreeBSD_x86_64::UpdateAfterBreakpoint()
59{
60    return false;
61}
62
63bool
64RegisterContextCoreFreeBSD_x86_64::HardwareSingleStep(bool enable)
65{
66    return false;
67}
68
69