1 //===-- RegisterContextKDP_arm64.h --------------------------------*- C++ 2 //-*-===// 3 // 4 // The LLVM Compiler Infrastructure 5 // 6 // This file is distributed under the University of Illinois Open Source 7 // License. See LICENSE.TXT for details. 8 // 9 //===----------------------------------------------------------------------===// 10 11 #ifndef liblldb_RegisterContextKDP_arm64_h_ 12 #define liblldb_RegisterContextKDP_arm64_h_ 13 14 // C Includes 15 16 // C++ Includes 17 // Other libraries and framework includes 18 // Project includes 19 #include "Plugins/Process/Utility/RegisterContextDarwin_arm64.h" 20 21 class ThreadKDP; 22 23 class RegisterContextKDP_arm64 : public RegisterContextDarwin_arm64 { 24 public: 25 RegisterContextKDP_arm64(ThreadKDP &thread, uint32_t concrete_frame_idx); 26 27 virtual ~RegisterContextKDP_arm64(); 28 29 protected: 30 virtual int DoReadGPR(lldb::tid_t tid, int flavor, GPR &gpr); 31 32 int DoReadFPU(lldb::tid_t tid, int flavor, FPU &fpu); 33 34 int DoReadEXC(lldb::tid_t tid, int flavor, EXC &exc); 35 36 int DoReadDBG(lldb::tid_t tid, int flavor, DBG &dbg); 37 38 int DoWriteGPR(lldb::tid_t tid, int flavor, const GPR &gpr); 39 40 int DoWriteFPU(lldb::tid_t tid, int flavor, const FPU &fpu); 41 42 int DoWriteEXC(lldb::tid_t tid, int flavor, const EXC &exc); 43 44 int DoWriteDBG(lldb::tid_t tid, int flavor, const DBG &dbg); 45 46 ThreadKDP &m_kdp_thread; 47 }; 48 49 #endif // liblldb_RegisterContextKDP_arm64_h_ 50