1 //===-- RegisterContextCoreLinux_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_RegisterContextCoreLinux_x86_64_H_ 11 #define liblldb_RegisterContextCoreLinux_x86_64_H_ 12 13 #include "Plugins/Process/POSIX/RegisterContextLinux_x86_64.h" 14 15 using namespace lldb_private; 16 17 class RegisterContextCoreLinux_x86_64: public RegisterContextLinux_x86_64 18 { 19 public: 20 RegisterContextCoreLinux_x86_64 (Thread &thread, const DataExtractor &gpregset, 21 const DataExtractor &fpregset); 22 23 ~RegisterContextCoreLinux_x86_64(); 24 25 virtual bool 26 ReadRegister(const RegisterInfo *reg_info, RegisterValue &value); 27 28 bool 29 ReadAllRegisterValues(lldb::DataBufferSP &data_sp); 30 31 virtual bool 32 WriteRegister(const RegisterInfo *reg_info, const RegisterValue &value); 33 34 bool 35 WriteAllRegisterValues(const lldb::DataBufferSP &data_sp); 36 37 bool 38 HardwareSingleStep(bool enable); 39 40 bool 41 UpdateAfterBreakpoint(); 42 43 protected: 44 bool 45 ReadFPR() 46 { 47 assert(0); 48 } 49 50 private: 51 uint8_t *m_gpregset; 52 }; 53 54 #endif // #ifndef liblldb_RegisterContextCoreLinux_x86_64_H_ 55