]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - source/Plugins/Process/MacOSX-Kernel/RegisterContextKDP_arm.h
Vendor import of lldb trunk r256945:
[FreeBSD/FreeBSD.git] / source / Plugins / Process / MacOSX-Kernel / RegisterContextKDP_arm.h
1 //===-- RegisterContextKDP_arm.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_RegisterContextKDP_arm_h_
11 #define liblldb_RegisterContextKDP_arm_h_
12
13 // C Includes
14
15 // C++ Includes
16 // Other libraries and framework includes
17 // Project includes
18 #include "Plugins/Process/Utility/RegisterContextDarwin_arm.h"
19
20 class ThreadKDP;
21
22 class RegisterContextKDP_arm : public RegisterContextDarwin_arm
23 {
24 public:
25
26     RegisterContextKDP_arm (ThreadKDP &thread, 
27                             uint32_t concrete_frame_idx);
28
29     virtual
30     ~RegisterContextKDP_arm();
31
32 protected:
33
34     virtual int
35     DoReadGPR (lldb::tid_t tid, int flavor, GPR &gpr);
36     
37     int
38     DoReadFPU (lldb::tid_t tid, int flavor, FPU &fpu);
39     
40     int
41     DoReadEXC (lldb::tid_t tid, int flavor, EXC &exc);
42     
43     int
44     DoReadDBG (lldb::tid_t tid, int flavor, DBG &dbg);
45     
46     int
47     DoWriteGPR (lldb::tid_t tid, int flavor, const GPR &gpr);
48     
49     int
50     DoWriteFPU (lldb::tid_t tid, int flavor, const FPU &fpu);
51     
52     int
53     DoWriteEXC (lldb::tid_t tid, int flavor, const EXC &exc);
54     
55     int
56     DoWriteDBG (lldb::tid_t tid, int flavor, const DBG &dbg);
57     
58     ThreadKDP &m_kdp_thread;
59 };
60
61 #endif  // liblldb_RegisterContextKDP_arm_h_