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