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