• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 //===-- RegisterContextKDP_i386.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_i386_h_
11 #define liblldb_RegisterContextKDP_i386_h_
12 
13 // C Includes
14 // C++ Includes
15 // Other libraries and framework includes
16 // Project includes
17 #include "Plugins/Process/Utility/RegisterContextDarwin_i386.h"
18 
19 class ThreadKDP;
20 
21 class RegisterContextKDP_i386 : public RegisterContextDarwin_i386
22 {
23 public:
24     RegisterContextKDP_i386 (ThreadKDP &thread,
25                              uint32_t concrete_frame_idx);
26 
27     virtual
28     ~RegisterContextKDP_i386();
29 
30 protected:
31 
32     virtual int
33     DoReadGPR (lldb::tid_t tid, int flavor, GPR &gpr);
34 
35     int
36     DoReadFPU (lldb::tid_t tid, int flavor, FPU &fpu);
37 
38     int
39     DoReadEXC (lldb::tid_t tid, int flavor, EXC &exc);
40 
41     int
42     DoWriteGPR (lldb::tid_t tid, int flavor, const GPR &gpr);
43 
44     int
45     DoWriteFPU (lldb::tid_t tid, int flavor, const FPU &fpu);
46 
47     int
48     DoWriteEXC (lldb::tid_t tid, int flavor, const EXC &exc);
49 
50     ThreadKDP &m_kdp_thread;
51 };
52 
53 #endif  // liblldb_RegisterContextKDP_i386_h_
54