Home | History | Annotate | Download | only in MacOSX-Kernel
      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