]> CyberLeo.Net >> Repos - FreeBSD/releng/10.0.git/blob - contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/RegisterContextCoreFreeBSD_x86_64.h
- Copy stable/10 (r259064) to releng/10.0 as part of the
[FreeBSD/releng/10.0.git] / contrib / llvm / tools / lldb / source / Plugins / Process / elf-core / RegisterContextCoreFreeBSD_x86_64.h
1 //===-- RegisterContextCoreFreeBSD_x86_64.h ----------------------*- 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 #ifndef liblldb_RegisterContextCoreFreeBSD_x86_64_H_
11 #define liblldb_RegisterContextCoreFreeBSD_x86_64_H_
12
13 #include "Plugins/Process/POSIX/RegisterContextFreeBSD_x86_64.h"
14
15 using namespace lldb_private;
16
17 class RegisterContextCoreFreeBSD_x86_64: public RegisterContextFreeBSD_x86_64
18 {
19 public:
20     RegisterContextCoreFreeBSD_x86_64 (Thread &thread, const DataExtractor &gpregset,
21                                        const DataExtractor &fpregset);
22
23     ~RegisterContextCoreFreeBSD_x86_64();
24
25     virtual bool
26     ReadRegister(const RegisterInfo *reg_info, RegisterValue &value);
27
28     bool
29     ReadAllRegisterValues(lldb::DataBufferSP &data_sp);
30
31     virtual bool
32     WriteRegister(const RegisterInfo *reg_info, const RegisterValue &value);
33
34     bool
35     WriteAllRegisterValues(const lldb::DataBufferSP &data_sp);
36
37     bool
38     HardwareSingleStep(bool enable);
39
40     bool
41     UpdateAfterBreakpoint();
42
43 private:
44     uint8_t *m_gpregset;
45 };
46
47 #endif // #ifndef liblldb_RegisterContextCoreFreeBSD_x86_64_H_